From 844e780accd855c51c6d3cc1a786927eff586b33 Mon Sep 17 00:00:00 2001 From: Rick Ley Date: Mon, 4 Oct 2021 13:35:38 -0700 Subject: [PATCH] Blob encryption scope sas api view (#24526) * ADT ownership transitioning (#24404) * Remove SchemaRegistryClient caching (#24380) * Remove builder caching references. * Remove caching from SchemaRegistryAsyncClient. Make methods public for Response. * Remove cached tests. * Adding service annotation. * [Amqp-core, EH]: Prepending namespace|entitypath consistenty in log, first untrack processor subscriber then notify and adding retry to EventHubConsumer[Receiver]Client (#24417) * Added encryption scope blob sas * Hide HttpHeaders.toMultiMap API (#24428) * . (#24440) * mgmt, bug fix, container group without ports (#24418) * Update TRC in Azure Core (#24436) * Sync eng/common directory with azure-sdk-tools for PR 2046 (#24431) * Pass package name from calling pipeline to uniquely identify pull request review * Update log summary * Update eng/common/scripts/Detect-Api-Changes.ps1 Co-authored-by: Wes Haggard Co-authored-by: praveenkuttappan Co-authored-by: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Co-authored-by: Wes Haggard * Enable API change detection in PR pipeline (#24234) * Enable API change detection in PR pipeline * Communication: Add TokenCredentialAddHostHeaderPolicy for TokenCredential Requests (#24442) * Communication: Add TokenCredentialAdditionalHeaderPolicy for CallingServerClientBuilder * Add TokenCredentialAddHostHeaderPolicyTests * Fixing comment * Use URL class to get hostname * Fix style errors Co-authored-by: Melissa Neubert * Add Compliance stage with policheck (#24276) * Add Compliance stage with policheck * Add vmImage pool * Fix issues flagged by PoliCheck * Move credscan into the compliance stage * update readme for storage libraries to include BOM information. (#22858) update readme for storage libraries * Enable dependency validation of a single library (#24241) * Enable validation of a library via it's POM file. * Incorporate feedback and remove unused code. * PR feedback * Move Form Recognizer beta to public (#24453) * Increment version for appconfiguration releases (#24450) * Rename certificates-refresh-interval to certificates-refresh-interval--in-ms in keyvault jca (#24339) * Prepare to release azure-spring-bom and azure-spring-cloud-dependencies. (#24425) * mgmt, support validateMoveResources (#24465) * Updated `KeyVaultCredentialPolicy` to extend `BearerTokenAuthenticationPolicy` in Key Vault clients. (#24199) * Replaced all uses of KeyVaultCredentialPolicy with BearerTokenAuthenticationPolicy in Key Vault clients. Removed the KeyVaultCredentialPolicy and ScopeTokeCache classes from all Track 2 Key Vault libraries. * We now pass the appropriate scope to BearerTokenAuthenticationPolicy creating a new instance in client builders, tests and samples. * Added tests and recordings for KEK tests on MHSM. Fixed and cleaned up tests. * Removed unused imports. * Renamed MHSM_SCOPE to MANAGED_HSM_SCOPE in all client builders. * Reintroduced KeyVaultCredentialPolicy and modified it to extend from BearerTokenAuthenticationPolicy while extracting the scope provided in bearer challenges returned by the Key Vault service. * Fixed CvheckStyle errors. * Made changes to KeyVaultCredentialPolicy so we don't set the body of a request as null, but an empty String instead. * Removed scope constants from Key vault client builders. * Attempted to fix flaky live tests. * Removed verify test for HSM as the FromSource test already verifies the build's code coverage and running in parallel against the same HSM can cause problems for some tests. * Reverted KeyVaultCredentialPolicy in all libraries to set the request body to null instead of an empty string when sending the first unauthenticated request to get a bearer challenge. Also stored the value of the "Content-Length" header in the pipeline context for use in a subsequent request. * Fixed KV Administration client live tests that failed due to the authentication policy changes. Also fixed some flaky live tests. * Fixed CheckStyle issues. * Fixed another CheckStyle issue. * Fixed issue that caused an NPE in KeyVaultCredentialPolicy if the content of the request being originally sent were null from the beginning. * Updated KeyVaultCredentialPolicy in all other libraries. * Made an attempt at fixing the backup async live tests. * Added sleep timer when running against service for restore operations. * Applied PR feedback. * [Storage] Try GMavenPlus to unblock Java 17 adoption. (#24471) * lets try. * fix java8 * fix java8 again:/ * track 1 * Update Form recognizer readme (#24476) * [Storage] Bump Groovy version to 3 that works with Java 17. (#24477) * bump groovy version * Revert "bump groovy version" This reverts commit a80c805523eb1469a25129e8e5852d9961875bae. * use different spocks depending on java version. * rename. * Use New Javadoc Codesnippet Tooling to Support Java 17 (#24475) Use New Javadoc Snippet Tooling to Support Java 17 * Delete unused tests pipeline for track 1 blob package (#24488) * [Storage] Fix track 1 tests. (#24490) * Fix track 1 tests. * revert that. * Use Different Dummy Javadoc Option (#24491) * Update Jackson, Netty, and Reactor Versions (#24312) * Adding additional logging to ReactorDispatcher and ReactorExecutor. Adding closing logic (#24457) * Closing ReactorExecutor if it has never been run. * Adding documentation to ReactorDispatcher. * Updating ReactorExecutor to schedule close work when reactor has not started or scheduler is closed. * Adding tests. * In method invocations, adding catch for RejectedExecutionException in the case that the scheduler is disposed. * Adding assertion for ReactorExecutorTest that an onError is also called. * Adding documentatioln to reactor connection and timeout to closing execturo. * Splitting try/catch conditions. * Add documentation to RequestResponseChannel. * Using testPublisher for AmqpChannelProcessorTest. Using Flux.never(). * Adding Andy to the IoT CODEOWNERS (#24438) Adding Andy to the IoT CODEOWNERS * [Form Recognizer] Update to latest swagger (#24494) * Update docker-start-proxy.ps1 (#24495) Update to the latest version of the container Co-authored-by: Sean Kane <68240067+seankane-msft@users.noreply.github.com> * Added support for Key Rotation. (#24452) * Added support for Key Rotation. * Added tests and updated recordings where necessary. * Added code snippets for Key Rotation. Updated client documentation and existing code snippets. * Applied PR feedback. * Removed unused import. * Updated releaseKey test for MHSM. * Fixed tests after merge from main. * Renamed Mixed Audio models ( Addressed comments in apiview ) (#24481) * Suggestions after apiview review * Changes for the comments of API Review * tests added back * Added StartRecordingOptions class * Annotation added for new class * Setters return type changed * Renaming enum names ( feedback on APIView review ) Co-authored-by: Ninika Sharma * Prepare Azure Core Libraries for October 2021 Release (#24498) Prepare Azure Core Libraries for October 2021 Release * [EventGrid] Regenerate code using the latest rest commit sha (#24482) * Add Storage Live Test Run to Core Live Test Run (#24499) Add Storage Live Test Run to Core Live Test Run * [Storage] Run CI and live tests on Java 17 (#24492) * does this work? * try this. * Revert "try this." This reverts commit f157e60d1f69e7c1933bd3cc0cbea9e7658e0bd7. * does this help ? * hmm? * hungry? * use java 17 in ci. * fix at least nio. * move it. * fixes. * disable these tests on java 17. CGLib doesn't work * fix that. * add support for setting throughput on database creation (#24456) * add support for setting throughput on database creation * added section to readme * removed locale from links * fix checkstyle issues * do not overwrite cosmosTemplate * Increment version for core releases (#24504) Increment package version after release of Core libraries * fix(*): use library RedirectPolicy now that it is available (#24502) * Fix azure-core-http-jdk-httpclient Tests (#24511) Fix azure-core-http-jdk-httpclient Tests * Add Form recognizer migration guide (#24472) * Fixed some test build failures Co-authored-by: David R. Williamson Co-authored-by: Connie Yau Co-authored-by: Anu Thomas Chandy Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Co-authored-by: Soyoung Eom Co-authored-by: Weidong Xu Co-authored-by: Vinay Gera Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: praveenkuttappan Co-authored-by: praveenkuttappan <55455725+praveenkuttappan@users.noreply.github.com> Co-authored-by: Wes Haggard Co-authored-by: Melissa Neubert Co-authored-by: Melissa Neubert Co-authored-by: Chidozie Ononiwu (His Righteousness) <31145988+chidozieononiwu@users.noreply.github.com> Co-authored-by: Pallavi Taneja Co-authored-by: Sameeksha Vaity Co-authored-by: liuzhicheng <70368631+zhichengliu12581@users.noreply.github.com> Co-authored-by: Rujun Chen Co-authored-by: vcolin7 Co-authored-by: Kamil Sobol <61715331+kasobol-msft@users.noreply.github.com> Co-authored-by: jamdavi <73593426+jamdavi@users.noreply.github.com> Co-authored-by: Sean Kane <68240067+seankane-msft@users.noreply.github.com> Co-authored-by: ninikasharma <67986119+ninikasharma@users.noreply.github.com> Co-authored-by: Ninika Sharma Co-authored-by: Shawn Fang <45607042+mssfang@users.noreply.github.com> Co-authored-by: Blackbaud-MikeLueders Co-authored-by: Christian Whitehead (MSFT) <35080559+chrwhit@users.noreply.github.com> --- .github/CODEOWNERS | 4 +- common/perf-test-core/pom.xml | 8 +- common/smoke-tests/pom.xml | 8 +- eng/bomgenerator/generateAzureSDKBOM.cmd | 5 - eng/bomgenerator/generateAzureSDKBOM.ps1 | 28 + eng/bomgenerator/pom.xml | 11 +- eng/bomgenerator/readme.md | 15 +- .../tools/bomgenerator/BomGenerator.java | 104 +- .../com/azure/tools/bomgenerator/Main.java | 77 +- .../com/azure/tools/bomgenerator/Utils.java | 45 +- .../tools/bomgenerator/models/BOMReport.java | 2 - .../models/ConflictingDependency.java | 4 - .../checkstyle/checkstyle-suppressions.xml | 14 - .../src/main/resources/revapi/revapi.json | 26 +- .../resources/spotbugs/spotbugs-exclude.xml | 78 +- eng/common/scripts/Detect-Api-Changes.ps1 | 15 +- eng/common/testproxy/docker-start-proxy.ps1 | 4 +- .../policheck/PolicheckExclusions.xml | 12 + eng/jacoco-test-coverage/pom.xml | 10 +- eng/pipelines/aggregate-reports.yml | 376 +- .../scripts/generate_overview_from_readme.py | 24 +- eng/pipelines/templates/jobs/ci.yml | 4 + eng/spotbugs-aggregate-report/pom.xml | 2 +- eng/versioning/external_dependencies.txt | 59 +- eng/versioning/version_client.txt | 33 +- pom.xml | 4 +- .../azure-resourcemanager-advisor/pom.xml | 4 +- .../azure-verticals-agrifood-farming/pom.xml | 10 +- .../azure-ai-anomalydetector/pom.xml | 6 +- .../pom.xml | 4 +- .../azure-data-appconfiguration/pom.xml | 10 +- .../pom.xml | 4 +- .../CHANGELOG.md | 10 + .../pom.xml | 4 +- .../CHANGELOG.md | 10 + .../pom.xml | 14 +- .../CHANGELOG.md | 10 + .../pom.xml | 6 +- .../CHANGELOG.md | 10 + .../pom.xml | 6 +- .../CHANGELOG.md | 10 + .../pom.xml | 6 +- .../pom.xml | 2 +- .../pom.xml | 12 +- .../pom.xml | 12 +- .../pom.xml | 4 +- .../azure-resourcemanager-attestation/pom.xml | 4 +- .../azure-security-attestation/pom.xml | 6 +- .../pom.xml | 2 +- .../azure-resourcemanager-automation/pom.xml | 4 +- sdk/avs/azure-resourcemanager-avs/pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-azurestack/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- sdk/batch/azure-resourcemanager-batch/pom.xml | 6 +- sdk/batch/microsoft-azure-batch/pom.xml | 4 +- .../azure-resourcemanager-batchai/pom.xml | 4 +- .../azure-resourcemanager-billing/pom.xml | 4 +- sdk/boms/azure-spring-boot-bom/pom.xml | 72 +- .../azure-spring-cloud-dependencies/pom.xml | 78 +- .../azure-resourcemanager-botservice/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../ms-azure-cs-autosuggest/pom.xml | 2 +- .../ms-azure-cs-computervision/pom.xml | 2 +- .../ms-azure-cs-contentmoderator/pom.xml | 2 +- .../ms-azure-cs-customimagesearch/pom.xml | 2 +- .../ms-azure-cs-customsearch/pom.xml | 2 +- .../pom.xml | 2 +- .../ms-azure-cs-customvision-training/pom.xml | 2 +- .../ms-azure-cs-entitysearch/pom.xml | 2 +- .../ms-azure-cs-faceapi/pom.xml | 2 +- .../ms-azure-cs-imagesearch/pom.xml | 2 +- .../ms-azure-cs-luis-authoring/pom.xml | 2 +- .../ms-azure-cs-luis-runtime/pom.xml | 2 +- .../ms-azure-cs-newssearch/pom.xml | 2 +- .../ms-azure-cs-qnamaker/pom.xml | 2 +- .../ms-azure-cs-spellcheck/pom.xml | 2 +- .../ms-azure-cs-textanalytics/pom.xml | 2 +- .../ms-azure-cs-videosearch/pom.xml | 2 +- .../ms-azure-cs-visualsearch/pom.xml | 2 +- .../ms-azure-cs-websearch/pom.xml | 2 +- .../azure-resourcemanager-commerce/pom.xml | 4 +- .../azure-communication-callingserver/pom.xml | 8 +- .../CallingServerClientBuilder.java | 33 +- .../callingserver/ServerCallAsync.java | 6 +- .../TokenCredentialAddHostHeaderPolicy.java | 38 + .../implementation/RedirectPolicy.java | 70 - .../models/RecordingChannel.java | 34 + .../models/RecordingChannelType.java | 34 - .../models/RecordingContent.java | 34 + .../models/RecordingContentType.java | 34 - .../models/RecordingFormat.java | 37 + .../models/RecordingFormatType.java | 37 - .../models/StartCallRecordingRequest.java | 25 +- .../models/RecordingChannel.java | 34 + .../models/RecordingChannelType.java | 34 - .../models/RecordingContent.java | 34 + .../models/RecordingContentType.java | 34 - .../callingserver/models/RecordingFormat.java | 37 + .../models/RecordingFormatType.java | 37 - .../models/StartRecordingOptions.java | 54 +- .../callingserver/ServerCallUnitTests.java | 18 +- ...kenCredentialAddHostHeaderPolicyTests.java | 110 + .../implementation/RedirectPolicyTests.java | 30 +- .../swagger/README.md | 29 +- .../azure-communication-chat/pom.xml | 6 +- .../azure-communication-common/pom.xml | 6 +- .../azure-communication-identity/pom.xml | 8 +- .../pom.xml | 8 +- .../azure-communication-phonenumbers/pom.xml | 8 +- .../azure-communication-sms/pom.xml | 8 +- .../pom.xml | 4 +- .../azure-security-confidentialledger/pom.xml | 10 +- .../azure-resourcemanager-confluent/pom.xml | 6 +- .../azure-resourcemanager-consumption/pom.xml | 4 +- .../pom.xml | 10 +- sdk/core/azure-core-amqp-experimental/pom.xml | 5 +- sdk/core/azure-core-amqp/pom.xml | 7 +- .../amqp/exception/AmqpErrorCondition.java | 3 + .../core/amqp/exception/AmqpErrorContext.java | 7 + .../core/amqp/exception/AmqpException.java | 11 + .../core/amqp/exception/AmqpResponseCode.java | 141 + .../core/amqp/exception/LinkErrorContext.java | 7 + .../amqp/exception/SessionErrorContext.java | 4 + .../implementation/AmqpChannelProcessor.java | 38 +- .../implementation/ReactorConnection.java | 26 +- .../implementation/ReactorDispatcher.java | 29 +- .../amqp/implementation/ReactorExecutor.java | 28 +- .../amqp/implementation/ReactorReceiver.java | 17 +- .../amqp/implementation/ReactorSender.java | 16 +- .../amqp/implementation/ReactorSession.java | 12 +- .../RequestResponseChannel.java | 6 +- .../handler/SessionHandler.java | 5 +- .../azure/core/amqp/models/AmqpAddress.java | 9 +- .../core/amqp/models/AmqpMessageBody.java | 144 +- .../azure/core/amqp/models/AmqpMessageId.java | 9 +- .../AmqpChannelProcessorTest.java | 6 +- .../implementation/ReactorExecutorTest.java | 383 ++ .../amqp/implementation/RetryUtilTest.java | 7 +- sdk/core/azure-core-experimental/CHANGELOG.md | 16 +- sdk/core/azure-core-experimental/README.md | 2 +- sdk/core/azure-core-experimental/pom.xml | 9 +- .../TokenRequestContextExperimental.java | 78 - .../experimental/credential/package-info.java | 7 - .../experimental/http/DynamicRequest.java | 58 +- .../experimental/http/DynamicResponse.java | 19 +- .../src/main/java/module-info.java | 1 - .../azure-core-http-jdk-httpclient/pom.xml | 20 +- .../jdk/httpclient/JdkAsyncHttpClient.java | 13 +- .../httpclient/JdkAsyncHttpClientBuilder.java | 20 +- .../http/jdk/httpclient/JdkHttpResponse.java | 6 +- .../JdkAsyncHttpClientBuilderTests.java | 11 +- sdk/core/azure-core-http-netty/CHANGELOG.md | 14 + sdk/core/azure-core-http-netty/README.md | 2 +- sdk/core/azure-core-http-netty/pom.xml | 47 +- .../netty/NettyAsyncHttpClientBuilder.java | 62 +- .../NettyToAzureCoreHttpHeadersWrapper.java | 3 +- .../src/main/java/module-info.java | 1 - .../implementation/TimeoutTestHelpers.java | 2 + sdk/core/azure-core-http-okhttp/CHANGELOG.md | 8 + sdk/core/azure-core-http-okhttp/README.md | 2 +- sdk/core/azure-core-http-okhttp/pom.xml | 9 +- sdk/core/azure-core-jackson-tests/pom.xml | 41 +- sdk/core/azure-core-management/CHANGELOG.md | 8 + sdk/core/azure-core-management/README.md | 2 +- sdk/core/azure-core-management/pom.xml | 7 +- .../CHANGELOG.md | 10 +- .../README.md | 2 +- .../azure-core-serializer-avro-apache/pom.xml | 11 +- .../pom.xml | 10 +- .../CHANGELOG.md | 9 + .../azure-core-serializer-json-gson/README.md | 2 +- .../azure-core-serializer-json-gson/pom.xml | 12 +- .../CHANGELOG.md | 9 + .../README.md | 2 +- .../pom.xml | 7 +- .../JacksonMemberNameConverterTests.java | 1 + sdk/core/azure-core-test/CHANGELOG.md | 8 + sdk/core/azure-core-test/README.md | 2 +- sdk/core/azure-core-test/pom.xml | 9 +- .../java/com/azure/core/test/TestBase.java | 23 + .../CHANGELOG.md | 10 +- .../README.md | 2 +- .../azure-core-tracing-opentelemetry/pom.xml | 7 +- sdk/core/azure-core/CHANGELOG.md | 25 +- sdk/core/azure-core/README.md | 2 +- sdk/core/azure-core/pom.xml | 35 +- .../com/azure/core/annotation/ReturnType.java | 11 + .../annotation/ServiceClientProtocol.java | 9 +- .../credential/AzureNamedKeyCredential.java | 7 +- .../core/credential/TokenRequestContext.java | 21 + .../exception/UnexpectedLengthException.java | 11 + .../java/com/azure/core/http/HttpHeaders.java | 2 +- .../azure/core/http/HttpPipelineBuilder.java | 15 +- .../com/azure/core/http/HttpResponse.java | 5 + .../core/http/policy/RequestIdPolicy.java | 6 +- .../azure/core/http/policy/RetryStrategy.java | 3 + .../com/azure/core/http/rest/PagedFlux.java | 127 +- .../azure/core/http/rest/PagedFluxBase.java | 114 +- .../azure/core/http/rest/PagedIterable.java | 34 +- .../core/http/rest/PagedIterableBase.java | 36 +- .../azure/core/http/rest/RequestOptions.java | 63 +- .../com/azure/core/http/rest/RestProxy.java | 10 +- .../com/azure/core/implementation/Option.java | 32 +- .../com/azure/core/models/CloudEvent.java | 102 +- .../azure/core/models/JsonPatchDocument.java | 212 +- .../com/azure/core/util/AsyncCloseable.java | 18 +- .../java/com/azure/core/util/BinaryData.java | 679 ++- .../com/azure/core/util/ClientOptions.java | 14 +- .../com/azure/core/util/Configuration.java | 2 +- .../java/com/azure/core/util/Context.java | 88 +- .../java/com/azure/core/util/CoreUtils.java | 2 + .../java/com/azure/core/util/FluxUtil.java | 16 +- .../com/azure/core/util/IterableStream.java | 39 +- .../com/azure/core/util/UserAgentUtil.java | 4 + .../azure/core/util/logging/ClientLogger.java | 74 +- .../util/paging/ContinuablePagedFluxCore.java | 97 +- .../azure/core/util/polling/PollResponse.java | 40 +- .../azure/core/util/polling/PollerFlux.java | 133 +- .../core/util/serializer/TypeReference.java | 17 +- .../com/azure/core/util/tracing/Tracer.java | 136 +- sdk/core/pom.xml | 8 +- sdk/core/tests.yml | 4 + sdk/cosmos/azure-cosmos-encryption/pom.xml | 2 +- .../azure-cosmos-spark_3-1_2-12/CHANGELOG.md | 2 +- .../azure-cosmos-spark_3-1_2-12/pom.xml | 6 +- sdk/cosmos/azure-cosmos/pom.xml | 26 +- .../RntbdClientChannelHealthChecker.java | 8 +- .../DedicatedGatewayRequestOptions.java | 4 +- .../src/main/java/module-info.java | 1 - .../data/cosmos/core/CosmosTemplateIT.java | 50 +- .../cosmos/core/ReactiveCosmosTemplateIT.java | 49 +- sdk/cosmos/azure-spring-data-cosmos/README.md | 18 + sdk/cosmos/azure-spring-data-cosmos/pom.xml | 16 +- .../data/cosmos/config/CosmosConfig.java | 35 +- .../config/DatabaseThroughputConfig.java | 34 + .../data/cosmos/core/CosmosTemplate.java | 20 +- .../cosmos/core/ReactiveCosmosTemplate.java | 20 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-databox/pom.xml | 4 +- .../azure-resourcemanager-databoxedge/pom.xml | 4 +- .../azure-resourcemanager-databricks/pom.xml | 4 +- .../azure-resourcemanager-datadog/pom.xml | 4 +- .../azure-resourcemanager-datafactory/pom.xml | 6 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 6 +- .../azure-iot-deviceupdate/pom.xml | 6 +- .../azure-resourcemanager-devspaces/pom.xml | 4 +- .../azure-resourcemanager-devtestlabs/pom.xml | 4 +- .../azure-digitaltwins-core/pom.xml | 14 +- .../pom.xml | 6 +- sdk/e2e/pom.xml | 4 +- .../azure-resourcemanager-elastic/pom.xml | 4 +- .../azure-messaging-eventgrid/CHANGELOG.md | 15 +- .../azure-messaging-eventgrid/pom.xml | 10 +- .../messaging/eventgrid/SystemEventNames.java | 107 +- .../SystemEventMappingNames.java | 95 +- .../AcsUserDisconnectedEventData.java | 39 + .../ApiManagementApiCreatedEventData.java | 44 + .../ApiManagementApiDeletedEventData.java | 44 + ...iManagementApiReleaseCreatedEventData.java | 44 + ...iManagementApiReleaseDeletedEventData.java | 44 + ...iManagementApiReleaseUpdatedEventData.java | 44 + .../ApiManagementApiUpdatedEventData.java | 44 + .../ApiManagementProductCreatedEventData.java | 44 + .../ApiManagementProductDeletedEventData.java | 44 + .../ApiManagementProductUpdatedEventData.java | 44 + ...anagementSubscriptionCreatedEventData.java | 44 + ...anagementSubscriptionDeletedEventData.java | 44 + ...anagementSubscriptionUpdatedEventData.java | 44 + .../ApiManagementUserCreatedEventData.java | 44 + .../ApiManagementUserDeletedEventData.java | 44 + .../ApiManagementUserUpdatedEventData.java | 44 + ...EventChannelArchiveHeartbeatEventData.java | 45 + ...ncomingVideoStreamsOutOfSyncEventData.java | 2 +- ...ediaLiveEventIngestHeartbeatEventData.java | 62 +- .../swagger/README.md | 37 +- .../azure-resourcemanager-eventgrid/pom.xml | 6 +- .../microsoft-azure-eventgrid/pom.xml | 2 +- .../CHANGELOG.md | 2 +- .../pom.xml | 2 +- .../pom.xml | 4 +- .../azure-messaging-eventhubs/pom.xml | 6 +- .../EventHubConsumerAsyncClient.java | 33 +- .../microsoft-azure-eventhubs-eph/pom.xml | 2 +- .../pom.xml | 4 +- .../azure-ai-formrecognizer-perf/pom.xml | 2 +- .../com/azure/ai/formrecognizer/perf/App.java | 4 +- ...st.java => DocumentModelAnalysisTest.java} | 31 +- .../formrecognizer/perf/core/ServiceTest.java | 48 +- .../azure-ai-formrecognizer/CHANGELOG.md | 15 +- .../azure-ai-formrecognizer/README.md | 616 +-- .../migration-guide.md | 591 +++ .../azure-ai-formrecognizer/pom.xml | 12 +- .../DocumentAnalysisAsyncClient.java | 327 ++ .../DocumentAnalysisClient.java | 160 + ...ava => DocumentAnalysisClientBuilder.java} | 145 +- ...va => DocumentAnalysisServiceVersion.java} | 13 +- .../FormRecognizerAsyncClient.java | 1287 ----- .../formrecognizer/FormRecognizerClient.java | 695 --- .../azure/ai/formrecognizer/Transforms.java | 630 --- ...ocumentModelAdministrationAsyncClient.java | 800 ++++ .../DocumentModelAdministrationClient.java | 467 ++ ...mentModelAdministrationClientBuilder.java} | 141 +- .../models/AccountProperties.java | 64 + .../models/BuildModelOptions.java | 61 + .../models/CopyAuthorization.java | 193 + .../models/CopyAuthorizationOptions.java | 34 + .../models/CreateComposedModelOptions.java | 35 + .../administration/models/DocTypeInfo.java | 101 + .../models/DocumentFieldSchema.java | 163 + .../administration/models/DocumentModel.java | 109 + .../models/DocumentModelInfo.java | 104 + .../models/FormRecognizerError.java | 162 + .../administration/models/InnerError.java | 102 + .../administration/models/ModelOperation.java | 220 + .../models/ModelOperationInfo.java | 218 + .../models/ModelOperationKind.java | 35 + .../models/ModelOperationStatus.java | 50 + .../administration/models/package-info.java | 8 + .../administration/package-info.java | 10 + .../implementation/CustomFormModelHelper.java | 50 - .../CustomFormModelInfoHelper.java | 43 - .../CustomFormModelPropertiesHelper.java | 35 - .../CustomFormSubmodelHelper.java | 35 - .../implementation/FormLineHelper.java | 36 - .../implementation/FormPageHelper.java | 38 - .../FormRecognizerClientImpl.java | 4238 ++++------------- .../FormRecognizerClientImplBuilder.java | 7 +- .../FormSelectionMarkHelper.java | 41 - .../implementation/FormTableHelper.java | 36 - .../implementation/RecognizedFormHelper.java | 40 - .../implementation/TextAppearanceHelper.java | 41 - .../TrainingDocumentInfoHelper.java | 35 - .../implementation/Utility.java | 307 -- .../AnalyzeBusinessCardAsyncHeaders.java | 38 - .../AnalyzeBusinessCardAsyncResponse.java | 30 - ...aders.java => AnalyzeDocumentHeaders.java} | 8 +- .../models/AnalyzeDocumentRequest.java | 65 + ...onse.java => AnalyzeDocumentResponse.java} | 12 +- .../models/AnalyzeIdDocumentAsyncHeaders.java | 38 - .../AnalyzeIdDocumentAsyncResponse.java | 30 - .../models/AnalyzeReceiptAsyncResponse.java | 30 - .../implementation/models/AnalyzeResult.java | 243 +- ...esult.java => AnalyzeResultOperation.java} | 56 +- .../models/AnalyzeResultOperationStatus.java | 53 + .../models/AnalyzeWithCustomModelHeaders.java | 38 - .../AnalyzeWithCustomModelResponse.java | 30 - .../implementation/models/ApiVersion.java | 31 + .../implementation/models/Appearance.java | 38 - .../implementation/models/Attributes.java | 38 - .../models/AuthorizeCopyRequest.java | 64 + .../models/AzureBlobContentSource.java | 64 + .../models/Base64ContentSource.java | 43 + .../implementation/models/BoundingRegion.java | 65 + ...rs.java => BuildDocumentModelHeaders.java} | 8 +- .../models/BuildDocumentModelRequest.java | 90 + ...e.java => BuildDocumentModelResponse.java} | 12 +- .../models/ComponentModelInfo.java | 38 + .../ComposeCustomModelsAsyncHeaders.java | 38 - ....java => ComposeDocumentModelHeaders.java} | 8 +- .../models/ComposeDocumentModelRequest.java | 91 + ...cumentModelRequestComponentModelsItem.java | 38 + ...java => ComposeDocumentModelResponse.java} | 12 +- .../implementation/models/ComposeRequest.java | 66 - .../implementation/models/ContentSource.java | 28 + .../models/ContentSourceKind.java | 40 + .../implementation/models/ContentType.java | 3 + .../models/CopyAuthorization.java | 170 + .../models/CopyAuthorizationResult.java | 93 - ...s.java => CopyDocumentModelToHeaders.java} | 8 +- ....java => CopyDocumentModelToResponse.java} | 12 +- .../models/CopyOperationResult.java | 117 - .../implementation/models/CopyRequest.java | 99 - .../implementation/models/CopyResult.java | 66 - .../models/CustomDocumentModelsInfo.java | 64 + .../implementation/models/DataTable.java | 117 - .../implementation/models/DataTableCell.java | 276 -- .../implementation/models/DocTypeInfo.java | 92 + .../implementation/models/Document.java | 144 + .../implementation/models/DocumentEntity.java | 169 + .../{FieldValue.java => DocumentField.java} | 283 +- .../models/DocumentFieldSchema.java | 143 + .../models/DocumentFieldType.java | 61 + .../models/DocumentKeyValueElement.java | 92 + .../models/DocumentKeyValuePair.java | 90 + .../implementation/models/DocumentLine.java | 91 + .../models/DocumentModelBuildTechnique.java | 31 + .../implementation/models/DocumentPage.java | 254 + .../implementation/models/DocumentResult.java | 145 - ...onMark.java => DocumentSelectionMark.java} | 83 +- .../models/DocumentSignatureType.java | 34 + .../implementation/models/DocumentSpan.java | 64 + .../implementation/models/DocumentStyle.java | 92 + .../implementation/models/DocumentTable.java | 143 + .../models/DocumentTableCell.java | 221 + .../models/DocumentTableCellKind.java | 43 + .../implementation/models/DocumentWord.java | 120 + .../implementation/models/Enum0.java | 42 - .../implementation/models/Error.java | 143 + .../models/ErrorInformation.java | 64 - .../implementation/models/ErrorResponse.java | 14 +- .../models/FieldTypeSchema.java | 143 + .../models/FieldTypeSchemaType.java | 64 + .../models/FieldValueSelectionMark.java | 34 - .../implementation/models/FieldValueType.java | 71 - .../models/FormFieldsReport.java | 64 - ...GenerateModelCopyAuthorizationHeaders.java | 38 - ...enerateModelCopyAuthorizationResponse.java | 37 - .../models/GetInfoResponse.java | 38 + .../GetInfoResponseCustomDocumentModels.java | 64 + .../models/GetModelsResponse.java | 65 + .../models/GetOperationResponse.java | 64 + .../models/GetOperationsResponse.java | 65 + .../implementation/models/InnerError.java | 90 + .../models/KeyValueElement.java | 120 - .../implementation/models/KeyValuePair.java | 116 - .../implementation/models/KeyValueType.java | 34 - .../implementation/models/KeysResult.java | 40 - .../implementation/models/Language.java | 247 - .../implementation/models/LengthUnit.java | 34 + .../models/LocalContentSource.java | 42 + .../implementation/models/Locale.java | 43 - .../implementation/models/Model.java | 117 - .../implementation/models/ModelInfo.java | 159 +- .../implementation/models/ModelStatus.java | 50 - .../implementation/models/ModelSummary.java | 91 + .../implementation/models/Models.java | 91 - .../implementation/models/ModelsModel.java | 93 - .../implementation/models/ModelsSummary.java | 91 - .../implementation/models/OperationInfo.java | 195 + .../models/OperationInfoKind.java | 37 + .../implementation/models/OperationKind.java | 37 + .../models/OperationStatus.java | 7 +- .../implementation/models/PageResult.java | 117 - .../implementation/models/ReadResult.java | 216 - .../implementation/models/ReadingOrder.java | 47 - .../implementation/models/SourcePath.java | 38 - .../models/StringIndexType.java | 37 + .../implementation/models/Style.java | 64 - .../implementation/models/TextLine.java | 117 - .../implementation/models/TextStyle.java | 34 - .../implementation/models/TextWord.java | 91 - .../models/TrainCustomModelAsyncHeaders.java | 38 - .../models/TrainCustomModelAsyncResponse.java | 30 - .../implementation/models/TrainRequest.java | 116 - .../implementation/models/TrainResult.java | 148 - .../models/TrainSourceFilter.java | 71 - .../implementation/models/TrainStatus.java | 50 - .../models/TrainingDocumentInfo.java | 117 - .../models/WebContentSource.java | 42 + .../implementation/models/package-info.java | 4 +- .../implementation/package-info.java | 4 +- .../util/AccountPropertiesHelper.java | 41 + .../util/AnalyzeResultHelper.java | 78 + .../util/AnalyzedDocumentHelper.java | 62 + .../util/BoundingRegionHelper.java | 43 + .../implementation/{ => util}/Constants.java | 14 +- .../util/CopyAuthorizationHelper.java | 69 + .../util/DocTypeInfoHelper.java | 49 + .../util/DocumentAnalysisExceptionHelper.java | 37 + .../util/DocumentEntityHelper.java | 65 + .../util/DocumentFieldHelper.java | 136 + .../util/DocumentFieldSchemaHelper.java | 59 + .../util/DocumentKeyValueElementHelper.java | 57 + .../util/DocumentKeyValuePairHelper.java | 53 + .../util/DocumentLineHelper.java | 49 + .../util/DocumentModelHelper.java | 60 + .../util/DocumentModelInfoHelper.java | 48 + .../util/DocumentOperationResultHelper.java | 36 + .../util/DocumentPageHelper.java | 83 + .../util/DocumentSelectionMarkHelper.java | 56 + .../util/DocumentSpanHelper.java | 41 + .../util/DocumentStyleHelper.java | 51 + .../util/DocumentTableCellHelper.java | 82 + .../util/DocumentTableHelper.java | 65 + .../util/DocumentWordHelper.java | 55 + .../util/FormRecognizerErrorHelper.java | 62 + .../implementation/util/InnerErrorHelper.java | 46 + .../util/ModelOperationHelper.java | 104 + .../util/ModelOperationInfoHelper.java | 78 + .../implementation/util/Transforms.java | 600 +++ .../implementation/util/Utility.java | 177 + .../models/AnalyzeDocumentOptions.java | 64 + .../formrecognizer/models/AnalyzeResult.java | 251 + .../models/AnalyzedDocument.java | 163 + .../formrecognizer/models/BoundingRegion.java | 75 + .../models/CreateComposedModelOptions.java | 35 - .../models/DocumentAnalysisException.java | 39 + .../formrecognizer/models/DocumentEntity.java | 192 + .../formrecognizer/models/DocumentField.java | 492 ++ .../models/DocumentFieldType.java | 59 + .../models/DocumentKeyValueElement.java | 106 + .../models/DocumentKeyValuePair.java | 102 + .../formrecognizer/models/DocumentLine.java | 104 + .../models/DocumentOperationResult.java | 41 + .../formrecognizer/models/DocumentPage.java | 285 ++ .../models/DocumentSelectionMark.java | 134 + .../models/DocumentSignatureType.java | 32 + .../formrecognizer/models/DocumentSpan.java | 73 + .../formrecognizer/models/DocumentStyle.java | 105 + .../formrecognizer/models/DocumentTable.java | 162 + .../models/DocumentTableCell.java | 249 + .../models/DocumentTableCellKind.java | 41 + .../formrecognizer/models/DocumentWord.java | 134 + .../models/FieldBoundingBox.java | 55 - .../ai/formrecognizer/models/FieldData.java | 69 - .../ai/formrecognizer/models/FieldValue.java | 240 - .../formrecognizer/models/FieldValueType.java | 37 - .../models/FormContentType.java | 49 - .../ai/formrecognizer/models/FormElement.java | 68 - .../ai/formrecognizer/models/FormField.java | 82 - .../ai/formrecognizer/models/FormLine.java | 103 - .../ai/formrecognizer/models/FormPage.java | 180 - .../formrecognizer/models/FormPageRange.java | 53 - .../models/FormReadingOrder.java | 35 - .../models/FormRecognizerError.java | 53 - .../FormRecognizerErrorInformation.java | 52 - .../models/FormRecognizerException.java | 57 - .../models/FormRecognizerLanguage.java | 243 - .../models/FormRecognizerLocale.java | 37 - .../models/FormRecognizerOperationResult.java | 38 - .../models/FormSelectionMark.java | 103 - .../ai/formrecognizer/models/FormTable.java | 121 - .../formrecognizer/models/FormTableCell.java | 185 - .../ai/formrecognizer/models/FormWord.java | 64 - .../ai/formrecognizer/models/LengthUnit.java | 47 +- .../azure/ai/formrecognizer/models/Point.java | 52 - .../models/RecognizeBusinessCardsOptions.java | 111 - .../models/RecognizeContentOptions.java | 139 - .../models/RecognizeCustomFormsOptions.java | 113 - .../RecognizeIdentityDocumentOptions.java | 86 - .../models/RecognizeInvoicesOptions.java | 109 - .../models/RecognizeReceiptsOptions.java | 136 - .../formrecognizer/models/RecognizedForm.java | 150 - .../models/SelectionMarkState.java | 26 +- .../formrecognizer/models/TextAppearance.java | 77 - .../formrecognizer/models/TextStyleName.java | 37 - .../formrecognizer/models/package-info.java | 4 +- .../azure/ai/formrecognizer/package-info.java | 5 +- .../training/CustomModelTransforms.java | 257 - .../training/FormTrainingAsyncClient.java | 792 --- .../training/FormTrainingClient.java | 407 -- .../training/models/AccountProperties.java | 53 - .../training/models/CopyAuthorization.java | 166 - .../training/models/CustomFormModel.java | 218 - .../training/models/CustomFormModelField.java | 68 - .../training/models/CustomFormModelInfo.java | 144 - .../models/CustomFormModelProperties.java | 43 - .../models/CustomFormModelStatus.java | 60 - .../training/models/CustomFormSubmodel.java | 107 - .../training/models/TrainingDocumentInfo.java | 120 - .../training/models/TrainingFileFilter.java | 72 - .../training/models/TrainingOptions.java | 86 - .../training/models/TrainingStatus.java | 61 - .../training/models/package-info.java | 8 - .../formrecognizer/training/package-info.java | 7 - .../src/main/java/module-info.java | 8 +- .../src/samples/README.md | 122 +- .../AdvancedDiffLabeledUnlabeledData.java | 138 - ...AdvancedDiffLabeledUnlabeledDataAsync.java | 185 - ...nessCard.java => AnalyzeBusinessCard.java} | 154 +- ...ync.java => AnalyzeBusinessCardAsync.java} | 178 +- ...l.java => AnalyzeBusinessCardFromUrl.java} | 141 +- ...a => AnalyzeBusinessCardFromUrlAsync.java} | 164 +- .../AnalyzeCustomDocumentAsync.java | 116 + .../AnalyzeCustomDocumentFromUrl.java | 80 + ...nts.java => AnalyzeIdentityDocuments.java} | 82 +- ...ava => AnalyzeIdentityDocumentsAsync.java} | 87 +- ...a => AnalyzeIdentityDocumentsFromUrl.java} | 82 +- ...AnalyzeIdentityDocumentsFromUrlAsync.java} | 84 +- ...nizeInvoices.java => AnalyzeInvoices.java} | 102 +- ...esAsync.java => AnalyzeInvoicesAsync.java} | 109 +- ...omUrl.java => AnalyzeInvoicesFromUrl.java} | 104 +- ....java => AnalyzeInvoicesFromUrlAsync.java} | 137 +- .../ai/formrecognizer/AnalyzeLayout.java | 91 + .../ai/formrecognizer/AnalyzeLayoutAsync.java | 120 + .../formrecognizer/AnalyzeLayoutFromUrl.java | 81 + .../AnalyzeLayoutFromUrlAsync.java | 109 + ...nizeReceipts.java => AnalyzeReceipts.java} | 81 +- ...tsAsync.java => AnalyzeReceiptsAsync.java} | 89 +- ...omUrl.java => AnalyzeReceiptsFromUrl.java} | 93 +- ....java => AnalyzeReceiptsFromUrlAsync.java} | 85 +- .../ai/formrecognizer/Authentication.java | 128 +- .../azure/ai/formrecognizer/CopyModel.java | 63 - .../formrecognizer/CreateComposedModel.java | 97 - .../CreateComposedModelAsync.java | 104 - ...nalysisAsyncClientJavaDocCodeSnippets.java | 172 + ...mentAnalysisClientJavaDocCodeSnippets.java | 151 + ...ognizerAsyncClientJavaDocCodeSnippets.java | 1252 ----- ...rmRecognizerClientJavaDocCodeSnippets.java | 1195 ----- ...rainingAsyncClientJavaDocCodeSnippets.java | 351 -- ...FormTrainingClientJavaDocCodeSnippets.java | 339 -- .../ai/formrecognizer/GetBoundingBoxes.java | 92 - .../formrecognizer/GetBoundingBoxesAsync.java | 109 - .../ai/formrecognizer/ManageCustomModels.java | 73 - .../ManageCustomModelsAsync.java | 78 - .../ai/formrecognizer/ReadmeSamples.java | 496 +- .../com/azure/ai/formrecognizer/Receipt.java | 480 -- .../ai/formrecognizer/RecognizeContent.java | 92 - .../formrecognizer/RecognizeContentAsync.java | 119 - .../RecognizeContentFromUrl.java | 81 - .../RecognizeContentFromUrlAsync.java | 104 - .../RecognizeCustomFormsAsync.java | 88 - ...izeCustomFormsAsyncWithSelectionMarks.java | 128 - .../RecognizeCustomFormsFromUrl.java | 52 - .../StronglyTypedRecognizedForm.java | 88 - .../formrecognizer/TrainModelWithLabels.java | 86 - .../TrainModelWithLabelsAsync.java | 107 - .../TrainModelWithoutLabels.java | 85 - .../TrainModelWithoutLabelsAsync.java | 106 - .../administration/BuildModel.java | 65 + .../administration/BuildModelAsync.java | 82 + .../administration/CopyModel.java | 55 + .../{ => administration}/CopyModelAsync.java | 45 +- .../administration/CreateComposedModel.java | 77 + .../CreateComposedModelAsync.java | 87 + ...elAdminAsyncClientJavaDocCodeSnippets.java | 395 ++ ...ntModelAdminClientJavaDocCodeSnippets.java | 423 ++ .../administration/GetOperationInfo.java | 47 + .../administration/GetOperationInfoAsync.java | 47 + .../administration/ManageCustomModels.java | 65 + .../ManageCustomModelsAsync.java | 72 + .../administration/package-info.java | 8 + .../azure/ai/formrecognizer/package-info.java | 2 +- .../ContentTypeDetectionTest.java | 108 - .../CopyAuthorizationSerializerTest.java | 56 - .../DocumentAnalysisAsyncClientTest.java | 1190 +++++ .../DocumentAnalysisClientTest.java | 1486 ++++++ .../DocumentAnalysisClientTestBase.java | 750 +++ .../FieldValueExtensionMethodTest.java | 301 -- .../FormRecognizerAsyncClientTest.java | 2324 --------- .../FormRecognizerClientBuilderTest.java | 269 -- .../FormRecognizerClientBuilderUnitTest.java | 82 - .../FormRecognizerClientTest.java | 2363 --------- .../FormRecognizerClientTestBase.java | 1232 ----- .../FormTrainingAsyncClientTest.java | 824 ---- .../FormTrainingClientBuilderTest.java | 258 - .../FormTrainingClientBuilderUnitTest.java | 141 - .../FormTrainingClientTest.java | 765 --- .../FormTrainingClientTestBase.java | 318 -- .../azure/ai/formrecognizer/TestUtils.java | 202 +- ...entModelAdministrationAsyncClientTest.java | 319 ++ ...DocumentModelAdministrationClientTest.java | 398 ++ ...mentModelAdministrationClientTestBase.java | 114 + ...t.analyzeBusinessCardDataNullData[1].json} | 0 ...nalyzeBusinessCardDataWithBlankPdf[1].json | 64 + ...rdDataWithContentTypeAutoDetection[1].json | 64 + ...analyzeBusinessCardDataWithPngFile[1].json | 64 + ...ClientTest.analyzeBusinessCardData[1].json | 64 + ....analyzeBusinessCardFromDamagedPdf[1].json | 25 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...nalyzeBusinessCardInvalidSourceUrl[1].json | 25 + ...zeBusinessCardSourceUrlWithPngFile[1].json | 64 + ...tTest.analyzeBusinessCardSourceUrl[1].json | 64 + ...tTest.analyzeContentFromDamagedPdf[1].json | 25 + ...st.analyzeContentFromDataMultiPage[1].json | 64 + ...est.analyzeContentFromUrlMultiPage[1].json | 64 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...tTest.analyzeContentFromUrlWithPdf[1].json | 64 + ...ncClientTest.analyzeContentFromUrl[1].json | 64 + ...est.analyzeContentInvalidSourceUrl[1].json | 25 + ...t.analyzeContentResultWithBlankPdf[1].json | 64 + ...ResultWithContentTypeAutoDetection[1].json | 64 + ....analyzeContentResultWithNullData[1].json} | 0 ...ntTest.analyzeContentWithPageRange[1].json | 64 + ...cClientTest.analyzeContentWithPage[1].json | 64 + ...ClientTest.analyzeContentWithPages[1].json | 64 + ...zeContentWithSelectionMarksFromUrl[1].json | 64 + ...t.analyzeContentWithSelectionMarks[1].json | 64 + ...ysisAsyncClientTest.analyzeContent[1].json | 64 + ...ntTest.analyzeGermanContentFromUrl[1].json | 64 + ...est.analyzeIDDocumentDataNullData[1].json} | 0 ...st.analyzeIDDocumentFromDamagedPdf[1].json | 25 + ....analyzeIDDocumentInvalidSourceUrl[1].json | 25 + ...Test.analyzeIDDocumentWithBlankPdf[1].json | 64 + ...est.analyzeInvoiceDataWithBlankPdf[1].json | 64 + ...ceDataWithContentTypeAutoDetection[1].json | 64 + ...AsyncClientTest.analyzeInvoiceData[1].json | 64 + ...tTest.analyzeInvoiceFromDamagedPdf[1].json | 25 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...est.analyzeInvoiceInvalidSourceUrl[1].json | 25 + ...ClientTest.analyzeInvoiceSourceUrl[1].json | 64 + ...cClientTest.analyzeInvoiceWithPage[1].json | 64 + ...cClientTest.analyzeLicenseCardData[1].json | 64 + ...seDataWithContentTypeAutoDetection[1].json | 64 + ...ClientTest.analyzeLicenseSourceUrl[1].json | 64 + ...st.analyzeMultipageBusinessCardUrl[1].json | 64 + ...tTest.analyzeMultipageBusinessCard[1].json | 64 + ...ClientTest.analyzeMultipageInvoice[1].json | 64 + ...ntTest.analyzeReceiptDataNullData[1].json} | 0 ...est.analyzeReceiptDataWithBlankPdf[1].json | 64 + ...ptDataWithContentTypeAutoDetection[1].json | 64 + ...Test.analyzeReceiptDataWithPngFile[1].json | 64 + ...AsyncClientTest.analyzeReceiptData[1].json | 64 + ...tTest.analyzeReceiptFromDamagedPdf[1].json | 25 + ...st.analyzeReceiptFromDataMultiPage[1].json | 84 + ...est.analyzeReceiptFromUrlMultiPage[1].json | 64 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...est.analyzeReceiptInvalidSourceUrl[1].json | 25 + ...analyzeReceiptSourceUrlWithPngFile[1].json | 64 + ...ClientTest.analyzeReceiptSourceUrl[1].json | 64 + ...yncClientTest.businessCardWithPage[1].json | 64 + ...AsyncClientTest.invoiceValidLocale[1].json | 84 + ...sisAsyncClientTest.receiptWithPage[1].json | 64 + ...t.analyzeBusinessCardDataNullData[1].json} | 0 ...nalyzeBusinessCardDataWithBlankPdf[1].json | 88 + ...rdDataWithContentTypeAutoDetection[1].json | 64 + ...analyzeBusinessCardDataWithPngFile[1].json | 64 + ...ClientTest.analyzeBusinessCardData[1].json | 64 + ....analyzeBusinessCardFromDamagedPdf[1].json | 25 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...nalyzeBusinessCardInvalidSourceUrl[1].json | 25 + ...zeBusinessCardSourceUrlWithPngFile[1].json | 64 + ...tTest.analyzeBusinessCardSourceUrl[1].json | 64 + ...tTest.analyzeContentFromDamagedPdf[1].json | 25 + ...st.analyzeContentFromDataMultiPage[1].json | 64 + ...est.analyzeContentFromUrlMultiPage[1].json | 64 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...tTest.analyzeContentFromUrlWithPdf[1].json | 64 + ...isClientTest.analyzeContentFromUrl[1].json | 64 + ...est.analyzeContentInvalidSourceUrl[1].json | 25 + ...t.analyzeContentResultWithBlankPdf[1].json | 64 + ...ResultWithContentTypeAutoDetection[1].json | 64 + ....analyzeContentResultWithNullData[1].json} | 0 ...ntTest.analyzeContentWithPageRange[1].json | 64 + ...sClientTest.analyzeContentWithPage[1].json | 64 + ...ClientTest.analyzeContentWithPages[1].json | 64 + ...zeContentWithSelectionMarksFromUrl[1].json | 100 + ...t.analyzeContentWithSelectionMarks[1].json | 64 + ...tAnalysisClientTest.analyzeContent[1].json | 64 + ...Test.analyzeCustomDocumentBlankPdf[1].json | 124 + ...st.analyzeCustomDocumentDamagedPdf[1].json | 44 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...lyzeCustomDocumentInvalidSourceUrl[1].json | 115 + ...analyzeCustomDocumentInvalidStatus[1].json | 85 + ...est.analyzeCustomDocumentMultiPage[1].json | 44 + ....analyzeCustomDocumentUrlMultiPage[1].json | 142 + ...zeCustomDocumentUrlNonExistModelId[1].json | 25 + ...CustomDocumentUrlWithSelectionMark[1].json | 25 + ...lientTest.analyzeCustomDocumentUrl[1].json | 142 + ...cumentWithContentTypeAutoDetection[1].json | 124 + ...lyzeCustomDocumentWithEmptyModelId[1].json | 24 + ....analyzeCustomDocumentWithNullData[1].json | 64 + ...lyzeCustomDocumentWithNullModelId[1].json} | 0 ...yzeCustomDocumentWithSelectionMark[1].json | 25 + ...isClientTest.analyzeCustomDocument[1].json | 44 + ...ntTest.analyzeGermanContentFromUrl[1].json | 64 + ...est.analyzeIDDocumentDataNullData[1].json} | 0 ...st.analyzeIDDocumentFromDamagedPdf[1].json | 25 + ....analyzeIDDocumentInvalidSourceUrl[1].json | 25 + ...Test.analyzeIDDocumentWithBlankPdf[1].json | 64 + ...est.analyzeInvoiceDataWithBlankPdf[1].json | 64 + ...ceDataWithContentTypeAutoDetection[1].json | 64 + ...lysisClientTest.analyzeInvoiceData[1].json | 64 + ...tTest.analyzeInvoiceFromDamagedPdf[1].json | 25 + ...InvoiceFromUrlIncludeFieldElements[1].json | 64 + ...est.analyzeInvoiceInvalidSourceUrl[1].json | 25 + ...ClientTest.analyzeInvoiceSourceUrl[1].json | 64 + ...lientTest.analyzeJpgCustomDocument[1].json | 124 + ...sClientTest.analyzeLicenseCardData[1].json | 64 + ...seDataWithContentTypeAutoDetection[1].json | 64 + ...ClientTest.analyzeLicenseSourceUrl[1].json | 64 + ...st.analyzeMultipageBusinessCardUrl[1].json | 100 + ...tTest.analyzeMultipageBusinessCard[1].json | 64 + ...ClientTest.analyzeMultipageInvoice[1].json | 64 + ...ntTest.analyzeReceiptDataNullData[1].json} | 0 ...est.analyzeReceiptDataWithBlankPdf[1].json | 64 + ...ptDataWithContentTypeAutoDetection[1].json | 64 + ...Test.analyzeReceiptDataWithPngFile[1].json | 64 + ...lysisClientTest.analyzeReceiptData[1].json | 64 + ...tTest.analyzeReceiptFromDamagedPdf[1].json | 25 + ...st.analyzeReceiptFromDataMultiPage[1].json | 64 + ...est.analyzeReceiptFromUrlMultiPage[1].json | 64 + ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 + ...est.analyzeReceiptInvalidSourceUrl[1].json | 25 + ...analyzeReceiptSourceUrlWithPngFile[1].json | 64 + ...ClientTest.analyzeReceiptSourceUrl[1].json | 64 + ...eDocTypeComposedModelWithModelName[1].json | 25 + ...t.checkCustomDocumentComposedModel[1].json | 124 + ...t.checkCustomDocumentWithModelName[1].json | 25 + ...ClientTest.invoiceSubLineItemsNull[1].json | 64 + ...lysisClientTest.invoiceValidLocale[1].json | 64 + ...Test.recognizeGermanContentFromUrl[1].json | 64 + ...ionAsyncClientTest.beginBuildModel[1].json | 102 + ...istrationAsyncClientTest.beginCopy[1].json | 181 + ...nAsyncClientTest.copyAuthorization[1].json | 43 + ...eleteModelValidModelIdWithResponse[1].json | 44 + ...tDocumentAnalysisClientAndValidate[1].json | 64 + ...yncClientTest.getModelNullModelId[1].json} | 0 ...yncClientTest.getModelWithResponse[1].json | 64 + ...strationAsyncClientTest.listModels[1].json | 24 + ...tionAsyncClientTest.listOperations[1].json | 64 + ...idGetAccountPropertiesWithResponse[1].json | 24 + ...ientTest.validGetAccountProperties[1].json | 24 + ...udeSubfolderWithNonExistPrefixName[1].json | 25 + ...odelIncludeSubfolderWithPrefixName[1].json | 25 + ...ientTest.beginBuildModelNullInput[1].json} | 0 ....beginBuildModelWithJPGTrainingSet[1].json | 44 + ...ldModelWithMultiPagePDFTrainingSet[1].json | 44 + ...AdministrationClientTest.beginCopy[1].json | 44 + ...lientTest.beginCreateComposedModel[1].json | 164 + ...rationClientTest.copyAuthorization[1].json | 25 + ...Test.deleteModelNonExistingModelID[1].json | 24 + ...eleteModelValidModelIDWithResponse[1].json | 102 + ...tDocumentAnalysisClientAndValidate[1].json | 64 + ...entTest.getModelNonExistingModelID[1].json | 24 + ...ionClientTest.getModelNullModelID[1].json} | 0 ...ionClientTest.getModelWithResponse[1].json | 102 + ...onClientTest.listModelsWithContext[1].json | 24 + ...dministrationClientTest.listModels[1].json | 24 + ...idGetAccountPropertiesWithResponse[1].json | 24 + ...ientTest.validGetAccountProperties[1].json | 24 + ...ClientTest.businessCardValidLocale[1].json | 64 - ...yncClientTest.businessCardWithPage[1].json | 64 - ...AsyncClientTest.invoiceValidLocale[1].json | 84 - ...AsyncClientTest.receiptValidLocale[1].json | 84 - ...zerAsyncClientTest.receiptWithPage[1].json | 64 - ...sinessCardDataIncludeFieldElements[1].json | 104 - ...ognizeBusinessCardDataWithBlankPdf[1].json | 64 - ...rdDataWithContentTypeAutoDetection[1].json | 64 - ...cognizeBusinessCardDataWithPngFile[1].json | 64 - ...ientTest.recognizeBusinessCardData[1].json | 84 - ...ecognizeBusinessCardFromDamagedPdf[1].json | 25 - ...essCardFromUrlIncludeFieldElements[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...ognizeBusinessCardInvalidSourceUrl[1].json | 25 - ...zeBusinessCardSourceUrlWithPngFile[1].json | 64 - ...est.recognizeBusinessCardSourceUrl[1].json | 64 - ...entTest.recognizeContentAppearance[1].json | 64 - ...est.recognizeContentFromDamagedPdf[1].json | 25 - ....recognizeContentFromDataMultiPage[1].json | 64 - ...t.recognizeContentFromUrlMultiPage[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...est.recognizeContentFromUrlWithPdf[1].json | 64 - ...ClientTest.recognizeContentFromUrl[1].json | 64 - ...izeContentIncorrectLanguageFromUrl[1].json | 25 - ...t.recognizeContentInvalidSourceUrl[1].json | 25 - ...recognizeContentResultWithBlankPdf[1].json | 64 - ...ResultWithContentTypeAutoDetection[1].json | 64 - ...Test.recognizeContentWithPageRange[1].json | 64 - ...lientTest.recognizeContentWithPage[1].json | 64 - ...ientTest.recognizeContentWithPages[1].json | 64 - ...nizeContentWithReadingOrderNatural[1].json | 84 - ...t.recognizeContentWithReadingOrder[1].json | 84 - ...zeContentWithSelectionMarksFromUrl[1].json | 64 - ...recognizeContentWithSelectionMarks[1].json | 64 - ...erAsyncClientTest.recognizeContent[1].json | 64 - ...Test.recognizeCustomFormDamagedPdf[1].json | 125 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 - ...ecognizeCustomFormInvalidSourceUrl[1].json | 85 - ...t.recognizeCustomFormInvalidStatus[1].json | 86 - ...ormLabeledDataExcludeFieldElements[1].json | 124 - ...LabeledDataWithBlankPdfContentType[1].json | 124 - ...edDataWithContentTypeAutoDetection[1].json | 124 - ...mFormLabeledDataWithJpgContentType[1].json | 144 - ...tomFormLabeledDataWithNullFormData[1].json | 64 - ...omFormLabeledDataWithSelectionMark[1].json | 124 - ...est.recognizeCustomFormLabeledData[1].json | 144 - ...ecognizeCustomFormMultiPageLabeled[1].json | 124 - ...ognizeCustomFormMultiPageUnlabeled[1].json | 524 -- ...mUnlabeledDataIncludeFieldElements[1].json | 184 - ...labeledDataWithBlankPdfContentType[1].json | 184 - ...ormUnlabeledDataWithJpgContentType[1].json | 204 - ...t.recognizeCustomFormUnlabeledData[1].json | 204 - ...UrlLabeledDataIncludeFieldElements[1].json | 124 - ...eCustomFormUrlLabeledDataWithPages[1].json | 164 - ...ormUrlLabeledDataWithSelectionMark[1].json | 144 - ....recognizeCustomFormUrlLabeledData[1].json | 144 - ...gnizeCustomFormUrlMultiPageLabeled[1].json | 144 - ...izeCustomFormUrlMultiPageUnlabeled[1].json | 244 - ...ognizeCustomFormUrlNonExistModelId[1].json | 25 - ...lUnlabeledDataIncludeFieldElements[1].json | 184 - ...ecognizeCustomFormUrlUnlabeledData[1].json | 204 - ...Test.recognizeGermanContentFromUrl[1].json | 64 - ....recognizeIDDocumentFromDamagedPdf[1].json | 25 - ...ocumentFromUrlIncludeFieldElements[1].json | 64 - ...ecognizeIDDocumentInvalidSourceUrl[1].json | 25 - ...st.recognizeIDDocumentWithBlankPdf[1].json | 64 - ...izeInvoiceDataIncludeFieldElements[1].json | 64 - ...t.recognizeInvoiceDataWithBlankPdf[1].json | 64 - ...ceDataWithContentTypeAutoDetection[1].json | 64 - ...yncClientTest.recognizeInvoiceData[1].json | 64 - ...est.recognizeInvoiceFromDamagedPdf[1].json | 25 - ...InvoiceFromUrlIncludeFieldElements[1].json | 84 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...t.recognizeInvoiceInvalidSourceUrl[1].json | 25 - ...ientTest.recognizeInvoiceSourceUrl[1].json | 64 - ...lientTest.recognizeInvoiceWithPage[1].json | 64 - ...lientTest.recognizeLicenseCardData[1].json | 84 - ...izeLicenseDataIncludeFieldElements[1].json | 64 - ...seDataWithContentTypeAutoDetection[1].json | 64 - ...ientTest.recognizeLicenseSourceUrl[1].json | 84 - ....recognizeMultipageBusinessCardUrl[1].json | 104 - ...est.recognizeMultipageBusinessCard[1].json | 64 - ...ientTest.recognizeMultipageInvoice[1].json | 64 - ...izeReceiptDataIncludeFieldElements[1].json | 64 - ...t.recognizeReceiptDataWithBlankPdf[1].json | 64 - ...ptDataWithContentTypeAutoDetection[1].json | 64 - ...st.recognizeReceiptDataWithPngFile[1].json | 84 - ...yncClientTest.recognizeReceiptData[1].json | 64 - ...est.recognizeReceiptFromDamagedPdf[1].json | 25 - ....recognizeReceiptFromDataMultiPage[1].json | 84 - ...ReceiptFromUrlIncludeFieldElements[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...t.recognizeReceiptInvalidSourceUrl[1].json | 25 - ...cognizeReceiptSourceUrlWithPngFile[1].json | 64 - ...ientTest.recognizeReceiptSourceUrl[1].json | 64 - ...t.clientBuilderWithDefaultPipeline[1].json | 64 - ...BuilderWithInvalidApiKeyCredential[1].json | 22 - ...t.clientBuilderWithInvalidEndpoint[1].json | 56 - ...lientBuilderWithNullServiceVersion[1].json | 84 - ...lientBuilderWithRotateToInvalidKey[1].json | 22 - ....clientBuilderWithRotateToValidKey[1].json | 64 - ...FormTypeComposedModelWithModelName[1].json | 298 -- ...heckRecognizeFormTypeComposedModel[1].json | 298 -- ...ognizeFormTypeLabeledWithModelName[1].json | 142 - ...heckRecognizedFormTypeLabeledModel[1].json | 142 - ...ormTypeUnlabeledModelWithModelName[1].json | 222 - ...ckRecognizedFormTypeUnlabeledModel[1].json | 202 - ...ClientTest.invoiceSubLineItemsNull[1].json | 64 - ...nizerClientTest.invoiceValidLocale[1].json | 64 - ...nizerClientTest.receiptValidLocale[1].json | 64 - ...sinessCardDataIncludeFieldElements[1].json | 64 - ...ognizeBusinessCardDataWithBlankPdf[1].json | 64 - ...rdDataWithContentTypeAutoDetection[1].json | 64 - ...cognizeBusinessCardDataWithPngFile[1].json | 64 - ...ientTest.recognizeBusinessCardData[1].json | 64 - ...ecognizeBusinessCardFromDamagedPdf[1].json | 25 - ...essCardFromUrlIncludeFieldElements[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...ognizeBusinessCardInvalidSourceUrl[1].json | 25 - ...zeBusinessCardSourceUrlWithPngFile[1].json | 64 - ...est.recognizeBusinessCardSourceUrl[1].json | 64 - ...entTest.recognizeContentAppearance[1].json | 64 - ...est.recognizeContentFromDamagedPdf[1].json | 25 - ....recognizeContentFromDataMultiPage[1].json | 64 - ...t.recognizeContentFromUrlMultiPage[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...est.recognizeContentFromUrlWithPdf[1].json | 64 - ...ClientTest.recognizeContentFromUrl[1].json | 64 - ...izeContentIncorrectLanguageFromUrl[1].json | 25 - ...t.recognizeContentInvalidSourceUrl[1].json | 25 - ...recognizeContentResultWithBlankPdf[1].json | 64 - ...ResultWithContentTypeAutoDetection[1].json | 64 - ...Test.recognizeContentWithPageRange[1].json | 84 - ...lientTest.recognizeContentWithPage[1].json | 64 - ...ientTest.recognizeContentWithPages[1].json | 64 - ...zeContentWithSelectionMarksFromUrl[1].json | 64 - ...recognizeContentWithSelectionMarks[1].json | 64 - ...ognizerClientTest.recognizeContent[1].json | 64 - ...Test.recognizeCustomFormDamagedPdf[1].json | 125 - ...mFromUrlLabeledDataWithNullModelId[1].json | 4 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 25 - ...ecognizeCustomFormInvalidSourceUrl[1].json | 85 - ...t.recognizeCustomFormInvalidStatus[1].json | 86 - ...ormLabeledDataExcludeFieldElements[1].json | 144 - ...LabeledDataWithBlankPdfContentType[1].json | 124 - ...edDataWithContentTypeAutoDetection[1].json | 144 - ...tomFormLabeledDataWithEmptyModelId[1].json | 4 - ...mFormLabeledDataWithJpgContentType[1].json | 124 - ...tomFormLabeledDataWithNullFormData[1].json | 64 - ...stomFormLabeledDataWithNullModelId[1].json | 4 - ...omFormLabeledDataWithSelectionMark[1].json | 124 - ...est.recognizeCustomFormLabeledData[1].json | 144 - ...ecognizeCustomFormMultiPageLabeled[1].json | 124 - ...ognizeCustomFormMultiPageUnlabeled[1].json | 224 - ...mUnlabeledDataIncludeFieldElements[1].json | 204 - ...labeledDataWithBlankPdfContentType[1].json | 184 - ...ormUnlabeledDataWithJpgContentType[1].json | 224 - ...t.recognizeCustomFormUnlabeledData[1].json | 184 - ...UrlLabeledDataIncludeFieldElements[1].json | 144 - ...ormUrlLabeledDataWithSelectionMark[1].json | 144 - ....recognizeCustomFormUrlLabeledData[1].json | 124 - ...gnizeCustomFormUrlMultiPageLabeled[1].json | 144 - ...izeCustomFormUrlMultiPageUnlabeled[1].json | 224 - ...ognizeCustomFormUrlNonExistModelId[1].json | 25 - ...lUnlabeledDataIncludeFieldElements[1].json | 204 - ...ecognizeCustomFormUrlUnlabeledData[1].json | 184 - ...Test.recognizeGermanContentFromUrl[1].json | 64 - ...st.recognizeIDDocumentDataNullData[1].json | 4 - ....recognizeIDDocumentFromDamagedPdf[1].json | 25 - ...ocumentFromUrlIncludeFieldElements[1].json | 64 - ...ecognizeIDDocumentInvalidSourceUrl[1].json | 25 - ...st.recognizeIDDocumentWithBlankPdf[1].json | 64 - ...izeInvoiceDataIncludeFieldElements[1].json | 64 - ...t.recognizeInvoiceDataWithBlankPdf[1].json | 64 - ...ceDataWithContentTypeAutoDetection[1].json | 64 - ...zerClientTest.recognizeInvoiceData[1].json | 84 - ...est.recognizeInvoiceFromDamagedPdf[1].json | 25 - ...InvoiceFromUrlIncludeFieldElements[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...t.recognizeInvoiceInvalidSourceUrl[1].json | 25 - ...ientTest.recognizeInvoiceSourceUrl[1].json | 64 - ...lientTest.recognizeLicenseCardData[1].json | 64 - ...izeLicenseDataIncludeFieldElements[1].json | 64 - ...seDataWithContentTypeAutoDetection[1].json | 64 - ...ientTest.recognizeLicenseSourceUrl[1].json | 64 - ....recognizeMultipageBusinessCardUrl[1].json | 64 - ...est.recognizeMultipageBusinessCard[1].json | 64 - ...ientTest.recognizeMultipageInvoice[1].json | 64 - ...izeReceiptDataIncludeFieldElements[1].json | 84 - ...tTest.recognizeReceiptDataNullData[1].json | 4 - ...t.recognizeReceiptDataWithBlankPdf[1].json | 64 - ...ptDataWithContentTypeAutoDetection[1].json | 64 - ...st.recognizeReceiptDataWithPngFile[1].json | 84 - ...zerClientTest.recognizeReceiptData[1].json | 64 - ...est.recognizeReceiptFromDamagedPdf[1].json | 25 - ....recognizeReceiptFromDataMultiPage[1].json | 84 - ...ReceiptFromUrlIncludeFieldElements[1].json | 64 - ...mUrlWithEncodedBlankSpaceSourceUrl[1].json | 56 - ...t.recognizeReceiptInvalidSourceUrl[1].json | 25 - ...cognizeReceiptSourceUrlWithPngFile[1].json | 64 - ...ientTest.recognizeReceiptSourceUrl[1].json | 64 - ...lientTest.beginCopyIncorrectRegion[1].json | 166 - ...cClientTest.beginCopyInvalidRegion[1].json | 146 - ...mTrainingAsyncClientTest.beginCopy[1].json | 205 - ...beginCreateComposedDuplicateModels[1].json | 103 - ...eginCreateComposedModelWithOptions[1].json | 238 - ...lientTest.beginCreateComposedModel[1].json | 238 - ....beginCreateComposedUnlabeledModel[1].json | 261 - ...Test.beginTrainingLabeledModelName[1].json | 84 - ...cClientTest.beginTrainingNullInput[1].json | 4 - ...st.beginTrainingUnlabeledModelName[1].json | 124 - ...ithTrainingLabelsForJPGTrainingSet[1].json | 64 - ...ngLabelsForMultiPagePDFTrainingSet[1].json | 64 - ...udeSubfolderWithNonExistPrefixName[1].json | 45 - ...belsExcludeSubfolderWithPrefixName[1].json | 84 - ...outTrainingLabelsForJPGTrainingSet[1].json | 144 - ...ngLabelsForMultiPagePDFTrainingSet[1].json | 124 - ...udeSubfolderWithNonExistPrefixName[1].json | 45 - ...belsIncludeSubfolderWithPrefixName[1].json | 84 - ...gAsyncClientTest.copyAuthorization[1].json | 25 - ...ientTest.deleteModelInvalidModelId[1].json | 4 - ...dWithResponseWithoutTrainingLabels[1].json | 142 - ...eleteModelValidModelIdWithResponse[1].json | 102 - ...tTest.getCustomModelInvalidModelId[1].json | 4 - ...ncClientTest.getCustomModelLabeled[1].json | 64 - ...ientTest.getCustomModelNullModelId[1].json | 4 - ...ClientTest.getCustomModelUnlabeled[1].json | 124 - ...entTest.getCustomModelWithResponse[1].json | 124 - ...getFormRecognizerClientAndValidate[1].json | 64 - ...idGetAccountPropertiesWithResponse[1].json | 24 - ...ientTest.validGetAccountProperties[1].json | 24 - ...ainingClientBuilderDefaultPipeline[1].json | 64 - ...ainingClientBuilderInvalidEndpoint[1].json | 56 - ...gClientBuilderInvalidKeyCredential[1].json | 21 - ...ingClientBuilderNullServiceVersion[1].json | 64 - ...ingClientBuilderRotateToInvalidKey[1].json | 21 - ...iningClientBuilderRotateToValidKey[1].json | 64 - ...lientTest.beginCopyIncorrectRegion[1].json | 186 - ...gClientTest.beginCopyInvalidRegion[1].json | 146 - .../FormTrainingClientTest.beginCopy[1].json | 205 - ...beginCreateComposedDuplicateModels[1].json | 103 - ...eginCreateComposedModelWithOptions[1].json | 238 - ...lientTest.beginCreateComposedModel[1].json | 258 - ....beginCreateComposedUnlabeledModel[1].json | 301 -- ...ginTrainingLabeledModelDisplayName[1].json | 84 - ...gClientTest.beginTrainingNullInput[1].json | 4 - ...ithTrainingLabelsForJPGTrainingSet[1].json | 64 - ...ngLabelsForMultiPagePDFTrainingSet[1].json | 64 - ...udeSubfolderWithNonExistPrefixName[1].json | 45 - ...belsExcludeSubfolderWithPrefixName[1].json | 104 - ...outTrainingLabelsForJPGTrainingSet[1].json | 104 - ...ngLabelsForMultiPagePDFTrainingSet[1].json | 144 - ...udeSubfolderWithNonExistPrefixName[1].json | 45 - ...belsIncludeSubfolderWithPrefixName[1].json | 124 - ...ainingClientTest.copyAuthorization[1].json | 25 - ...ientTest.deleteModelInvalidModelId[1].json | 4 - ...dWithResponseWithoutTrainingLabels[1].json | 162 - ...eleteModelValidModelIdWithResponse[1].json | 102 - ...tTest.getCustomModelInvalidModelId[1].json | 4 - ...ngClientTest.getCustomModelLabeled[1].json | 104 - ...ientTest.getCustomModelNullModelId[1].json | 4 - ...ClientTest.getCustomModelUnlabeled[1].json | 124 - ...entTest.getCustomModelWithResponse[1].json | 144 - ...getFormRecognizerClientAndValidate[1].json | 64 - ...idGetAccountPropertiesWithResponse[1].json | 24 - ...ientTest.validGetAccountProperties[1].json | 24 - .../azure-ai-formrecognizer/swagger/FR-v3.yml | 1684 +++++++ .../azure-ai-formrecognizer/swagger/README.md | 24 +- sdk/formrecognizer/ci.yml | 64 +- sdk/formrecognizer/pom.xml | 2 +- sdk/formrecognizer/test-resources.json | 370 +- sdk/formrecognizer/tests.yml | 38 +- .../azure-resourcemanager-frontdoor/pom.xml | 6 +- .../azure-resourcemanager-hanaonazure/pom.xml | 4 +- .../azure-resourcemanager-hdinsight/pom.xml | 6 +- .../azure-resourcemanager-healthbot/pom.xml | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- sdk/identity/azure-identity/pom.xml | 13 +- .../azure/identity/CredentialBuilderBase.java | 2 +- .../implementation/util/IdentityUtil.java | 9 +- .../src/main/java/module-info.java | 1 - .../identity/util/IdentityUtilTests.java | 6 +- .../pom.xml | 6 +- .../azure-resourcemanager-iotcentral/pom.xml | 4 +- .../azure-resourcemanager-iothub/pom.xml | 6 +- .../pom.xml | 10 +- .../KeyVaultAccessControlAsyncClient.java | 20 +- .../KeyVaultCredentialPolicy.java | 209 +- .../implementation/ScopeTokenCache.java | 60 - .../KeyVaultAccessControlAsyncClientTest.java | 142 +- .../KeyVaultAccessControlClientTest.java | 190 +- .../KeyVaultAccessControlClientTestBase.java | 31 +- .../KeyVaultBackupAsyncClientTest.java | 54 +- .../KeyVaultBackupClientTest.java | 12 +- .../KeyVaultBackupClientTestBase.java | 2 +- ...createExistingRoleAssignmentThrows[1].json | 44 +- ...yncClientTest.createRoleAssignment[1].json | 38 +- ...ExistingRoleAssignmentDoesNotThrow[1].json | 34 +- ...ExistingRoleDefinitionDoesNotThrow[1].json | 12 +- ...yncClientTest.deleteRoleAssignment[1].json | 50 +- ...yncClientTest.deleteRoleDefinition[1].json | 28 +- ...lAsyncClientTest.getRoleAssignment[1].json | 50 +- ...lAsyncClientTest.getRoleDefinition[1].json | 30 +- ...syncClientTest.listRoleAssignments[1].json | 14 +- ...syncClientTest.listRoleDefinitions[1].json | 16 +- ...lAsyncClientTest.setRoleDefinition[1].json | 16 +- ...createExistingRoleAssignmentThrows[1].json | 44 +- ...rolClientTest.createRoleAssignment[1].json | 38 +- ...ExistingRoleAssignmentDoesNotThrow[1].json | 36 +- ...ExistingRoleDefinitionDoesNotThrow[1].json | 10 +- ...rolClientTest.deleteRoleAssignment[1].json | 50 +- ...rolClientTest.deleteRoleDefinition[1].json | 26 +- ...ontrolClientTest.getRoleAssignment[1].json | 52 +- ...ontrolClientTest.getRoleDefinition[1].json | 30 +- ...trolClientTest.listRoleAssignments[1].json | 28 +- ...trolClientTest.listRoleDefinitions[1].json | 28 +- ...ontrolClientTest.setRoleDefinition[1].json | 16 +- ...tBackupAsyncClientTest.beginBackup[1].json | 78 +- ...BackupAsyncClientTest.beginRestore[1].json | 224 +- ...lientTest.beginSelectiveKeyRestore[1].json | 190 +- ...yVaultBackupClientTest.beginBackup[1].json | 78 +- ...VaultBackupClientTest.beginRestore[1].json | 222 +- ...lientTest.beginSelectiveKeyRestore[1].json | 214 +- .../pom.xml | 10 +- .../certificates/CertificateAsyncClient.java | 1 - .../KeyVaultCredentialPolicy.java | 194 +- .../implementation/ScopeTokenCache.java | 61 - .../certificates/CertificateClientTest.java | 5 +- .../CertificateClientTestBase.java | 20 +- .../azure-security-keyvault-jca/pom.xml | 6 +- .../keyvault/jca/KeyVaultKeyStore.java | 16 +- .../jca/KeyVaultCertificatesTest.java | 2 +- .../keyvault/jca/KeyVaultKeyStoreTest.java | 76 +- .../jca/KeyVaultKeyStoreUnitTest.java | 95 + .../azure-security-keyvault-keys/pom.xml | 10 +- .../keyvault/keys/KeyAsyncClient.java | 1303 +++-- .../security/keyvault/keys/KeyClient.java | 1205 +++-- .../keyvault/keys/KeyClientBuilder.java | 9 +- .../security/keyvault/keys/KeyService.java | 33 + .../cryptography/CryptographyAsyncClient.java | 2 - .../KeyVaultCredentialPolicy.java | 192 +- .../keys/implementation/ScopeTokenCache.java | 61 - .../models/KeyRotationPolicy.java | 77 + .../models/KeyRotationPolicyAttributes.java | 66 + .../implementation/models/LifetimeAction.java | 63 + .../models/LifetimeActionTrigger.java | 67 + .../models/LifetimeActionsType.java | 39 + .../models/KeyRotationLifetimeAction.java | 82 + .../keys/models/KeyRotationPolicy.java | 95 + .../keys/models/KeyRotationPolicyAction.java | 49 + .../models/KeyRotationPolicyProperties.java | 74 + .../KeyAsyncClientJavaDocCodeSnippets.java | 672 +-- .../keys/KeyClientJavaDocCodeSnippets.java | 637 ++- .../keys/KeyAsyncClientManagedHsmTest.java | 34 +- .../keyvault/keys/KeyAsyncClientTest.java | 122 +- .../keys/KeyClientManagedHsmTest.java | 33 +- .../security/keyvault/keys/KeyClientTest.java | 118 +- .../keyvault/keys/KeyClientTestBase.java | 210 +- .../CryptographyClientManagedHsmTest.java | 5 +- .../cryptography/CryptographyClientTest.java | 8 +- .../CryptographyClientTestBase.java | 15 +- .../KeyEncryptionKeyClientManagedHsmTest.java | 102 + .../KeyEncryptionKeyClientTest.java | 25 +- .../KeyEncryptionKeyClientTestBase.java | 15 +- ...graphyClientTest.encryptDecryptRsa[1].json | 50 +- ...est.createRsaKeyWithPublicExponent[1].json | 6 +- ...cClientManagedHsmTest.createRsaKey[1].json | 30 + ...yncClientManagedHsmTest.releaseKey[1].json | 52 + ...est.createRsaKeyWithPublicExponent[1].json | 30 + ...tKeyRotationPolicyOfNonExistentKey[1].json | 29 + ...etKeyRotationPolicyWithNoPolicySet[1].json | 55 + .../KeyAsyncClientTest.releaseKey[1].json | 4 +- .../KeyAsyncClientTest.rotateKey[1].json | 55 + ...KeyRotationPolicyWithAllProperties[1].json | 81 + ...otationPolicyWithMinimumProperties[1].json | 81 + ...est.createRsaKeyWithPublicExponent[1].json | 6 +- ...yClientManagedHsmTest.createRsaKey[1].json | 30 + ...KeyClientManagedHsmTest.releaseKey[1].json | 52 + ...est.createRsaKeyWithPublicExponent[1].json | 30 + ...tKeyRotationPolicyOfNonExistentKey[1].json | 29 + ...etKeyRotationPolicyWithNoPolicySet[1].json | 55 + .../KeyClientTest.releaseKey[1].json | 10 +- .../KeyClientTest.rotateKey[1].json | 55 + ...KeyRotationPolicyWithAllProperties[1].json | 81 + ...otationPolicyWithMinimumProperties[1].json | 81 + ...edHsmTest.wrapUnwrapSymmetricAK128[1].json | 126 + ...edHsmTest.wrapUnwrapSymmetricAK192[1].json | 126 + ...lientTest.wrapUnwrapSymmetricAK128[1].json | 30 +- ...lientTest.wrapUnwrapSymmetricAK192[1].json | 30 +- .../azure-security-keyvault-perf/pom.xml | 2 +- .../azure-security-keyvault-secrets/pom.xml | 10 +- .../keyvault/secrets/SecretAsyncClient.java | 1 - .../KeyVaultCredentialPolicy.java | 207 +- .../implementation/ScopeTokenCache.java | 60 - .../secrets/SecretAsyncClientTest.java | 2 +- .../keyvault/secrets/SecretClientTest.java | 2 +- .../secrets/SecretClientTestBase.java | 8 +- .../azure-security-test-keyvault-jca/pom.xml | 4 +- .../pom.xml | 2 +- .../microsoft-azure-keyvault-webkey/pom.xml | 6 +- sdk/keyvault/platform-matrix.json | 6 - sdk/keyvault/regenerate_and_fix_sdk.py | 4 +- .../pom.xml | 4 +- sdk/kusto/azure-resourcemanager-kusto/pom.xml | 4 +- .../azure-resourcemanager-labservices/pom.xml | 4 +- .../pom.xml | 4 +- .../microsoft-azure-loganalytics/pom.xml | 4 +- sdk/logic/azure-resourcemanager-logic/pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-maintenance/pom.xml | 6 +- .../pom.xml | 4 +- sdk/maps/azure-resourcemanager-maps/pom.xml | 6 +- .../azure-resourcemanager-mariadb/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../microsoft-azure-media/pom.xml | 8 +- .../azure-ai-metricsadvisor/pom.xml | 8 +- .../azure-mixedreality-authentication/pom.xml | 10 +- .../pom.xml | 4 +- .../azure-iot-modelsrepository/pom.xml | 10 +- .../pom.xml | 8 +- sdk/monitor/azure-monitor-query/pom.xml | 8 +- sdk/mysql/azure-resourcemanager-mysql/pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-netapp/pom.xml | 6 +- .../pom.xml | 4 +- .../pom.xml | 4 +- sdk/parents/azure-client-sdk-parent/pom.xml | 72 +- sdk/parents/azure-data-sdk-parent/pom.xml | 10 +- .../azure-resourcemanager-peering/pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-postgresql/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../azure-analytics-purview-catalog/pom.xml | 10 +- .../azure-analytics-purview-scanning/pom.xml | 10 +- .../azure-resourcemanager-purview/pom.xml | 4 +- sdk/quantum/azure-quantum-jobs/pom.xml | 6 +- sdk/quota/azure-resourcemanager-quota/pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 4 +- .../pom.xml | 4 +- sdk/relay/azure-resourcemanager-relay/pom.xml | 2 +- .../pom.xml | 8 +- .../pom.xml | 6 +- .../pom.xml | 4 +- .../azure-resourcemanager-appplatform/pom.xml | 2 +- .../azure-resourcemanager-appservice/pom.xml | 2 +- .../appservice/models/DeployOptions.java | 2 +- .../pom.xml | 2 +- .../azure-resourcemanager-cdn/pom.xml | 2 +- .../azure-resourcemanager-compute/pom.xml | 2 +- .../pom.xml | 2 +- .../implementation/ContainerGroupImpl.java | 5 +- .../containerinstance/ContainerGroupTest.java | 2 +- ....testContainerGroupWithVirtualNetwork.json | 582 +-- .../pom.xml | 2 +- .../pom.xml | 2 +- .../azure-resourcemanager-cosmos/pom.xml | 2 +- .../azure-resourcemanager-dns/pom.xml | 2 +- .../azure-resourcemanager-eventhubs/pom.xml | 2 +- .../azure-resourcemanager-keyvault/pom.xml | 2 +- .../azure-resourcemanager-monitor/pom.xml | 2 +- .../azure-resourcemanager-msi/pom.xml | 2 +- .../azure-resourcemanager-network/pom.xml | 2 +- .../azure-resourcemanager-privatedns/pom.xml | 2 +- .../azure-resourcemanager-redis/pom.xml | 2 +- .../CHANGELOG.md | 2 + .../azure-resourcemanager-resources/pom.xml | 8 +- .../implementation/GenericResourcesImpl.java | 23 +- .../resources/models/GenericResources.java | 33 +- .../resources/GenericResourcesTests.java | 54 + ...sourcesTests.canValidateMoveResources.json | 824 ++++ .../azure-resourcemanager-samples/pom.xml | 2 +- .../azure-resourcemanager-search/pom.xml | 2 +- .../azure-resourcemanager-servicebus/pom.xml | 2 +- .../azure-resourcemanager-sql/pom.xml | 2 +- .../azure-resourcemanager-storage/pom.xml | 2 +- .../azure-resourcemanager-test/pom.xml | 8 +- .../pom.xml | 2 +- .../azure-resourcemanager/pom.xml | 4 +- .../pom.xml | 4 +- .../azure-data-schemaregistry-avro/pom.xml | 4 +- .../azure-data-schemaregistry/pom.xml | 8 +- .../SchemaRegistryAsyncClient.java | 84 +- .../SchemaRegistryClientBuilder.java | 36 +- .../SchemaRegistryAsyncClientTests.java | 29 - .../SchemaRegistryClientTests.java | 23 - ...lientTests.registerAndGetCachedSchema.json | 29 - ...lientTests.registerAndGetCachedSchema.json | 29 - sdk/search/azure-search-documents/pom.xml | 10 +- .../azure-resourcemanager-security/pom.xml | 4 +- .../azure-messaging-servicebus/pom.xml | 10 +- .../pom.xml | 4 +- .../azure-resourcemanager-signalr/pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 10 +- .../azure-spring-boot-starter-cosmos/pom.xml | 2 +- .../CHANGELOG.md | 1 + .../README.md | 2 +- ...tCertificatesEnvironmentPostProcessor.java | 1 + .../pom.xml | 2 +- .../pom.xml | 30 +- .../azure-spring-boot-starter-storage/pom.xml | 2 +- sdk/spring/azure-spring-boot-starter/pom.xml | 2 +- .../azure-spring-boot-test-parent/pom.xml | 2 +- sdk/spring/azure-spring-boot/pom.xml | 4 +- .../azure-spring-cloud-autoconfigure/pom.xml | 4 +- .../azure-spring-cloud-starter-cache/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 4 +- .../azure-spring-cloud-test-eventhubs/pom.xml | 4 +- .../azure-spring-cloud-test-parent/pom.xml | 2 +- .../pom.xml | 7 +- .../azure-spring-integration-test/pom.xml | 4 +- .../pom.xml | 2 +- .../azure-storage-blob-batch/README.md | 33 + sdk/storage/azure-storage-blob-batch/pom.xml | 162 +- .../azure/storage/blob/batch/APISpec.groovy | 12 +- .../storage/blob/batch/BatchAPITest.groovy | 10 +- .../azure-storage-blob-changefeed/pom.xml | 162 +- .../storage/blob/changefeed/APISpec.groovy | 10 +- .../changefeed/ChangefeedNetworkTest.groovy | 3 +- .../azure-storage-blob-cryptography/README.md | 34 + .../azure-storage-blob-cryptography/pom.xml | 161 +- .../EncryptedBlobClientBuilder.java | 2 +- .../specialized/cryptography/APISpec.groovy | 4 +- .../BlobCryptographyBuilderTest.groovy | 18 +- .../EncryptedBlobOutputStreamTest.groovy | 6 +- .../EncyptedBlockBlobAPITest.groovy | 71 +- .../cryptography/KeyvaultKeyTest.groovy | 8 +- .../cryptography/LocalKeyTest.groovy | 4 +- sdk/storage/azure-storage-blob-nio/pom.xml | 162 +- .../com/azure/storage/blob/nio/APISpec.groovy | 22 +- .../blob/nio/AzureDirectoryStreamTest.groovy | 2 +- .../blob/nio/AzureFileStoreTest.groovy | 6 +- .../nio/AzureFileSystemProviderTest.groovy | 9 +- .../blob/nio/AzureFileSystemTest.groovy | 12 +- .../storage/blob/nio/AzurePathTest.groovy | 4 +- sdk/storage/azure-storage-blob/CHANGELOG.md | 4 +- sdk/storage/azure-storage-blob/README.md | 33 + sdk/storage/azure-storage-blob/pom.xml | 164 +- .../azure/storage/blob/BlobClientBuilder.java | 2 +- .../blob/BlobContainerClientBuilder.java | 2 +- .../storage/blob/BlobServiceAsyncClient.java | 3 +- .../blob/BlobServiceClientBuilder.java | 2 +- .../implementation/util/BlobSasImplUtil.java | 96 +- .../sas/BlobServiceSasSignatureValues.java | 20 + .../blob/specialized/BlobAsyncClientBase.java | 4 +- .../SpecializedBlobClientBuilder.java | 2 +- .../com/azure/storage/blob/APISpec.groovy | 32 +- .../com/azure/storage/blob/BlobAPITest.groovy | 45 +- .../storage/blob/BlobOutputStreamTest.groovy | 12 +- .../blob/BlobServiceSasModelsTest.groovy | 4 +- .../com/azure/storage/blob/CPKNTest.groovy | 6 +- .../com/azure/storage/blob/CPKTest.groovy | 8 +- .../storage/blob/ContainerAPITest.groovy | 10 +- .../ImmutableStorageWithVersioningTest.groovy | 14 +- .../storage/blob/OAuthCopySourceTests.groovy | 8 +- .../storage/blob/ProgressReporterTest.groovy | 3 +- .../azure/storage/blob/SasClientTests.groovy | 44 +- .../azure/storage/blob/ServiceAPITest.groovy | 22 +- .../blob/specialized/AppendBlobAPITest.groovy | 6 +- .../blob/specialized/BlobBaseAPITest.groovy | 38 +- .../blob/specialized/BlockBlobAPITest.groovy | 30 +- .../specialized/DownloadResponseTest.groovy | 10 +- .../blob/specialized/HelperTest.groovy | 4 +- .../blob/specialized/PageBlobAPITest.groovy | 8 +- sdk/storage/azure-storage-common/CHANGELOG.md | 2 +- sdk/storage/azure-storage-common/README.md | 34 + sdk/storage/azure-storage-common/pom.xml | 168 +- .../implementation/AccountSasImplUtil.java | 11 +- .../common/implementation/Constants.java | 7 +- .../common/sas/AccountSasSignatureValues.java | 60 +- .../common/sas/CommonSasQueryParameters.java | 12 + .../common/test/shared/StorageSpec.groovy | 7 +- .../common/test/shared/ThreadDumper.java | 2 +- .../test/shared/extensions/LiveOnly.java | 2 + .../shared/policy/NoOpHttpPipelinePolicy.java | 23 + .../implementation/SasModelsTest.groovy | 2 +- .../azure-storage-file-datalake/CHANGELOG.md | 2 +- .../azure-storage-file-datalake/README.md | 33 +- .../azure-storage-file-datalake/pom.xml | 162 +- .../DataLakeFileSystemClientBuilder.java | 2 +- .../datalake/DataLakePathClientBuilder.java | 2 +- .../DataLakeServiceClientBuilder.java | 2 +- .../util/DataLakeSasImplUtil.java | 85 +- .../storage/file/datalake/APISpec.groovy | 23 +- .../datalake/AsyncErrorMappingTest.groovy | 16 +- .../file/datalake/DirectoryAPITest.groovy | 35 +- .../storage/file/datalake/FileAPITest.groovy | 85 +- .../file/datalake/FileSystemAPITest.groovy | 5 +- .../file/datalake/LargeFileTest.groovy | 4 +- .../storage/file/datalake/SASTest.groovy | 26 +- .../file/datalake/ServiceAPITest.groovy | 12 +- .../file/datalake/SoftDeleteTest.groovy | 8 +- .../LeaseAsyncErrorMappingTest.groovy | 2 +- .../azure-storage-file-share/README.md | 34 + sdk/storage/azure-storage-file-share/pom.xml | 164 +- .../file/share/ShareServiceAsyncClient.java | 2 +- .../azure/storage/file/share/APISpec.groovy | 34 +- .../file/share/DirectoryAPITests.groovy | 6 +- .../file/share/DirectoryAsyncAPITests.groovy | 2 +- .../storage/file/share/FileAPITests.groovy | 19 +- .../file/share/FileAsyncAPITests.groovy | 11 +- .../storage/file/share/FileSASTests.groovy | 13 +- .../file/share/FileSasClientTests.groovy | 7 +- .../file/share/FileServiceAPITests.groovy | 7 +- .../share/FileServiceAsyncAPITests.groovy | 2 +- .../file/share/OAuthCopySourceTests.groovy | 6 +- .../storage/file/share/ShareAPITests.groovy | 11 +- .../file/share/ShareAsyncAPITests.groovy | 7 +- .../azure-storage-internal-avro/pom.xml | 160 +- sdk/storage/azure-storage-queue/README.md | 33 + sdk/storage/azure-storage-queue/pom.xml | 165 +- .../storage/queue/QueueClientBuilder.java | 2 +- .../queue/QueueServiceAsyncClient.java | 2 +- .../queue/QueueServiceClientBuilder.java | 2 +- .../com/azure/storage/queue/APISpec.groovy | 12 +- .../azure/storage/queue/QueueAPITests.groovy | 4 +- .../storage/queue/QueueAysncAPITests.groovy | 4 +- .../azure/storage/queue/QueueSASTests.groovy | 14 +- .../storage/queue/QueueSasClientTests.groovy | 4 +- sdk/storage/ci.yml | 6 + .../microsoft-azure-storage-blob/pom.xml | 157 +- .../microsoft/azure/storage/APISpec.groovy | 14 +- .../com/microsoft/azure/storage/Samples.java | 3 +- .../azure/storage/ServiceAPITest.groovy | 3 +- .../microsoft-azure-storage-blob/tests.yml | 18 - .../microsoft-azure-storage-perf/pom.xml | 4 +- sdk/storage/platform-matrix-ci.json | 14 + sdk/storage/platform-matrix.json | 5 + sdk/storage/tests-template.yml | 112 + sdk/storage/tests.yml | 106 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../azure-resourcemanager-support/pom.xml | 4 +- .../pom.xml | 8 +- .../azure-analytics-synapse-artifacts/pom.xml | 8 +- .../pom.xml | 8 +- .../pom.xml | 8 +- .../azure-analytics-synapse-spark/pom.xml | 8 +- .../azure-resourcemanager-synapse/pom.xml | 4 +- sdk/tables/azure-data-tables-perf/pom.xml | 2 +- sdk/tables/azure-data-tables/pom.xml | 8 +- sdk/template/azure-sdk-template/pom.xml | 2 +- .../azure-ai-textanalytics/pom.xml | 8 +- .../pom.xml | 4 +- .../azure-ai-documenttranslator/pom.xml | 10 +- .../azure-media-videoanalyzer-edge/pom.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 4 +- .../azure-messaging-webpubsub/pom.xml | 8 +- .../azure-resourcemanager-webpubsub/pom.xml | 4 +- 1482 files changed, 51003 insertions(+), 63799 deletions(-) delete mode 100644 eng/bomgenerator/generateAzureSDKBOM.cmd create mode 100644 eng/bomgenerator/generateAzureSDKBOM.ps1 create mode 100644 eng/guardian-tools/policheck/PolicheckExclusions.xml create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicy.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/RedirectPolicy.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannel.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannelType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContent.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContentType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormat.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormatType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannel.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannelType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContent.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContentType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormat.java delete mode 100644 sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormatType.java create mode 100644 sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicyTests.java create mode 100644 sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/ReactorExecutorTest.java delete mode 100644 sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/TokenRequestContextExperimental.java delete mode 100644 sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/package-info.java create mode 100644 sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/DatabaseThroughputConfig.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsUserDisconnectedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiCreatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiDeletedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseCreatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseDeletedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseUpdatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiUpdatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductCreatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductDeletedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductUpdatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionCreatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionDeletedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionUpdatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserCreatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserDeletedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserUpdatedEventData.java create mode 100644 sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventChannelArchiveHeartbeatEventData.java rename sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/{CustomModelRecognitionTest.java => DocumentModelAnalysisTest.java} (59%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/migration-guide.md create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/{FormRecognizerClientBuilder.java => DocumentAnalysisClientBuilder.java} (63%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/{FormRecognizerServiceVersion.java => DocumentAnalysisServiceVersion.java} (62%) delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/Transforms.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/{training/FormTrainingClientBuilder.java => administration/DocumentModelAdministrationClientBuilder.java} (63%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/AccountProperties.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/BuildModelOptions.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorization.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorizationOptions.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CreateComposedModelOptions.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocTypeInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentFieldSchema.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModel.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModelInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/FormRecognizerError.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/InnerError.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperation.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationKind.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationStatus.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/package-info.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/package-info.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelInfoHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelPropertiesHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormSubmodelHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormLineHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormPageHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormSelectionMarkHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormTableHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/RecognizedFormHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TextAppearanceHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TrainingDocumentInfoHelper.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Utility.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncHeaders.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncResponse.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{CopyCustomModelHeaders.java => AnalyzeDocumentHeaders.java} (82%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentRequest.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{CopyCustomModelResponse.java => AnalyzeDocumentResponse.java} (66%) delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncHeaders.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncResponse.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncResponse.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeOperationResult.java => AnalyzeResultOperation.java} (64%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperationStatus.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelHeaders.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ApiVersion.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Appearance.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Attributes.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AuthorizeCopyRequest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AzureBlobContentSource.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Base64ContentSource.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BoundingRegion.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeLayoutAsyncHeaders.java => BuildDocumentModelHeaders.java} (81%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelRequest.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeLayoutAsyncResponse.java => BuildDocumentModelResponse.java} (67%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComponentModelInfo.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncHeaders.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeReceiptAsyncHeaders.java => ComposeDocumentModelHeaders.java} (79%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequestComponentModelsItem.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{ComposeCustomModelsAsyncResponse.java => ComposeDocumentModelResponse.java} (69%) delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeRequest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSource.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSourceKind.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorization.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorizationResult.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeInvoiceAsyncHeaders.java => CopyDocumentModelToHeaders.java} (81%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{AnalyzeInvoiceAsyncResponse.java => CopyDocumentModelToResponse.java} (67%) delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyOperationResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyRequest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyResult.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CustomDocumentModelsInfo.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTable.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTableCell.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocTypeInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Document.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentEntity.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{FieldValue.java => DocumentField.java} (52%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldSchema.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldType.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValueElement.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValuePair.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentLine.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentModelBuildTechnique.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentPage.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentResult.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/{SelectionMark.java => DocumentSelectionMark.java} (53%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSignatureType.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSpan.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentStyle.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTable.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCell.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCellKind.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentWord.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Enum0.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Error.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorInformation.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchema.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchemaType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueSelectionMark.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FormFieldsReport.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationHeaders.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponseCustomDocumentModels.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetModelsResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationsResponse.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/InnerError.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueElement.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValuePair.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeysResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Language.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LengthUnit.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LocalContentSource.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Locale.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Model.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelStatus.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelSummary.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Models.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsModel.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsSummary.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfoKind.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationKind.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/PageResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadingOrder.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SourcePath.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/StringIndexType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Style.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextLine.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextStyle.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextWord.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncHeaders.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncResponse.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainRequest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainSourceFilter.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainStatus.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainingDocumentInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/WebContentSource.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AccountPropertiesHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzeResultHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzedDocumentHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/BoundingRegionHelper.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/{ => util}/Constants.java (61%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/CopyAuthorizationHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocTypeInfoHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentAnalysisExceptionHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentEntityHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldSchemaHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValueElementHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValuePairHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentLineHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelInfoHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentOperationResultHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentPageHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSelectionMarkHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSpanHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentStyleHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableCellHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentWordHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/FormRecognizerErrorHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/InnerErrorHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationInfoHelper.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Transforms.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Utility.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeDocumentOptions.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeResult.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzedDocument.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/BoundingRegion.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/CreateComposedModelOptions.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentAnalysisException.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentEntity.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentField.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentFieldType.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValueElement.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValuePair.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentLine.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentOperationResult.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentPage.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSelectionMark.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSignatureType.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSpan.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentStyle.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTable.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCell.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCellKind.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentWord.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldBoundingBox.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldData.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValue.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValueType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormContentType.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormElement.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormField.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormLine.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPage.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPageRange.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormReadingOrder.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerError.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerErrorInformation.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerException.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLanguage.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLocale.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerOperationResult.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormSelectionMark.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTable.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTableCell.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormWord.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/Point.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeBusinessCardsOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeContentOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeCustomFormsOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeIdentityDocumentOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeInvoicesOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeReceiptsOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizedForm.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextAppearance.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextStyleName.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/CustomModelTransforms.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/AccountProperties.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CopyAuthorization.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModel.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelField.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelInfo.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelProperties.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelStatus.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormSubmodel.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingDocumentInfo.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingFileFilter.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingOptions.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingStatus.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/package-info.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/package-info.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledDataAsync.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeBusinessCard.java => AnalyzeBusinessCard.java} (50%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeBusinessCardAsync.java => AnalyzeBusinessCardAsync.java} (52%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeBusinessCardFromUrl.java => AnalyzeBusinessCardFromUrl.java} (52%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeBusinessCardFromUrlAsync.java => AnalyzeBusinessCardFromUrlAsync.java} (54%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeIdentityDocuments.java => AnalyzeIdentityDocuments.java} (51%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeIdentityDocumentsAsync.java => AnalyzeIdentityDocumentsAsync.java} (58%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeIdentityDocumentsFromUrl.java => AnalyzeIdentityDocumentsFromUrl.java} (50%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeIdentityDocumentsFromUrlAsync.java => AnalyzeIdentityDocumentsFromUrlAsync.java} (57%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeInvoices.java => AnalyzeInvoices.java} (59%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeInvoicesAsync.java => AnalyzeInvoicesAsync.java} (63%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeInvoicesFromUrl.java => AnalyzeInvoicesFromUrl.java} (58%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeInvoicesFromUrlAsync.java => AnalyzeInvoicesFromUrlAsync.java} (56%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrl.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeReceipts.java => AnalyzeReceipts.java} (59%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeReceiptsAsync.java => AnalyzeReceiptsAsync.java} (64%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeReceiptsFromUrl.java => AnalyzeReceiptsFromUrl.java} (58%) rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{RecognizeReceiptsFromUrlAsync.java => AnalyzeReceiptsFromUrlAsync.java} (62%) delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisClientJavaDocCodeSnippets.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientJavaDocCodeSnippets.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerClientJavaDocCodeSnippets.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientJavaDocCodeSnippets.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingClientJavaDocCodeSnippets.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxes.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxesAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Receipt.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrl.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsyncWithSelectionMarks.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/{ => administration}/CopyModelAsync.java (52%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminClientJavaDocCodeSnippets.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/package-info.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/ContentTypeDetectionTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/CopyAuthorizationSerializerTest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientTest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTestBase.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FieldValueExtensionMethodTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderUnitTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTestBase.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderUnitTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTest.java delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTestBase.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClientTest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTest.java create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTestBase.java rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeBusinessCardDataNullData[1].json => DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDataMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeContentResultWithNullData[1].json => DocumentAnalysisAsyncClientTest.analyzeContentResultWithNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPageRange[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPages[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarksFromUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarks[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContent[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeGermanContentFromUrl[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json => DocumentAnalysisAsyncClientTest.analyzeIDDocumentDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceWithPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseCardData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCardUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCard[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageInvoice[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json => DocumentAnalysisAsyncClientTest.analyzeReceiptDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDataMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrlWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.businessCardWithPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.invoiceValidLocale[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.receiptWithPage[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json => DocumentAnalysisClientTest.analyzeBusinessCardDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDataMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json => DocumentAnalysisClientTest.analyzeContentResultWithNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPageRange[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPages[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarksFromUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarks[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContent[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidStatus[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlNonExistModelId[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlWithSelectionMark[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithEmptyModelId[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullData[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeIDDocumentDataNullData[1].json => DocumentAnalysisClientTest.analyzeCustomDocumentWithNullModelId[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithSelectionMark[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocument[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeGermanContentFromUrl[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerAsyncClientTest.recognizeReceiptDataNullData[1].json => DocumentAnalysisClientTest.analyzeIDDocumentDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromUrlIncludeFieldElements[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeJpgCustomDocument[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseCardData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCardUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCard[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageInvoice[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerClientBuilderTest.clientBuilderWithHttpEndpoint[1].json => DocumentAnalysisClientTest.analyzeReceiptDataNullData[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithBlankPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptData[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDamagedPdf[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDataMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlMultiPage[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptInvalidSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrlWithPngFile[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkAnalyzeDocTypeComposedModelWithModelName[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentComposedModel[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentWithModelName[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceSubLineItemsNull[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceValidLocale[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.recognizeGermanContentFromUrl[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginBuildModel[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginCopy[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.copyAuthorization[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.deleteModelValidModelIdWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getDocumentAnalysisClientAndValidate[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerClientTest.recognizeBusinessCardDataNullData[1].json => DocumentModelAdministrationAsyncClientTest.getModelNullModelId[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listModels[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listOperations[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountPropertiesWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountProperties[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithNonExistPrefixName[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithPrefixName[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerClientTest.recognizeContentResultWithNullData[1].json => DocumentModelAdministrationClientTest.beginBuildModelNullInput[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithJPGTrainingSet[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithMultiPagePDFTrainingSet[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCopy[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCreateComposedModel[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.copyAuthorization[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelNonExistingModelID[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelValidModelIDWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getDocumentAnalysisClientAndValidate[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNonExistingModelID[1].json rename sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/{FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json => DocumentModelAdministrationClientTest.getModelNullModelID[1].json} (100%) create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModelsWithContext[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModels[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountPropertiesWithResponse[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountProperties[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardValidLocale[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardWithPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.invoiceValidLocale[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptValidLocale[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptWithPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentAppearance[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDataMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentIncorrectLanguageFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPageRange[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPages[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrderNatural[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrder[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarksFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarks[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContent[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidStatus[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithPages[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlNonExistModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeGermanContentFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceWithPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseCardData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCardUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCard[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageInvoice[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDataMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrlWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithDefaultPipeline[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidApiKeyCredential[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidEndpoint[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithNullServiceVersion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToInvalidKey[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToValidKey[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModelWithModelName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeLabeledWithModelName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeLabeledModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModelWithModelName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceSubLineItemsNull[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceValidLocale[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.receiptValidLocale[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentAppearance[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDataMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentIncorrectLanguageFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPageRange[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPages[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarksFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarks[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContent[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidStatus[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlNonExistModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeGermanContentFromUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentDataNullData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseCardData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCardUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCard[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageInvoice[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataNullData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithBlankPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptData[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDamagedPdf[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDataMultiPage[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptInvalidSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrlWithPngFile[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrl[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyIncorrectRegion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyInvalidRegion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopy[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedDuplicateModels[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModelWithOptions[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedUnlabeledModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingLabeledModelName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingNullInput[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingUnlabeledModelName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.copyAuthorization[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelInvalidModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelInvalidModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelNullModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getFormRecognizerClientAndValidate[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountPropertiesWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountProperties[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderDefaultPipeline[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidEndpoint[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidKeyCredential[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderNullServiceVersion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToInvalidKey[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToValidKey[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyIncorrectRegion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyInvalidRegion[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopy[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedDuplicateModels[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModelWithOptions[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedUnlabeledModel[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingLabeledModelDisplayName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingNullInput[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.copyAuthorization[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelInvalidModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelInvalidModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelLabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelNullModelId[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelUnlabeled[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getFormRecognizerClientAndValidate[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountPropertiesWithResponse[1].json delete mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountProperties[1].json create mode 100644 sdk/formrecognizer/azure-ai-formrecognizer/swagger/FR-v3.yml delete mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/ScopeTokenCache.java delete mode 100644 sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/ScopeTokenCache.java create mode 100644 sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreUnitTest.java delete mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/ScopeTokenCache.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicy.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicyAttributes.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeAction.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionTrigger.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionsType.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationLifetimeAction.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicy.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyAction.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyProperties.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientManagedHsmTest.java create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.releaseKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.createRsaKeyWithPublicExponent[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyOfNonExistentKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyWithNoPolicySet[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.rotateKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.releaseKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.createRsaKeyWithPublicExponent[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyOfNonExistentKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyWithNoPolicySet[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.rotateKey[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK128[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK192[1].json delete mode 100644 sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/ScopeTokenCache.java create mode 100644 sdk/resourcemanager/azure-resourcemanager-resources/src/test/resources/session-records/GenericResourcesTests.canValidateMoveResources.json delete mode 100644 sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryAsyncClientTests.registerAndGetCachedSchema.json delete mode 100644 sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryClientTests.registerAndGetCachedSchema.json create mode 100644 sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/policy/NoOpHttpPipelinePolicy.java delete mode 100644 sdk/storage/microsoft-azure-storage-blob/tests.yml create mode 100644 sdk/storage/platform-matrix-ci.json create mode 100644 sdk/storage/tests-template.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7403ce79f2f95..47e3e510388de 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -56,10 +56,10 @@ /sdk/cosmos/azure-spring-data-cosmos-test/ @kushagraThapar @mbhaskar @saragluna @yiliuTo @chenrujun @backwind1233 @stliu @ZhuXiaoBing-cn @zhichengliu12581 @moarychan @michaelqi793 # PRLabel: %Digital Twins -/sdk/digitaltwins/ @drwill-ms @timtay-microsoft @abhipsaMisra @azabbasi +/sdk/digitaltwins/ @drwill-ms @azabbasi @johngallardo # PRLabel: %Models Repository -/sdk/modelsrepository @drwill-ms @timtay-microsoft @abhipsaMisra @azabbasi @digimaun +/sdk/modelsrepository @drwill-ms @timtay-microsoft @abhipsaMisra @azabbasi @digimaun @andykwong-ms # PRLabel: %Event Grid /sdk/eventgrid/ @srnagar @lmolkova @mssfang diff --git a/common/perf-test-core/pom.xml b/common/perf-test-core/pom.xml index 368b484cf13fe..61fba5257d298 100644 --- a/common/perf-test-core/pom.xml +++ b/common/perf-test-core/pom.xml @@ -55,12 +55,12 @@ - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] com.beust:jcommander:[1.78] - io.projectreactor:reactor-core:[3.4.9] + io.projectreactor:reactor-core:[3.4.10] @@ -73,7 +73,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.beust @@ -83,7 +83,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 diff --git a/common/smoke-tests/pom.xml b/common/smoke-tests/pom.xml index e5aec68e5b53e..e16147498c9e0 100644 --- a/common/smoke-tests/pom.xml +++ b/common/smoke-tests/pom.xml @@ -88,25 +88,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.14 + 1.0.0-beta.15 com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 diff --git a/eng/bomgenerator/generateAzureSDKBOM.cmd b/eng/bomgenerator/generateAzureSDKBOM.cmd deleted file mode 100644 index ef19ca63e98c8..0000000000000 --- a/eng/bomgenerator/generateAzureSDKBOM.cmd +++ /dev/null @@ -1,5 +0,0 @@ -set "versioningClientFileLocation=%~dp0..\versioning\version_client.txt" -set "bomPomFileLocation=%~dp0..\..\sdk\boms\azure-sdk-bom\pom.xml" -set "outputFileLocation=%~dp0..\..\sdk\boms\azure-sdk-bom\newpom.xml" -set "reportFileLocation=%~dp0report.html" -mvn clean install && mvn exec:java -Dexec.args="-inputFile=%versioningClientFileLocation% -outputFile=%outputFileLocation% -pomFile=%bomPomFileLocation% -reportFile=%reportFileLocation%" && copy %~dp0report.html azuresdkbomreport.html \ No newline at end of file diff --git a/eng/bomgenerator/generateAzureSDKBOM.ps1 b/eng/bomgenerator/generateAzureSDKBOM.ps1 new file mode 100644 index 0000000000000..1cbb0c8eb9efe --- /dev/null +++ b/eng/bomgenerator/generateAzureSDKBOM.ps1 @@ -0,0 +1,28 @@ +$repoRoot = Resolve-Path "${PSScriptRoot}..\..\.." +$inputDir = Join-Path ${PSScriptRoot} "inputDir" +$outputDir = Join-Path ${PSScriptRoot} "outputDir" +$versionClientFileName = "version_client.txt" +$pomFileName = "pom.xml" +$defaultVersionClientFilePath = Join-Path $inputDir $versionClientFileName +$defaultPomFilePath = Join-Path $inputDir $pomFileName +$versionClientFilePath = Join-Path $repoRoot "eng" "versioning" $versionClientFileName +$bomPomFilePath = Join-Path $repoRoot "sdk" "containerregistry" "azure-containers-containerregistry" $pomFileName + +if(! (Test-Path $inputDir)) { + New-Item -Path $PSScriptRoot -Name "inputDir" -ItemType "directory" +} + +if(! (Test-Path $defaultVersionClientFilePath)) { + Copy-Item $versionClientFilePath -Destination $inputDir +} + +if(! (Test-Path $defaultPomFilePath)) { + Copy-Item $bomPomFilePath -Destination $inputDir +} + + +"mvn exec:java -Dexec.args='-inputDir=$inputDir -outputDir=$outputDir -mode=analyze'" +if($LASTEXITCODE -ne 0) { + LogError "Failed to generate the BOM." + exit 1 +} \ No newline at end of file diff --git a/eng/bomgenerator/pom.xml b/eng/bomgenerator/pom.xml index 75d0ff35874a5..c1913c10007ad 100644 --- a/eng/bomgenerator/pom.xml +++ b/eng/bomgenerator/pom.xml @@ -39,6 +39,11 @@ slf4j-log4j12 1.7.5 + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.12.4 + @@ -69,10 +74,8 @@ ${project.basedir} com.azure.tools.bomgenerator.Main - -inputFile=${project.basedir}/../versioning/version_client.txt - -outputFile=${project.basedir}/target/newbom.xml - -pomFile=${project.basedir}/../../sdk/boms/azure-sdk-bom/pom.xml - -reportFile=${project.basedir}/target/dependency_conflictlist.html + -inputdir=${project.basedir}/inputdir + -outputdir=${project.basedir}/outputdir false diff --git a/eng/bomgenerator/readme.md b/eng/bomgenerator/readme.md index c32be2bb38bf3..7918a357b309b 100644 --- a/eng/bomgenerator/readme.md +++ b/eng/bomgenerator/readme.md @@ -3,7 +3,18 @@ This tool generates a BOM from a given set of input dependencies. This tool has 2 modes 1. Generate mode - When run in this mode the tool generates the BOM. This is also the default mode. Arguments to run the tool in this mode. - -inputFile= -outputFile= -pomFile= -inputdependenciesfile= + -inputDir= + This includes the following files. + 1. Version_client.txt file + 2. The BOM file which is the initial POM file. + 3. InputDependencies file to override the inputs from the version_client.txt. This is an optional file. + + -outputDir= + This generates the followibg files in the location. + 1. Report log. + 2. Newly created BOM file + 2. Analyze mode - When run in this mode the tool validates the BOM. Arguments to run the tool in this mode. - -mode=analyze -pomFile= + -mode=analyze -inputDir= + This location includes the pom file for the BOM or any library. diff --git a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/BomGenerator.java b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/BomGenerator.java index 187000795ab77..1aaff50bf7b4d 100644 --- a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/BomGenerator.java +++ b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/BomGenerator.java @@ -13,10 +13,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; @@ -48,84 +50,77 @@ public class BomGenerator { private String overriddenInputDependenciesFileName; private String reportFileName; private String mode; + private String outputDirectory; + private String inputDirectory; private static Logger logger = LoggerFactory.getLogger(BomGenerator.class); - BomGenerator() { - this.mode = GENERATE_MODE; - } - - public String getInputFileName() { - return this.inputFileName; - } - - public void setInputFileName(String inputFileName) { - this.inputFileName = inputFileName; - } - - public String getOverriddenInputDependenciesFileName() { - return this.overriddenInputDependenciesFileName; - } + BomGenerator(String inputDirectory, String outputDirectory, String mode) throws FileNotFoundException { + validateNotNullOrEmpty(inputDirectory, "inputDirectory"); + validateNotNullOrEmpty(outputDirectory, "outputDirectory"); - public void setOverriddenInputDependenciesFileName(String overriddenInputDependenciesFileName) { - this.overriddenInputDependenciesFileName = overriddenInputDependenciesFileName; - } - - public String getOutputFileName() { - return this.outputFileName; - } + this.inputDirectory = inputDirectory; + this.outputDirectory = outputDirectory; + this.mode = (mode == null ? GENERATE_MODE : mode); - public void setOutputFileName(String outputFileName) { - this.outputFileName = outputFileName; - } + parseInputs(); + validateInputs(); - public String getPomFileName() { - return this.pomFileName; + Path outputDirPath = Paths.get(outputDirectory); + outputDirPath.toFile().mkdirs(); } - public void setPomFileName(String pomFileName) { - this.pomFileName = pomFileName; - } - - public String getReportFileName() { - return this.reportFileName; - } + private void parseInputs() throws FileNotFoundException { + this.outputFileName = Paths.get(outputDirectory, "pom.xml").toString(); + this.reportFileName = Paths.get(outputDirectory, "dependency_conflictlist.html").toString(); + this.inputFileName = Paths.get(inputDirectory, "version_client.txt").toString(); + this.pomFileName = Paths.get(inputDirectory, "pom.xml").toString(); + this.overriddenInputDependenciesFileName = Paths.get(inputDirectory, "dependencies.txt").toString(); + } - public void setReportFileName(String reportFileName) { - this.reportFileName = reportFileName; - } + private void validateInputs() throws FileNotFoundException { + switch (this.mode) { + case ANALYZE_MODE: + validateFilePath(this.pomFileName); + break; - public String getMode() { - return this.mode; + case GENERATE_MODE: + // In generate mode, we should have the inputFile, outputFile and the pomFile. + validateFilePath(this.pomFileName); + validateFilePath(this.inputFileName); + break; + } } - public void setMode(String mode) { - this.mode = mode; - } + private void validateFilePath(String filePath) throws FileNotFoundException { + if(Files.notExists(Paths.get(filePath))) { + throw new FileNotFoundException(String.format("%s not found.", filePath)); + } + } - public void run() { + public boolean run() { switch (mode) { case ANALYZE_MODE: - validate(); - break; + return validate(); case GENERATE_MODE: - generate(); - break; + return generate(); default: logger.error("Unknown value for mode: {}", mode); break; } + + return false; } - private void validate() { + private boolean validate() { var inputDependencies = parsePomFileContent(this.pomFileName); DependencyAnalyzer analyzer = new DependencyAnalyzer(inputDependencies, null, this.reportFileName); - analyzer.validate(); + return !analyzer.validate(); } - private void generate() { + private boolean generate() { List inputDependencies = scan(); List externalDependencies = resolveExternalDependencies(); @@ -141,14 +136,15 @@ private void generate() { outputDependencies = analyzer.getBomEligibleDependencies(); // 4. Create the new BOM file. - if(!validationFailed) { + if (!validationFailed) { // Rewrite the existing BOM to have the dependencies in the order in which we insert them, making the diff PR easier to review. rewriteExistingBomFile(); writeBom(outputDependencies); + return true; } - else { - logger.trace("Validation for the BOM failed. Exiting..."); - } + + logger.trace("Validation for the BOM failed. Exiting..."); + return false; } private List scanVersioningClientFileDependencies() { diff --git a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Main.java b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Main.java index aecb576292cfd..d0a73deeaf206 100644 --- a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Main.java +++ b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Main.java @@ -3,14 +3,13 @@ package com.azure.tools.bomgenerator; +import java.io.FileNotFoundException; import java.util.regex.Matcher; import static com.azure.tools.bomgenerator.Utils.ANALYZE_MODE; -import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_OVERRIDDEN_INPUTDEPENDENCIES_FILE; -import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_INPUTFILE; +import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_INPUTDIRECTORY; +import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_OUTPUTDIRECTORY; import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_MODE; -import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_OUTPUTFILE; -import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_POMFILE; -import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_REPORTFILE; +import static com.azure.tools.bomgenerator.Utils.COMMANDLINE_REGEX; import static com.azure.tools.bomgenerator.Utils.GENERATE_MODE; import static com.azure.tools.bomgenerator.Utils.validateNotNullOrEmpty; import static com.azure.tools.bomgenerator.Utils.validateValues; @@ -18,71 +17,55 @@ public class Main { public static void main(String[] args) { - BomGenerator generator = new BomGenerator(); - parseCommandLine(args, generator); - generator.run(); + BomGenerator generator = null; + try { + generator = parseCommandLine(args); + if(!generator.run()) { + System.exit(1); + } + + System.out.println("Completed successfully."); + } catch (FileNotFoundException e) { + System.out.println("Error occurred."); + e.printStackTrace(); + System.exit(1); + } } - private static void parseCommandLine(String[] args, BomGenerator generator) { + private static BomGenerator parseCommandLine(String[] args) throws FileNotFoundException { + String inputDir = null, outputDir = null, mode = null; for (String arg : args) { - Matcher matcher = Utils.COMMANDLINE_REGEX.matcher(arg); + Matcher matcher = COMMANDLINE_REGEX.matcher(arg); if (matcher.matches()) { if (matcher.groupCount() == 2) { String argName = matcher.group(1); String argValue = matcher.group(2); switch (argName.toLowerCase()) { - case COMMANDLINE_INPUTFILE: - validateNotNullOrEmpty(argName, argValue); - generator.setInputFileName(argValue); - break; - - case COMMANDLINE_OVERRIDDEN_INPUTDEPENDENCIES_FILE: - validateNotNullOrEmpty(argName, argValue); - generator.setOverriddenInputDependenciesFileName(argValue); - break; - - case COMMANDLINE_OUTPUTFILE: + case COMMANDLINE_INPUTDIRECTORY: validateNotNullOrEmpty(argName, argValue); - generator.setOutputFileName(argValue); + inputDir = argValue; break; - case COMMANDLINE_POMFILE: + case COMMANDLINE_OUTPUTDIRECTORY: validateNotNullOrEmpty(argName, argValue); - generator.setPomFileName(argValue); - break; - - case COMMANDLINE_REPORTFILE: - validateNotNullOrEmpty(argName, argValue); - generator.setReportFileName(argValue); + outputDir = argValue; break; case COMMANDLINE_MODE: validateNotNullOrEmpty(argName, argValue); validateValues(argName, argValue, GENERATE_MODE, ANALYZE_MODE); - generator.setMode(argValue); + mode = argValue; break; } } + } } - validateOptions(generator); - } - - private static void validateOptions(BomGenerator generator) { - switch (generator.getMode()) { - case ANALYZE_MODE: - // In analyze mode, we should ensure that the pom file is set. - validateNotNullOrEmpty(generator.getPomFileName(), "pomFile"); - break; - - case GENERATE_MODE: - // In generate mode, we should have the inputFile, outputFile and the pomFile. - validateNotNullOrEmpty(generator.getPomFileName(), "pomFile"); - validateNotNullOrEmpty(generator.getInputFileName(), "inputFileName"); - validateNotNullOrEmpty(generator.getOutputFileName(), "outputFileName"); - break; - } + validateNotNullOrEmpty(inputDir, "inputDir"); + validateNotNullOrEmpty(outputDir, "outputDir"); + BomGenerator generator = new BomGenerator(inputDir, outputDir, mode); + return generator; } } diff --git a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Utils.java b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Utils.java index 9d11a3d2005e6..1eed49f964194 100644 --- a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Utils.java +++ b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/Utils.java @@ -5,6 +5,9 @@ import com.azure.tools.bomgenerator.models.BomDependency; import com.azure.tools.bomgenerator.models.BomDependencyNoVersion; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.Model; @@ -17,6 +20,7 @@ import org.jboss.shrinkwrap.resolver.api.maven.MavenStrategyStage; import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage; import org.jboss.shrinkwrap.resolver.api.maven.PomlessResolveStage; +import org.jboss.shrinkwrap.resolver.api.maven.ScopeType; import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,18 +36,14 @@ import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.regex.Pattern; import java.util.stream.Collectors; public class Utils { - public static final String COMMANDLINE_INPUTFILE = "inputfile"; - public static final String COMMANDLINE_OUTPUTFILE = "outputfile"; - public static final String COMMANDLINE_POMFILE = "pomfile"; - public static final String COMMANDLINE_OVERRIDDEN_INPUTDEPENDENCIES_FILE = "inputdependenciesfile"; - public static final String COMMANDLINE_REPORTFILE = "reportfile"; + public static final String COMMANDLINE_INPUTDIRECTORY = "inputdir"; + public static final String COMMANDLINE_OUTPUTDIRECTORY = "outputdir"; public static final String COMMANDLINE_MODE = "mode"; public static final String ANALYZE_MODE = "analyze"; public static final String GENERATE_MODE = "generate"; @@ -183,6 +183,39 @@ static List parsePomFileContent(String fileName) { } static List parsePomFileContent(Reader responseStream) { + List bomDependencies = new ArrayList<>(); + + ObjectMapper mapper = new XmlMapper(); + mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + try { + Model value = mapper.readValue(responseStream, Model.class); + List dependencies = value.getDependencies(); + + if(dependencies == null) { + return bomDependencies; + } + + for(Dependency dependency : dependencies) { + ScopeType scopeType = ScopeType.COMPILE; + + if("test".equals(dependency.getScope())) { + scopeType = ScopeType.TEST; + } + + bomDependencies.add(new BomDependency( + dependency.getGroupId(), + dependency.getArtifactId(), + dependency.getVersion(), + scopeType)); + } + } catch (IOException exception) { + exception.printStackTrace(); + } + + return bomDependencies.stream().distinct().collect(Collectors.toList()); + } + + static List parseBomFileContent(Reader responseStream) { MavenXpp3Reader reader = new MavenXpp3Reader(); try { Model model = reader.read(responseStream); diff --git a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/BOMReport.java b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/BOMReport.java index 0e1dcfbb6d73b..19f907e50aa58 100644 --- a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/BOMReport.java +++ b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/BOMReport.java @@ -12,9 +12,7 @@ import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.Comparator; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/ConflictingDependency.java b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/ConflictingDependency.java index 5f45714607974..a082752b583b6 100644 --- a/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/ConflictingDependency.java +++ b/eng/bomgenerator/src/main/java/com/azure/tools/bomgenerator/models/ConflictingDependency.java @@ -12,10 +12,6 @@ public class ConflictingDependency { this.actualDependency = actualDependency; } - ConflictingDependency(BomDependency actualDependency) { - this.actualDependency = actualDependency; - } - public BomDependency getExpectedDependency() { return this.expectedDependency; } diff --git a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml index 060961b962ab7..2dc315cbba413 100755 --- a/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml +++ b/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml @@ -41,10 +41,6 @@ - - - - @@ -298,10 +294,6 @@ the main ServiceBusClientBuilder. --> - - - - @@ -578,12 +570,6 @@ the main ServiceBusClientBuilder. --> - - - - diff --git a/eng/code-quality-reports/src/main/resources/revapi/revapi.json b/eng/code-quality-reports/src/main/resources/revapi/revapi.json index e414cb2c4a417..3e91029c98cb8 100644 --- a/eng/code-quality-reports/src/main/resources/revapi/revapi.json +++ b/eng/code-quality-reports/src/main/resources/revapi/revapi.json @@ -357,9 +357,9 @@ "justification": "New getter added in azure-core." }, { - "code": "java.method.defaultMethodAddedToInterface", - "new": "method boolean com.azure.core.http.policy.RetryStrategy::shouldRetryException(java.lang.Throwable)", - "justification": "New default method added in azure-core." + "code": "java.method.defaultMethodAddedToInterface", + "new": "method boolean com.azure.core.http.policy.RetryStrategy::shouldRetryException(java.lang.Throwable)", + "justification": "New default method added in azure-core." }, { "code": "java.method.added", @@ -395,6 +395,26 @@ "code": "java.method.added", "new": "method com.azure.core.util.BinaryData com.azure.core.util.BinaryData::fromFile(java.nio.file.Path, int)", "justification": "New method added to BinaryData in azure-core." + }, + { + "code": "java.method.added", + "new": "method com.azure.core.http.HttpHeaders com.azure.core.http.HttpHeaders::add(java.lang.String, java.lang.String)", + "justification": "New method added to HttpHeaders in azure-core." + }, + { + "code": "java.method.added", + "new": "method reactor.core.publisher.Mono com.azure.core.http.HttpResponse::getBodyAsInputStream()", + "justification": "New default method added to HttpResponse in azure-core." + }, + { + "code": "java.method.added", + "new": "method java.lang.String com.azure.core.credential.TokenRequestContext::getTenantId()", + "justification": "New method added to TokenRequestContext in azure-core." + }, + { + "code": "java.method.added", + "new": "method com.azure.core.credential.TokenRequestContext com.azure.core.credential.TokenRequestContext::setTenantId(java.lang.String)", + "justification": "New method added to TokenRequestContext in azure-core." } ] } diff --git a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml index 2f5b5c2e426b3..83d57c6c455e8 100755 --- a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml +++ b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml @@ -1268,85 +1268,13 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eng/common/scripts/Detect-Api-Changes.ps1 b/eng/common/scripts/Detect-Api-Changes.ps1 index 3752101717942..3c88398ce55d8 100644 --- a/eng/common/scripts/Detect-Api-Changes.ps1 +++ b/eng/common/scripts/Detect-Api-Changes.ps1 @@ -16,7 +16,7 @@ Param ( ) # Submit API review request and return status whether current revision is approved or pending or failed to create review -function Submit-Request($filePath) +function Submit-Request($filePath, $packageName) { $repoName = $RepoFullName if (!$repoName) { @@ -29,6 +29,7 @@ function Submit-Request($filePath) $query.Add('commitSha', $CommitSha) $query.Add('repoName', $repoName) $query.Add('pullRequestNumber', $PullRequestNumber) + $query.Add('packageName', $packageName) $uri = [System.UriBuilder]$APIViewUri $uri.query = $query.toString() Write-Host "Request URI: $($uri.Uri.OriginalString)" @@ -71,6 +72,7 @@ function Log-Input-Params() Write-Host "Language: $($Language)" Write-Host "Commit SHA: $($CommitSha)" Write-Host "Repo Name: $($RepoFullName)" + Write-Host "Package Name: $($PackageName)" } . (Join-Path $PSScriptRoot common.ps1) @@ -95,7 +97,7 @@ foreach ($artifact in $ArtifactList) if (Should-Process-Package -pkgPath $pkgPath -packageName $artifact.name) { $filePath = $pkgPath.Replace($ArtifactPath , "").Replace("\", "/") - $respCode = Submit-Request -filePath $filePath + $respCode = Submit-Request -filePath $filePath -packageName $artifact.name if ($respCode -ne '200') { $responses[$artifact.name] = $respCode @@ -108,12 +110,7 @@ foreach ($artifact in $ArtifactList) } } -if ($responses) +foreach($pkg in $responses.keys) { - # Will update this with a link to wiki on how to resolve - Write-Warning "API change detection failed for following packages. Please check above for package level error details." - foreach($pkg in $responses.keys) - { - Write-Host "$pkg failed with $($responses[$pkg]) code" - } + Write-Host "API detection request status for $($pkg) : $($responses[$pkg])" } diff --git a/eng/common/testproxy/docker-start-proxy.ps1 b/eng/common/testproxy/docker-start-proxy.ps1 index 6e0d0edd2b64e..d32cb4b43f487 100644 --- a/eng/common/testproxy/docker-start-proxy.ps1 +++ b/eng/common/testproxy/docker-start-proxy.ps1 @@ -25,7 +25,7 @@ catch { Write-Error "Please check your docker invocation and try running the script again." } -$SELECTED_IMAGE_TAG = "1084681" +$SELECTED_IMAGE_TAG = "1108695" $CONTAINER_NAME = "ambitious_azsdk_test_proxy" $LINUX_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-lin:${SELECTED_IMAGE_TAG}" $WINDOWS_IMAGE_SOURCE = "azsdkengsys.azurecr.io/engsys/testproxy-win:${SELECTED_IMAGE_TAG}" @@ -80,4 +80,4 @@ if ($Mode -eq "stop"){ docker container stop $CONTAINER_NAME } } -} \ No newline at end of file +} diff --git a/eng/guardian-tools/policheck/PolicheckExclusions.xml b/eng/guardian-tools/policheck/PolicheckExclusions.xml new file mode 100644 index 0000000000000..8aff06de6994b --- /dev/null +++ b/eng/guardian-tools/policheck/PolicheckExclusions.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/eng/jacoco-test-coverage/pom.xml b/eng/jacoco-test-coverage/pom.xml index 50f5b2f1e4d5c..862c224b05e0a 100644 --- a/eng/jacoco-test-coverage/pom.xml +++ b/eng/jacoco-test-coverage/pom.xml @@ -44,7 +44,7 @@ com.azure azure-ai-formrecognizer - 3.2.0-beta.1 + 4.0.0-beta.1 com.azure @@ -114,7 +114,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure @@ -129,7 +129,7 @@ com.azure azure-core-experimental - 1.0.0-beta.19 + 1.0.0-beta.20 com.azure @@ -154,7 +154,7 @@ com.azure azure-core-serializer-avro-apache - 1.0.0-beta.15 + 1.0.0-beta.16 com.azure @@ -169,7 +169,7 @@ com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.15 + 1.0.0-beta.16 com.azure diff --git a/eng/pipelines/aggregate-reports.yml b/eng/pipelines/aggregate-reports.yml index 262115544f5e7..a76b1a7116bc0 100644 --- a/eng/pipelines/aggregate-reports.yml +++ b/eng/pipelines/aggregate-reports.yml @@ -8,177 +8,205 @@ pr: include: - eng/pipelines/aggregate-reports.yml -jobs: - - job: Reporting - displayName: Generate reports (with build) - timeoutInMinutes: 180 - variables: - - template: /eng/pipelines/templates/variables/globals.yml - pool: - vmImage: 'ubuntu-20.04' - steps: - - template: /eng/pipelines/templates/steps/cache-maven-repository.yml - parameters: - JobType: 'Reporting' - SDKType: 'client' - ServiceDirectory: 'aggregate-report' - - - # We `install` the code quality reports tooling into our local m2 cache separately from building the Maven project - # reports. This means it is available as part of that, but also so that this is not documented in the project report. - - template: /eng/pipelines/templates/steps/install-reporting-tools.yml - - - task: Maven@3 - displayName: 'Build All Libraries' - inputs: - mavenPomFile: pom.xml - options: '$(DefaultOptions) -T 2C -DskipTests -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dspotbugs.skip=true -Djacoco.skip=true -Drevapi.skip=true -Paggregatereports' - mavenOptions: '$(MemoryOptions) $(LoggingOptions)' - javaHomeOption: 'JDKVersion' - jdkVersionOption: $(JavaBuildVersion) - jdkArchitectureOption: 'x64' - publishJUnitResults: false - goals: 'clean install' - - - task: Maven@3 - displayName: 'Generate Reports' - inputs: - mavenPomFile: pom.xml - options: '$(DefaultOptions) -Dinclude-non-shipping-modules -Dgpg.skip -Paggregatereports' - mavenOptions: '$(MemoryOptions) $(LoggingOptions)' - javaHomeOption: 'JDKVersion' - jdkVersionOption: $(JavaBuildVersion) - jdkArchitectureOption: 'x64' - publishJUnitResults: false - goals: 'verify site:site site:stage' - - - task: Maven@3 - condition: succeededOrFailed() - displayName: 'Generate BOM Reports' - inputs: - mavenPomFile: eng/bomgenerator/pom.xml - options: '$(DefaultOptions)' - mavenOptions: '$(MemoryOptions) $(LoggingOptions)' - javaHomeOption: 'JDKVersion' - jdkVersionOption: $(JavaBuildVersion) - jdkArchitectureOption: 'x64' - publishJUnitResults: false - goals: 'clean package' - - - task: PublishTestResults@2 - condition: succeededOrFailed() - inputs: - mergeTestResults: true - testRunTitle: 'Linux on Java $(JavaBuildVersion)' - - # Azure DevOps only seems to respect the last code coverage result published, so only do this for Linux + Java LTS. - # Code coverage reporting is setup only for Track 2 modules. - - task: PublishCodeCoverageResults@1 - inputs: - codeCoverageTool: JaCoCo - summaryFileLocation: target/site/test-coverage/jacoco.xml - reportDirectory: target/site/test-coverage/ - failIfCoverageEmpty: false - - # Publish code coverage to an artifact so it can be uploaded to the Maven site. - # Do this for track 2 modules only. Code coverage from previous step is only published for Linux + Java LTS. - - task: PublishPipelineArtifact@0 - displayName: 'Publish coverage artifact' - inputs: - artifactName: coverage - targetPath: target/site/ - - - pwsh: | - $(Build.SourcesDirectory)/eng/DependencyGraph/gen-dep-graph-data.ps1 - displayName: Generate Interdependency Report Data - - - pwsh: | - Copy-Item target/staging $(Build.ArtifactStagingDirectory) -Recurse - Copy-Item eng/code-quality-reports/src/main/resources/index.html $(Build.ArtifactStagingDirectory) - Copy-Item eng/code-quality-reports/src/main/resources/dependency-allowlist.html $(Build.ArtifactStagingDirectory)/staging - - Copy-Item eng/common/InterdependencyGraph.html $(Build.ArtifactStagingDirectory)/staging - Copy-Item data.js $(Build.ArtifactStagingDirectory)/staging - displayName: 'Copy reports to artifact staging' - - - pwsh: | - Copy-Item eng/bomgenerator/target/dependency_conflictlist.html $(Build.ArtifactStagingDirectory)/staging - - displayName: 'Copy BOM report to artifact staging' - condition: succeededOrFailed() - - - - publish: $(Build.ArtifactStagingDirectory) - condition: succeededOrFailed() - displayName: 'Publish Report Artifacts' - artifact: reports - - - template: /eng/pipelines/templates/steps/upload-repository-on-failure.yml - - - job: Compliance - displayName: Analyze (no build) - timeoutInMinutes: 120 - variables: - - template: /eng/pipelines/templates/variables/globals.yml - pool: - # CredScan build task is Windows only (https://aka.ms/credscan). - vmImage: 'windows-2019' - steps: - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - # ComponentGovernance is currently unable to run on pull requests of public projects. Running on non-PR - # builds should be sufficient. - # Only run if building all libraries succeeded. - condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) - displayName: 'Component Detection' - - # Put cred scan step before install and build packages to avoid the tool scans generated folder like /target. - - task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@3 - displayName: 'Run CredScan' - inputs: - suppressionsFile: 'eng\CredScanSuppression.json' - condition: succeededOrFailed() - - task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2 - displayName: 'Post Analysis' - inputs: - GdnBreakAllTools: false - GdnBreakGdnToolCredScan: true - GdnBreakGdnToolCredScanSeverity: Error - GdnBreakBaselineFiles: $(Build.SourcesDirectory)\eng\java.gdnbaselines - GdnBreakBaselines: baseline - # Used for generating baseline file. - # GdnBreakOutputBaselineFile: java - # GdnBreakOutputBaseline: baseline - condition: succeededOrFailed() - continueOnError: true - - pwsh: | - $results = (Get-Content "$(Pipeline.workspace)\.gdn\.r\CredScan\001\CredScan-matches.sarif" | ConvertFrom-Json).runs.results - $csvRows = @() - $pathMatchRegex = ("$(Build.SourcesDirectory)" -replace "\\", "/") - $results | ForEach-Object { - $csvRows += [pscustomobject]@{ - ruleId = $_.ruleId - ruleIndex = $_.ruleIndex - fingerprints = $_.fingerprints - message = $_.message - properties = $_.properties - rank = $_.rank - fileName = $_.analysisTarget.uri -replace ".*$pathMatchRegex(.*)", "https://github.com/Azure/azure-sdk-for-java/blob/main/`$1" - startLine = $_.locations.physicalLocation.region.startLine - startColumn = $_.locations.physicalLocation.region.startColumn - endLine = $_.locations.physicalLocation.region.endLine - endColumn = $_.locations.physicalLocation.region.endColumn - level = $_.level - } - } - $csvRows | Export-Csv -Path "$(Pipeline.workspace)\.gdn\.r\CredScan\001\CredScan-matches.csv" -NoTypeInformation - displayName: Add converted csv file for CredScan-matches.sarif - - task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3 - displayName: 'Publish Security Analysis Logs' - condition: succeededOrFailed() - # Run link verification at the end as it will run no matter the pipeline passing or failing. - # If this task fails with an error it shouldn't prevent aggregate reports from being generated. - - template: /eng/common/pipelines/templates/steps/verify-links.yml - parameters: - Directory: "" - CheckLinkGuidance: $true - Condition: succeededOrFailed() +variables: + - template: /eng/pipelines/templates/variables/globals.yml + +stages: + - stage: AggregateReports + displayName: Aggregate Reports + + jobs: + - job: Reporting + displayName: Generate reports (with build) + timeoutInMinutes: 180 + + pool: + vmImage: 'ubuntu-20.04' + + steps: + - template: /eng/pipelines/templates/steps/cache-maven-repository.yml + parameters: + JobType: 'Reporting' + SDKType: 'client' + ServiceDirectory: 'aggregate-report' + + + # We `install` the code quality reports tooling into our local m2 cache separately from building the Maven project + # reports. This means it is available as part of that, but also so that this is not documented in the project report. + - template: /eng/pipelines/templates/steps/install-reporting-tools.yml + + - task: Maven@3 + displayName: 'Build All Libraries' + inputs: + mavenPomFile: pom.xml + options: '$(DefaultOptions) -T 2C -DskipTests -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dspotbugs.skip=true -Djacoco.skip=true -Drevapi.skip=true -Paggregatereports' + mavenOptions: '$(MemoryOptions) $(LoggingOptions)' + javaHomeOption: 'JDKVersion' + jdkVersionOption: $(JavaBuildVersion) + jdkArchitectureOption: 'x64' + publishJUnitResults: false + goals: 'clean install' + + - task: Maven@3 + displayName: 'Generate Reports' + inputs: + mavenPomFile: pom.xml + options: '$(DefaultOptions) -Dinclude-non-shipping-modules -Dgpg.skip -Paggregatereports' + mavenOptions: '$(MemoryOptions) $(LoggingOptions)' + javaHomeOption: 'JDKVersion' + jdkVersionOption: $(JavaBuildVersion) + jdkArchitectureOption: 'x64' + publishJUnitResults: false + goals: 'verify site:site site:stage' + + - task: Maven@3 + condition: succeededOrFailed() + displayName: 'Generate BOM Reports' + inputs: + mavenPomFile: eng/bomgenerator/pom.xml + options: '$(DefaultOptions)' + mavenOptions: '$(MemoryOptions) $(LoggingOptions)' + javaHomeOption: 'JDKVersion' + jdkVersionOption: $(JavaBuildVersion) + jdkArchitectureOption: 'x64' + publishJUnitResults: false + goals: 'clean package' + + - task: PublishTestResults@2 + condition: succeededOrFailed() + inputs: + mergeTestResults: true + testRunTitle: 'Linux on Java $(JavaBuildVersion)' + + # Azure DevOps only seems to respect the last code coverage result published, so only do this for Linux + Java LTS. + # Code coverage reporting is setup only for Track 2 modules. + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: JaCoCo + summaryFileLocation: target/site/test-coverage/jacoco.xml + reportDirectory: target/site/test-coverage/ + failIfCoverageEmpty: false + + # Publish code coverage to an artifact so it can be uploaded to the Maven site. + # Do this for track 2 modules only. Code coverage from previous step is only published for Linux + Java LTS. + - task: PublishPipelineArtifact@0 + displayName: 'Publish coverage artifact' + inputs: + artifactName: coverage + targetPath: target/site/ + + - pwsh: | + $(Build.SourcesDirectory)/eng/DependencyGraph/gen-dep-graph-data.ps1 + displayName: Generate Interdependency Report Data + + - pwsh: | + Copy-Item target/staging $(Build.ArtifactStagingDirectory) -Recurse + Copy-Item eng/code-quality-reports/src/main/resources/index.html $(Build.ArtifactStagingDirectory) + Copy-Item eng/code-quality-reports/src/main/resources/dependency-allowlist.html $(Build.ArtifactStagingDirectory)/staging + + Copy-Item eng/common/InterdependencyGraph.html $(Build.ArtifactStagingDirectory)/staging + Copy-Item data.js $(Build.ArtifactStagingDirectory)/staging + displayName: 'Copy reports to artifact staging' + + - pwsh: | + Copy-Item eng/bomgenerator/target/dependency_conflictlist.html $(Build.ArtifactStagingDirectory)/staging + + displayName: 'Copy BOM report to artifact staging' + condition: succeededOrFailed() + + + - publish: $(Build.ArtifactStagingDirectory) + condition: succeededOrFailed() + displayName: 'Publish Report Artifacts' + artifact: reports + + - template: /eng/pipelines/templates/steps/upload-repository-on-failure.yml + + - job: Compliance + displayName: Analyze (no build) + timeoutInMinutes: 120 + variables: + - template: /eng/pipelines/templates/variables/globals.yml + pool: + # CredScan build task is Windows only (https://aka.ms/credscan). + vmImage: 'windows-2019' + steps: + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 + # ComponentGovernance is currently unable to run on pull requests of public projects. Running on non-PR + # builds should be sufficient. + # Only run if building all libraries succeeded. + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) + displayName: 'Component Detection' + + # Run link verification at the end as it will run no matter the pipeline passing or failing. + # If this task fails with an error it shouldn't prevent aggregate reports from being generated. + - template: /eng/common/pipelines/templates/steps/verify-links.yml + parameters: + Directory: "" + CheckLinkGuidance: $true + Condition: succeededOrFailed() + + - stage: ComplianceTools + displayName: Compliance Tools + dependsOn: [] + + jobs: + - job: ComplianceTools + timeoutInMinutes: 120 + + pool: + name: azsdk-pool-mms-win-2019-general + vmImage: MMS2019 + + steps: + - template: /eng/common/pipelines/templates/steps/policheck.yml + parameters: + ExclusionDataBaseFileName: "JavaPoliCheckExclusion" + PublishAnalysisLogs: false + + - task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@3 + displayName: 'Run CredScan' + inputs: + suppressionsFile: 'eng\CredScanSuppression.json' + condition: succeededOrFailed() + + - task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2 + displayName: 'Post Analysis' + inputs: + GdnBreakAllTools: false + GdnBreakGdnToolCredScan: true + GdnBreakGdnToolCredScanSeverity: Error + GdnBreakBaselineFiles: $(Build.SourcesDirectory)\eng\java.gdnbaselines + GdnBreakBaselines: baseline + # Used for generating baseline file. + # GdnBreakOutputBaselineFile: java + # GdnBreakOutputBaseline: baseline + condition: succeededOrFailed() + continueOnError: true + + - pwsh: | + $results = (Get-Content "$(Pipeline.workspace)\.gdn\.r\CredScan\001\CredScan-matches.sarif" | ConvertFrom-Json).runs.results + $csvRows = @() + $pathMatchRegex = ("$(Build.SourcesDirectory)" -replace "\\", "/") + $results | ForEach-Object { + $csvRows += [pscustomobject]@{ + ruleId = $_.ruleId + ruleIndex = $_.ruleIndex + fingerprints = $_.fingerprints + message = $_.message + properties = $_.properties + rank = $_.rank + fileName = $_.analysisTarget.uri -replace ".*$pathMatchRegex(.*)", "https://github.com/Azure/azure-sdk-for-java/blob/main/`$1" + startLine = $_.locations.physicalLocation.region.startLine + startColumn = $_.locations.physicalLocation.region.startColumn + endLine = $_.locations.physicalLocation.region.endLine + endColumn = $_.locations.physicalLocation.region.endColumn + level = $_.level + } + } + $csvRows | Export-Csv -Path "$(Pipeline.workspace)\.gdn\.r\CredScan\001\CredScan-matches.csv" -NoTypeInformation + displayName: Add converted csv file for CredScan-matches.sarif + + - task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3 + displayName: 'Publish Security Analysis Logs' + condition: succeededOrFailed() diff --git a/eng/pipelines/scripts/generate_overview_from_readme.py b/eng/pipelines/scripts/generate_overview_from_readme.py index 09fb6d77c7f43..56b542f298e27 100644 --- a/eng/pipelines/scripts/generate_overview_from_readme.py +++ b/eng/pipelines/scripts/generate_overview_from_readme.py @@ -16,13 +16,13 @@ import argparse from bs4 import BeautifulSoup +import pdb import markdown2 import os.path from io import open import re -import sys -def generate_overview(readme_file, version): +def generate_overview(readme_file, version, overview_file_path): readme_exists = False if os.path.exists(readme_file) and os.path.isfile(readme_file): @@ -33,7 +33,10 @@ def generate_overview(readme_file, version): # allow processing to continue without failing the build the way a raise would. print('{} does not exist'.format(readme_file)) - html_overview_file = str(readme_file).lower().replace('readme.md', 'readme_overview.html') + if overview_file_path: + html_overview_file = overview_file_path + 'readme_overview.html' + else: + html_overview_file = str(readme_file).lower().replace('readme.md', 'readme_overview.html') if (readme_exists): with open(readme_file, 'r', encoding='utf-8') as f: @@ -45,6 +48,14 @@ def generate_overview(readme_file, version): # The toc helps the anchor link to jump to the right place. html_readme_content = markdown2.markdown(re.sub(pattern='@', repl='{@literal @}', string=readme_content, flags=re.MULTILINE), extras=["fenced-code-blocks", "target-blank-links", "toc"]) + # Now use BeautifulSoup to cleanup the generated HTML so that it conforms to Javadoc compliance. + soup = BeautifulSoup(html_readme_content, features="html.parser") + + # Find all anchor tags with the rel attribute and remove the attribute. + anchors_with_rel = soup.find_all(name='a', attrs={'rel':'noopener'}) + for anchor in anchors_with_rel: + del anchor['rel'] + # The html_readme_content needs to be encapsulated inside of tags in order # for the content to correctly be added to the landing page with open(html_overview_file, 'w', encoding='utf-8') as f: @@ -52,20 +63,21 @@ def generate_overview(readme_file, version): # This will allow this code to work for python 2 and 3 f.write('') f.write('Current version is {}, click here for the index'.format(version)) - f.write('
') + f.write('
') if (readme_exists): - f.write(str(html_readme_content)) + f.write(str(soup.encode(formatter="html5").decode('utf-8'))) f.write('') def main(): parser = argparse.ArgumentParser(description='Generate a readme_overview.html from a README.md.') parser.add_argument('--readme-file', '--rf', help='path to the README.md file to readme_generate the overview.html file from.', required=True) + parser.add_argument('--overview-file-path', '--ofp', help='path to the overview.html file.') parser.add_argument('--version', '--v', help='Version, used on the landing page to identify the version.', required=True) args = parser.parse_args() # verify the argument is a readme.md file if str(args.readme_file).lower().endswith('readme.md'): - generate_overview(args.readme_file, args.version) + generate_overview(args.readme_file, args.version, args.overview_file_path) else: raise ValueError('{} is not a readmefile. The --readme-file argument must be a readme.md file.'.format(args.readme_file)) diff --git a/eng/pipelines/templates/jobs/ci.yml b/eng/pipelines/templates/jobs/ci.yml index f354aef0b263b..d10ae8dab8b45 100644 --- a/eng/pipelines/templates/jobs/ci.yml +++ b/eng/pipelines/templates/jobs/ci.yml @@ -154,6 +154,10 @@ jobs: ArtifactPath: $(Build.ArtifactStagingDirectory) ArtifactName: '$(ArtifactName)' + - template: /eng/common/pipelines/templates/steps/detect-api-changes.yml + parameters: + Artifacts: ${{parameters.Artifacts}} + - template: ../steps/upload-repository-on-failure.yml - job: 'Analyze' diff --git a/eng/spotbugs-aggregate-report/pom.xml b/eng/spotbugs-aggregate-report/pom.xml index fa9636c682d6c..6696fd428a954 100644 --- a/eng/spotbugs-aggregate-report/pom.xml +++ b/eng/spotbugs-aggregate-report/pom.xml @@ -56,7 +56,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 -maxLineLength 120 diff --git a/eng/versioning/external_dependencies.txt b/eng/versioning/external_dependencies.txt index ae20b646c28fe..f65930afa607e 100644 --- a/eng/versioning/external_dependencies.txt +++ b/eng/versioning/external_dependencies.txt @@ -7,18 +7,18 @@ # Format; # groupId:artifactId;dependency-version -com.fasterxml.jackson.core:jackson-annotations;2.12.4 -com.fasterxml.jackson.core:jackson-core;2.12.4 -com.fasterxml.jackson.core:jackson-databind;2.12.4 -com.fasterxml.jackson.dataformat:jackson-dataformat-avro;2.12.4 -com.fasterxml.jackson.dataformat:jackson-dataformat-xml;2.12.4 -com.fasterxml.jackson.datatype:jackson-datatype-jdk8;2.12.4 -com.fasterxml.jackson.datatype:jackson-datatype-jsr310;2.12.4 -com.fasterxml.jackson.module:jackson-module-parameter-names;2.12.4 +com.fasterxml.jackson.core:jackson-annotations;2.12.5 +com.fasterxml.jackson.core:jackson-core;2.12.5 +com.fasterxml.jackson.core:jackson-databind;2.12.5 +com.fasterxml.jackson.dataformat:jackson-dataformat-avro;2.12.5 +com.fasterxml.jackson.dataformat:jackson-dataformat-xml;2.12.5 +com.fasterxml.jackson.datatype:jackson-datatype-jdk8;2.12.5 +com.fasterxml.jackson.datatype:jackson-datatype-jsr310;2.12.5 +com.fasterxml.jackson.module:jackson-module-parameter-names;2.12.5 com.github.spotbugs:spotbugs;4.2.2 com.github.spotbugs:spotbugs-annotations;4.2.2 com.github.spotbugs:spotbugs-maven-plugin;4.2.2 -com.google.code.gson:gson;2.8.7 +com.google.code.gson:gson;2.8.8 com.google.guava:guava;30.1.1-jre com.h3xstream.findsecbugs:findsecbugs-plugin;1.9.0 com.microsoft.azure:azure-annotations;1.7.0 @@ -46,20 +46,21 @@ io.github.bonigarcia:webdrivermanager;4.3.1 io.micrometer:micrometer-core;1.7.3 io.micrometer:micrometer-registry-azure-monitor;1.7.3 io.micrometer:micrometer-registry-graphite;1.7.3 -io.netty:netty-buffer;4.1.67.Final -io.netty:netty-common;4.1.67.Final -io.netty:netty-codec-http;4.1.67.Final -io.netty:netty-codec-http2;4.1.67.Final -io.netty:netty-transport;4.1.67.Final -io.netty:netty-handler;4.1.67.Final -io.netty:netty-handler-proxy;4.1.67.Final -io.netty:netty-tcnative;2.0.40.Final -io.netty:netty-tcnative-boringssl-static;2.0.40.Final -io.netty:netty-transport-native-epoll;4.1.67.Final -io.netty:netty-transport-native-unix-common;4.1.67.Final -io.netty:netty-transport-native-kqueue;4.1.67.Final -io.projectreactor.netty:reactor-netty;1.0.10 -io.projectreactor:reactor-core;3.4.9 +io.netty:netty-buffer;4.1.68.Final +io.netty:netty-common;4.1.68.Final +io.netty:netty-codec-http;4.1.68.Final +io.netty:netty-codec-http2;4.1.68.Final +io.netty:netty-transport;4.1.68.Final +io.netty:netty-handler;4.1.68.Final +io.netty:netty-handler-proxy;4.1.68.Final +io.netty:netty-tcnative;2.0.43.Final +io.netty:netty-tcnative-boringssl-static;2.0.43.Final +io.netty:netty-transport-native-epoll;4.1.68.Final +io.netty:netty-transport-native-unix-common;4.1.68.Final +io.netty:netty-transport-native-kqueue;4.1.68.Final +io.projectreactor.netty:reactor-netty;1.0.11 +io.projectreactor.netty:reactor-netty-http;1.0.11 +io.projectreactor:reactor-core;3.4.10 io.reactivex:rxjava;1.3.8 javax.annotation:javax.annotation-api;1.3.2 javax.json:javax.json-api;1.1.4 @@ -81,6 +82,7 @@ org.apache.qpid:proton-j;0.33.8 org.apache.qpid:qpid-jms-client;0.53.0 org.apache.tinkerpop:gremlin-driver;3.2.4 org.asynchttpclient:async-http-client;2.12.1 +org.codehaus.gmavenplus:gmavenplus-plugin;1.13.0 org.codehaus.groovy:groovy-eclipse-batch;2.5.8-01 org.codehaus.groovy:groovy-eclipse-compiler;3.4.0-01 org.conscrypt:conscrypt-openjdk-uber;2.2.1 @@ -175,7 +177,7 @@ io.opentelemetry:opentelemetry-api;1.0.0 io.opentelemetry:opentelemetry-sdk;1.0.0 io.opentelemetry:opentelemetry-exporter-logging;1.0.0 io.opentelemetry:opentelemetry-exporter-jaeger;1.0.0 -io.projectreactor:reactor-test;3.4.9 +io.projectreactor:reactor-test;3.4.10 junit:junit;4.13.2 commons-cli:commons-cli;1.3 org.apache.maven:maven-compat;3.6.2 @@ -209,6 +211,7 @@ org.junit.vintage:junit-vintage-engine;5.7.2 org.openjdk.jmh:jmh-core;1.22 org.openjdk.jmh:jmh-generator-annprocess;1.22 org.spockframework:spock-core;2.0-M4-groovy-2.5 +groovy3_org.spockframework:spock-core;2.0-groovy-3.0 org.testng:testng;7.3.0 uk.org.lidalia:slf4j-test;1.2.0 @@ -240,7 +243,7 @@ org.apache.maven.plugins:maven-enforcer-plugin;3.0.0-M3 org.apache.maven.plugins:maven-failsafe-plugin;2.22.0 org.apache.maven.plugins:maven-help-plugin;2.1.1 org.apache.maven.plugins:maven-jar-plugin;3.1.2 -org.apache.maven.plugins:maven-javadoc-plugin;3.1.1 +org.apache.maven.plugins:maven-javadoc-plugin;3.3.1 org.apache.maven.plugins:maven-jxr-plugin;3.0.0 org.apache.maven.plugins:maven-project-info-reports-plugin;3.0.0 org.apache.maven.plugins:maven-release-plugin;2.5.3 @@ -267,6 +270,7 @@ org.revapi:revapi-java;0.20.0 org.revapi:revapi-maven-plugin;0.11.2 org.moditect:moditect-maven-plugin;1.0.0.RC1 org.ow2.asm:asm;9.1 +com.azure.tools:codesnippet-maven-plugin;1.0.0-beta.1 # External Dependency Exceptions # This section is for external dependencies whose versions were different than @@ -285,7 +289,7 @@ org.ow2.asm:asm;9.1 test_jar_com.microsoft.azure:azure-mgmt-resources;1.3.1-SNAPSHOT # everything under sdk\cosmos -cosmos_com.fasterxml.jackson.module:jackson-module-afterburner;2.12.2 +cosmos_com.fasterxml.jackson.module:jackson-module-afterburner;2.12.5 cosmos_com.google.guava:guava;25.0-jre cosmos_com.microsoft.data.encryption:cryptography;0.2.2.jre8-preview cosmos_com.microsoft.data.encryption:azure-key-vault-keystoreprovider;0.2.2.jre8-preview @@ -350,9 +354,6 @@ resourcemanager_com.jcraft:jsch;0.1.55 # sdk\storage\azure-storage-blob-cryptography\pom.xml storage_com.microsoft.azure:azure-storage;8.4.0 -# sdk\storage\microsoft-azure-storage-blob\pom.xml -microsoft_azure_storage_blob_org.spockframework:spock-core;1.3-groovy-2.5 - # sdk\spring\azure-spring-boot\pom.xml spring_com.microsoft.azure:azure;1.34.0 spring_org.springframework.kafka:spring-kafka;2.6.6 diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index dc109de978b23..a23ebc6f7fa3f 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -37,7 +37,7 @@ com.azure:azure-sdk-all;1.0.0;1.0.0 com.azure:azure-sdk-parent;1.6.0;1.6.0 com.azure:azure-client-sdk-parent;1.7.0;1.7.0 com.azure:azure-ai-anomalydetector;3.0.0-beta.2;3.0.0-beta.3 -com.azure:azure-ai-formrecognizer;3.1.4;3.2.0-beta.1 +com.azure:azure-ai-formrecognizer;3.1.4;4.0.0-beta.1 com.azure:azure-ai-formrecognizer-perf;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-ai-documenttranslator;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-ai-metricsadvisor;1.0.2;1.1.0-beta.1 @@ -60,20 +60,20 @@ com.azure:azure-communication-phonenumbers;1.0.4;1.1.0-beta.1 com.azure:azure-communication-networktraversal;1.0.0-beta.1;1.0.0-beta.2 com.azure:azure-containers-containerregistry;1.0.0-beta.4;1.0.0-beta.5 com.azure:azure-containers-containerregistry-perf;1.0.0-beta.1;1.0.0-beta.1 -com.azure:azure-core;1.20.0;1.21.0-beta.1 +com.azure:azure-core;1.21.0;1.22.0-beta.1 com.azure:azure-core-amqp;2.3.2;2.4.0-beta.1 com.azure:azure-core-amqp-experimental;1.0.0-beta.1;1.0.0-beta.1 -com.azure:azure-core-experimental;1.0.0-beta.18;1.0.0-beta.19 +com.azure:azure-core-experimental;1.0.0-beta.19;1.0.0-beta.20 com.azure:azure-core-http-jdk-httpclient;1.0.0-beta.1;1.0.0-beta.1 -com.azure:azure-core-http-netty;1.11.0;1.12.0-beta.1 -com.azure:azure-core-http-okhttp;1.7.3;1.8.0-beta.1 -com.azure:azure-core-management;1.4.1;1.5.0-beta.1 -com.azure:azure-core-serializer-avro-apache;1.0.0-beta.14;1.0.0-beta.15 +com.azure:azure-core-http-netty;1.11.1;1.12.0-beta.1 +com.azure:azure-core-http-okhttp;1.7.4;1.8.0-beta.1 +com.azure:azure-core-management;1.4.2;1.5.0-beta.1 +com.azure:azure-core-serializer-avro-apache;1.0.0-beta.15;1.0.0-beta.16 com.azure:azure-core-serializer-avro-jackson;1.0.0-beta.1;1.0.0-beta.2 -com.azure:azure-core-serializer-json-gson;1.1.6;1.2.0-beta.1 -com.azure:azure-core-serializer-json-jackson;1.2.7;1.3.0-beta.1 -com.azure:azure-core-test;1.7.1;1.8.0-beta.1 -com.azure:azure-core-tracing-opentelemetry;1.0.0-beta.14;1.0.0-beta.15 +com.azure:azure-core-serializer-json-gson;1.1.7;1.2.0-beta.1 +com.azure:azure-core-serializer-json-jackson;1.2.8;1.3.0-beta.1 +com.azure:azure-core-test;1.7.2;1.8.0-beta.1 +com.azure:azure-core-tracing-opentelemetry;1.0.0-beta.15;1.0.0-beta.16 com.azure:azure-cosmos;4.19.0;4.19.1 com.azure:azure-cosmos-benchmark;4.0.1-beta.1;4.0.1-beta.1 com.azure:azure-cosmos-dotnet-benchmark;4.0.1-beta.1;4.0.1-beta.1 @@ -140,11 +140,11 @@ com.microsoft.azure:spring-cloud-azure-appconfiguration-config;1.3.0;1.4.0-beta. com.microsoft.azure:spring-cloud-azure-feature-management-web;1.3.0;1.4.0-beta.1 com.microsoft.azure:spring-cloud-azure-feature-management;1.3.0;1.4.0-beta.1 com.microsoft.azure:spring-cloud-starter-azure-appconfiguration-config;1.3.0;1.4.0-beta.1 -com.azure.spring:azure-spring-cloud-appconfiguration-config-web;2.1.0;2.1.1 -com.azure.spring:azure-spring-cloud-appconfiguration-config;2.1.0;2.1.1 -com.azure.spring:azure-spring-cloud-feature-management-web;2.0.0;2.0.1 -com.azure.spring:azure-spring-cloud-feature-management;2.0.0;2.0.1 -com.azure.spring:azure-spring-cloud-starter-appconfiguration-config;2.1.0;2.1.1 +com.azure.spring:azure-spring-cloud-appconfiguration-config-web;2.1.1;2.2.0-beta.1 +com.azure.spring:azure-spring-cloud-appconfiguration-config;2.1.1;2.2.0-beta.1 +com.azure.spring:azure-spring-cloud-feature-management-web;2.0.1;2.1.0-beta.1 +com.azure.spring:azure-spring-cloud-feature-management;2.0.1;2.1.0-beta.1 +com.azure.spring:azure-spring-cloud-starter-appconfiguration-config;2.1.1;2.2.0-beta.1 com.azure.spring:azure-identity-spring;1.9.0;1.10.0-beta.1 com.azure.spring:azure-spring-boot-bom;3.8.0;3.9.0 com.azure.spring:azure-spring-boot-starter-active-directory-b2c;3.9.0;3.10.0-beta.1 @@ -326,7 +326,6 @@ com.azure.resourcemanager:azure-resourcemanager-extendedlocation;1.0.0-beta.1;1. # note: The unreleased dependencies will not be manipulated with the automatic PR creation code. # In the pom, the version update tag after the version should name the unreleased package and the dependency version: # -unreleased_com.azure:azure-core;1.21.0-beta.1 # Released Beta dependencies: Copy the entry from above, prepend "beta_", remove the current # version and set the version to the released beta. Released beta dependencies are only valid diff --git a/pom.xml b/pom.xml index 825a6a88e93a2..de84a0e27ede3 100644 --- a/pom.xml +++ b/pom.xml @@ -160,7 +160,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 1.8 Azure SDK for Java Reference Documentation @@ -586,7 +586,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 non-aggregate diff --git a/sdk/advisor/azure-resourcemanager-advisor/pom.xml b/sdk/advisor/azure-resourcemanager-advisor/pom.xml index 9c664468e26f3..9bcbff7a5d35a 100644 --- a/sdk/advisor/azure-resourcemanager-advisor/pom.xml +++ b/sdk/advisor/azure-resourcemanager-advisor/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/agrifood/azure-verticals-agrifood-farming/pom.xml b/sdk/agrifood/azure-verticals-agrifood-farming/pom.xml index 58c7633a4737b..637ef42c009cf 100644 --- a/sdk/agrifood/azure-verticals-agrifood-farming/pom.xml +++ b/sdk/agrifood/azure-verticals-agrifood-farming/pom.xml @@ -41,17 +41,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -76,7 +76,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -100,7 +100,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/anomalydetector/azure-ai-anomalydetector/pom.xml b/sdk/anomalydetector/azure-ai-anomalydetector/pom.xml index 924633f114fa3..7a4edd759319b 100644 --- a/sdk/anomalydetector/azure-ai-anomalydetector/pom.xml +++ b/sdk/anomalydetector/azure-ai-anomalydetector/pom.xml @@ -38,12 +38,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -68,7 +68,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/apimanagement/azure-resourcemanager-apimanagement/pom.xml b/sdk/apimanagement/azure-resourcemanager-apimanagement/pom.xml index 0874e337da72f..2b00284025813 100644 --- a/sdk/apimanagement/azure-resourcemanager-apimanagement/pom.xml +++ b/sdk/apimanagement/azure-resourcemanager-apimanagement/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/appconfiguration/azure-data-appconfiguration/pom.xml b/sdk/appconfiguration/azure-data-appconfiguration/pom.xml index a74fc9ca5c5e8..d4a4fb680a64d 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/pom.xml +++ b/sdk/appconfiguration/azure-data-appconfiguration/pom.xml @@ -44,25 +44,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -92,7 +92,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/appconfiguration/azure-resourcemanager-appconfiguration/pom.xml b/sdk/appconfiguration/azure-resourcemanager-appconfiguration/pom.xml index 4445ca76f7d6a..6676e8ed5fe65 100644 --- a/sdk/appconfiguration/azure-resourcemanager-appconfiguration/pom.xml +++ b/sdk/appconfiguration/azure-resourcemanager-appconfiguration/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/CHANGELOG.md index b460c14997b05..4482246435611 100644 --- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/CHANGELOG.md +++ b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.2.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 2.1.1 (2021-09-28) ### Bugs Fixed diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml index 1648d6bca93a1..707daaff8f99e 100644 --- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml @@ -12,7 +12,7 @@ com.azure.spring azure-spring-cloud-appconfiguration-config-web - 2.1.1 + 2.2.0-beta.1 Azure Spring Cloud App Configuration Config Web Integration of Spring Cloud Config and Azure App Configuration Service @@ -20,7 +20,7 @@ com.azure.spring azure-spring-cloud-appconfiguration-config - 2.1.1 + 2.2.0-beta.1 org.springframework.boot diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/CHANGELOG.md index 4569ae7014dc5..013e93a600660 100644 --- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/CHANGELOG.md +++ b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.2.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 2.1.1 (2021-09-28) ### Bugs Fixed diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml index 7a20f88dc531e..a35bef5696cd2 100644 --- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml @@ -12,7 +12,7 @@ com.azure.spring azure-spring-cloud-appconfiguration-config - 2.1.1 + 2.2.0-beta.1 Azure Spring Cloud App Configuration Config Integration of Spring Cloud Config and Azure App Configuration Service @@ -46,18 +46,18 @@ com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -77,7 +77,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 org.hibernate.validator @@ -126,8 +126,8 @@ - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] javax.annotation:javax.annotation-api:[1.3.2] org.apache.commons:commons-lang3:[3.12.0] org.apache.httpcomponents:httpclient:[4.5.13] diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md index 711807d776024..d7e2427a4ffa9 100644 --- a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md +++ b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.1.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 2.0.1 (2021-09-28) - Updated to JUnit 5 diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml index 18a6b596750d5..63df6b797f642 100644 --- a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml @@ -11,7 +11,7 @@ com.azure.spring azure-spring-cloud-feature-management-web - 2.0.1 + 2.1.0-beta.1 Azure Spring Cloud Feature Management Web Adds Feature Management into Spring Web @@ -41,7 +41,7 @@ com.azure.spring azure-spring-cloud-feature-management - 2.0.1 + 2.1.0-beta.1 + com.azure.spring:azure-spring-cloud-feature-management:[2.1.0-beta.1] javax.servlet:javax.servlet-api:[4.0.1] org.springframework:spring-web:[5.3.9] org.springframework:spring-webmvc:[5.3.9] diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md index c12b85e752615..04b480a8b3bbc 100644 --- a/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md +++ b/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.1.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 2.0.1 (2021-09-28) - Updated to JUnit 5 diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml b/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml index 9111c812b9716..1d0217614806d 100644 --- a/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml @@ -11,7 +11,7 @@ com.azure.spring azure-spring-cloud-feature-management - 2.0.1 + 2.1.0-beta.1 Azure Spring Cloud Feature Management Adds Feature Management into Spring @@ -39,7 +39,7 @@ io.projectreactor.netty reactor-netty - 1.0.10 + 1.0.11 org.springframework.boot @@ -72,7 +72,7 @@ com.fasterxml.jackson.core:jackson-annotations:[2.11.4] com.fasterxml.jackson.core:jackson-databind:[2.11.4] - io.projectreactor.netty:reactor-netty:[1.0.10] + io.projectreactor.netty:reactor-netty:[1.0.11] org.springframework.boot:spring-boot-starter:[2.5.4] org.springframework:spring-context:[5.3.9] diff --git a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md index bbad6fd348f3f..6acdf02a70988 100644 --- a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md +++ b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md @@ -1,5 +1,15 @@ # Release History +## 2.2.0-beta.1 (Unreleased) + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 2.1.1 (2021-09-28) * Updated with latest releases of azure-spring-cloud-appconfiguration-config-web and azure-spring-cloud-feature-management. diff --git a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml index e4b23f1749ba3..b9fe6ce63e291 100644 --- a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml @@ -11,19 +11,19 @@ com.azure.spring azure-spring-cloud-starter-appconfiguration-config - 2.1.1 + 2.2.0-beta.1 Azure Spring Cloud Starter App Configuration Config com.azure.spring azure-spring-cloud-appconfiguration-config-web - 2.1.1 + 2.2.0-beta.1 com.azure.spring azure-spring-cloud-feature-management-web - 2.0.1 + 2.1.0-beta.1 diff --git a/sdk/appconfiguration/azure-spring-cloud-test-appconfiguration-config/pom.xml b/sdk/appconfiguration/azure-spring-cloud-test-appconfiguration-config/pom.xml index 68e5a9e6028de..c6eaee68712d3 100644 --- a/sdk/appconfiguration/azure-spring-cloud-test-appconfiguration-config/pom.xml +++ b/sdk/appconfiguration/azure-spring-cloud-test-appconfiguration-config/pom.xml @@ -24,7 +24,7 @@ com.azure.spring azure-spring-cloud-starter-appconfiguration-config - 2.1.1 + 2.2.0-beta.1 com.azure.spring diff --git a/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml b/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml index dc2a0e5507fd1..72576340fafe3 100644 --- a/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml +++ b/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml @@ -46,12 +46,12 @@ com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 org.springframework @@ -62,7 +62,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -82,7 +82,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 org.apache.commons @@ -160,8 +160,8 @@ - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] javax.annotation:javax.annotation-api:[1.3.2] org.apache.commons:commons-lang3:[3.12.0] org.apache.httpcomponents:httpclient:[4.5.13] diff --git a/sdk/appconfiguration/spring-cloud-azure-feature-management/pom.xml b/sdk/appconfiguration/spring-cloud-azure-feature-management/pom.xml index 48fd996ef9859..7ac4a5e6d3b93 100644 --- a/sdk/appconfiguration/spring-cloud-azure-feature-management/pom.xml +++ b/sdk/appconfiguration/spring-cloud-azure-feature-management/pom.xml @@ -29,17 +29,17 @@ com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 io.projectreactor.netty reactor-netty - 1.0.10 + 1.0.11 junit @@ -82,9 +82,9 @@ - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] - io.projectreactor.netty:reactor-netty:[1.0.10] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] + io.projectreactor.netty:reactor-netty:[1.0.11] org.springframework.boot:spring-boot-starter:[2.5.4] org.springframework:spring-context:[5.3.9] diff --git a/sdk/applicationinsights/azure-resourcemanager-applicationinsights/pom.xml b/sdk/applicationinsights/azure-resourcemanager-applicationinsights/pom.xml index 32bd339a722ff..de8ac898ec293 100644 --- a/sdk/applicationinsights/azure-resourcemanager-applicationinsights/pom.xml +++ b/sdk/applicationinsights/azure-resourcemanager-applicationinsights/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/attestation/azure-resourcemanager-attestation/pom.xml b/sdk/attestation/azure-resourcemanager-attestation/pom.xml index f9b38b82ab5be..9207c54f0a926 100644 --- a/sdk/attestation/azure-resourcemanager-attestation/pom.xml +++ b/sdk/attestation/azure-resourcemanager-attestation/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/attestation/azure-security-attestation/pom.xml b/sdk/attestation/azure-security-attestation/pom.xml index 0e40670f487ff..f16cfaff48718 100644 --- a/sdk/attestation/azure-security-attestation/pom.xml +++ b/sdk/attestation/azure-security-attestation/pom.xml @@ -45,7 +45,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.nimbusds @@ -57,7 +57,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -81,7 +81,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/authorization/microsoft-azure-authentication-msi-token-provider/pom.xml b/sdk/authorization/microsoft-azure-authentication-msi-token-provider/pom.xml index b6e067ccfb336..403a2ce27c9b3 100644 --- a/sdk/authorization/microsoft-azure-authentication-msi-token-provider/pom.xml +++ b/sdk/authorization/microsoft-azure-authentication-msi-token-provider/pom.xml @@ -112,7 +112,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/automation/azure-resourcemanager-automation/pom.xml b/sdk/automation/azure-resourcemanager-automation/pom.xml index 29fc1f7678310..912f2aba9fa05 100644 --- a/sdk/automation/azure-resourcemanager-automation/pom.xml +++ b/sdk/automation/azure-resourcemanager-automation/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/avs/azure-resourcemanager-avs/pom.xml b/sdk/avs/azure-resourcemanager-avs/pom.xml index eb955953b904b..d0dd6759e02e4 100644 --- a/sdk/avs/azure-resourcemanager-avs/pom.xml +++ b/sdk/avs/azure-resourcemanager-avs/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/azurearcdata/azure-resourcemanager-azurearcdata/pom.xml b/sdk/azurearcdata/azure-resourcemanager-azurearcdata/pom.xml index 452512cb0485c..a80bc8aa8a121 100644 --- a/sdk/azurearcdata/azure-resourcemanager-azurearcdata/pom.xml +++ b/sdk/azurearcdata/azure-resourcemanager-azurearcdata/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/azurestack/azure-resourcemanager-azurestack/pom.xml b/sdk/azurestack/azure-resourcemanager-azurestack/pom.xml index 5a917429558c2..e047dffcda3a9 100644 --- a/sdk/azurestack/azure-resourcemanager-azurestack/pom.xml +++ b/sdk/azurestack/azure-resourcemanager-azurestack/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci/pom.xml b/sdk/azurestackhci/azure-resourcemanager-azurestackhci/pom.xml index a1d7fea077885..62db377db9be9 100644 --- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci/pom.xml +++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/baremetalinfrastructure/azure-resourcemanager-baremetalinfrastructure/pom.xml b/sdk/baremetalinfrastructure/azure-resourcemanager-baremetalinfrastructure/pom.xml index f270dbf7361c9..5926bca2c541b 100644 --- a/sdk/baremetalinfrastructure/azure-resourcemanager-baremetalinfrastructure/pom.xml +++ b/sdk/baremetalinfrastructure/azure-resourcemanager-baremetalinfrastructure/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/batch/azure-resourcemanager-batch/pom.xml b/sdk/batch/azure-resourcemanager-batch/pom.xml index b36e64174875b..b6b9d42c5fbed 100644 --- a/sdk/batch/azure-resourcemanager-batch/pom.xml +++ b/sdk/batch/azure-resourcemanager-batch/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -66,7 +66,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/batch/microsoft-azure-batch/pom.xml b/sdk/batch/microsoft-azure-batch/pom.xml index 0e3017fc165c0..89d022e51adaa 100644 --- a/sdk/batch/microsoft-azure-batch/pom.xml +++ b/sdk/batch/microsoft-azure-batch/pom.xml @@ -71,7 +71,7 @@ com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 test @@ -85,7 +85,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 test diff --git a/sdk/batchai/azure-resourcemanager-batchai/pom.xml b/sdk/batchai/azure-resourcemanager-batchai/pom.xml index f39f35f1ff0c4..c85c056d595ad 100644 --- a/sdk/batchai/azure-resourcemanager-batchai/pom.xml +++ b/sdk/batchai/azure-resourcemanager-batchai/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/billing/azure-resourcemanager-billing/pom.xml b/sdk/billing/azure-resourcemanager-billing/pom.xml index 1165e881875e5..3c72c1d0f0992 100644 --- a/sdk/billing/azure-resourcemanager-billing/pom.xml +++ b/sdk/billing/azure-resourcemanager-billing/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/boms/azure-spring-boot-bom/pom.xml b/sdk/boms/azure-spring-boot-bom/pom.xml index 18e84aa278d17..e6bef0f1323e8 100644 --- a/sdk/boms/azure-spring-boot-bom/pom.xml +++ b/sdk/boms/azure-spring-boot-bom/pom.xml @@ -37,17 +37,10 @@ UTF-8 ${project.build.directory} - ${project.version} - 1.20.0 - 1.3.6 - 4.3.3 - 2.0.0 - 1.10.1 + 2.1.0 0.0.7 - 3.1.0 + 3.2.0 3.11.0 - 12.14.0 - 12.11.0 @@ -57,37 +50,44 @@ + + com.azure + azure-sdk-bom + 1.0.4 + pom + import + com.azure.spring azure-spring-boot - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter-active-directory - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter-active-directory-b2c - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter-cosmos - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter-keyvault-secrets - ${azure.spring.boot.version} + ${project.version} com.azure.spring @@ -97,14 +97,13 @@ com.azure.spring azure-spring-boot-starter-servicebus-jms - ${azure.spring.boot.version} + ${project.version} com.azure.spring azure-spring-boot-starter-storage - ${azure.spring.boot.version} + ${project.version} - com.azure azure-spring-data-cosmos @@ -112,53 +111,16 @@ - - com.azure - azure-core - ${azure.core.version} - - - - com.azure - azure-identity - ${azure.identity.version} - - - - com.microsoft.azure - msal4j - ${azure.msal.version} - - com.microsoft.azure azure-servicebus-jms ${azure.servicebus.jms.version} - - - com.azure - azure-security-keyvault-secrets - ${azure.keyvault.secret.version} - - com.azure azure-security-keyvault-jca ${azure.keyvault.jca.version} - - - com.azure - azure-storage-blob - ${azure.storage.blob.version} - - - - com.azure - azure-storage-file-share - ${azure.storage.fileshare.version} - diff --git a/sdk/boms/azure-spring-cloud-dependencies/pom.xml b/sdk/boms/azure-spring-cloud-dependencies/pom.xml index 27e4519f77957..e6ad2a2aa9420 100644 --- a/sdk/boms/azure-spring-cloud-dependencies/pom.xml +++ b/sdk/boms/azure-spring-cloud-dependencies/pom.xml @@ -43,97 +43,97 @@ UTF-8 ${project.build.directory} - 1.20.0 - 1.10.0 - 5.10.1 - 1.3.6 - 7.4.1 2.8.0 - 2.1.0 - 2.1.0 - 2.0.0 - ${project.version} - 12.11.0 + 2.1.1 + 2.1.1 + 2.0.1 + + com.azure + azure-sdk-bom + 1.0.4 + pom + import + com.azure.spring azure-spring-integration-eventhubs - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-integration-servicebus - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-integration-storage-queue - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-context - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-autoconfigure - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-messaging - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-stream-binder-eventhubs - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-stream-binder-servicebus-topic - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-stream-binder-servicebus-queue - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-starter-cache - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-starter-servicebus - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-starter-eventhubs - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-starter-eventhubs-kafka - ${azure.spring.cloud.version} + ${project.version} com.azure.spring azure-spring-cloud-starter-storage-queue - ${azure.spring.cloud.version} + ${project.version} @@ -164,41 +164,11 @@ - - com.azure - azure-core - ${azure.core.version} - - - com.azure - azure-identity - ${azure.identity.version} - com.azure.resourcemanager azure-resourcemanager ${azure.resourcemanager.version} - - com.azure - azure-messaging-eventhubs - ${azure.eventhubs.version} - - - com.azure - azure-messaging-eventhubs-checkpointstore-blob - ${azure.eventhubs.checkpoint.version} - - - com.azure - azure-messaging-servicebus - ${azure.servicebus.version} - - - com.azure - azure-storage-queue - ${azure.storage.queue.version} - diff --git a/sdk/botservice/azure-resourcemanager-botservice/pom.xml b/sdk/botservice/azure-resourcemanager-botservice/pom.xml index a416d5293a57b..7920c3e71f4e2 100644 --- a/sdk/botservice/azure-resourcemanager-botservice/pom.xml +++ b/sdk/botservice/azure-resourcemanager-botservice/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/changeanalysis/azure-resourcemanager-changeanalysis/pom.xml b/sdk/changeanalysis/azure-resourcemanager-changeanalysis/pom.xml index 134105d903610..a609828400433 100644 --- a/sdk/changeanalysis/azure-resourcemanager-changeanalysis/pom.xml +++ b/sdk/changeanalysis/azure-resourcemanager-changeanalysis/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/cognitiveservices/azure-resourcemanager-cognitiveservices/pom.xml b/sdk/cognitiveservices/azure-resourcemanager-cognitiveservices/pom.xml index 0d3be53196fce..c231fdbe708a0 100644 --- a/sdk/cognitiveservices/azure-resourcemanager-cognitiveservices/pom.xml +++ b/sdk/cognitiveservices/azure-resourcemanager-cognitiveservices/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/cognitiveservices/ms-azure-cs-autosuggest/pom.xml b/sdk/cognitiveservices/ms-azure-cs-autosuggest/pom.xml index b65932935026a..1153e160c316f 100644 --- a/sdk/cognitiveservices/ms-azure-cs-autosuggest/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-autosuggest/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-computervision/pom.xml b/sdk/cognitiveservices/ms-azure-cs-computervision/pom.xml index 05c9ce1d1ee43..44580d015b359 100644 --- a/sdk/cognitiveservices/ms-azure-cs-computervision/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-computervision/pom.xml @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-contentmoderator/pom.xml b/sdk/cognitiveservices/ms-azure-cs-contentmoderator/pom.xml index 5ced70a3a598b..3995cd7588a8b 100644 --- a/sdk/cognitiveservices/ms-azure-cs-contentmoderator/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-contentmoderator/pom.xml @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-customimagesearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-customimagesearch/pom.xml index 7e4d662024135..f18cff5daa4e1 100644 --- a/sdk/cognitiveservices/ms-azure-cs-customimagesearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-customimagesearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-customsearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-customsearch/pom.xml index 08b6995f93b39..fe11cd00b9cd7 100644 --- a/sdk/cognitiveservices/ms-azure-cs-customsearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-customsearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-customvision-prediction/pom.xml b/sdk/cognitiveservices/ms-azure-cs-customvision-prediction/pom.xml index 095303d3741b0..66fcd8878c512 100644 --- a/sdk/cognitiveservices/ms-azure-cs-customvision-prediction/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-customvision-prediction/pom.xml @@ -77,7 +77,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-customvision-training/pom.xml b/sdk/cognitiveservices/ms-azure-cs-customvision-training/pom.xml index 666e9947d5a4b..5d4e2cc5d70aa 100644 --- a/sdk/cognitiveservices/ms-azure-cs-customvision-training/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-customvision-training/pom.xml @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-entitysearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-entitysearch/pom.xml index 3dcbc4362695f..0705a5a76c6a7 100644 --- a/sdk/cognitiveservices/ms-azure-cs-entitysearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-entitysearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-faceapi/pom.xml b/sdk/cognitiveservices/ms-azure-cs-faceapi/pom.xml index 640d32084a6fb..1e334f73a21fc 100644 --- a/sdk/cognitiveservices/ms-azure-cs-faceapi/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-faceapi/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-imagesearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-imagesearch/pom.xml index 77a64957553c9..9889be1e476b5 100644 --- a/sdk/cognitiveservices/ms-azure-cs-imagesearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-imagesearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-luis-authoring/pom.xml b/sdk/cognitiveservices/ms-azure-cs-luis-authoring/pom.xml index d5c82ef1d00fc..c68ec84557343 100644 --- a/sdk/cognitiveservices/ms-azure-cs-luis-authoring/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-luis-authoring/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-luis-runtime/pom.xml b/sdk/cognitiveservices/ms-azure-cs-luis-runtime/pom.xml index fc8666d6e4eda..627315b6b7e74 100644 --- a/sdk/cognitiveservices/ms-azure-cs-luis-runtime/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-luis-runtime/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-newssearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-newssearch/pom.xml index 2722e568ece71..8357daa047a30 100644 --- a/sdk/cognitiveservices/ms-azure-cs-newssearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-newssearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-qnamaker/pom.xml b/sdk/cognitiveservices/ms-azure-cs-qnamaker/pom.xml index be3fb752c4f1f..bb343d326b6a4 100644 --- a/sdk/cognitiveservices/ms-azure-cs-qnamaker/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-qnamaker/pom.xml @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-spellcheck/pom.xml b/sdk/cognitiveservices/ms-azure-cs-spellcheck/pom.xml index 9cf98316d406a..d19f3907ff48f 100644 --- a/sdk/cognitiveservices/ms-azure-cs-spellcheck/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-spellcheck/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-textanalytics/pom.xml b/sdk/cognitiveservices/ms-azure-cs-textanalytics/pom.xml index 76871085b2d2f..5d22e18a7964b 100644 --- a/sdk/cognitiveservices/ms-azure-cs-textanalytics/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-textanalytics/pom.xml @@ -76,7 +76,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-videosearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-videosearch/pom.xml index 831f0d6a0c8f5..8a4f5bcd8f773 100644 --- a/sdk/cognitiveservices/ms-azure-cs-videosearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-videosearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-visualsearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-visualsearch/pom.xml index 71b40a36820dc..822a00611bdd6 100644 --- a/sdk/cognitiveservices/ms-azure-cs-visualsearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-visualsearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/cognitiveservices/ms-azure-cs-websearch/pom.xml b/sdk/cognitiveservices/ms-azure-cs-websearch/pom.xml index e348453c4b276..42534cba1884b 100644 --- a/sdk/cognitiveservices/ms-azure-cs-websearch/pom.xml +++ b/sdk/cognitiveservices/ms-azure-cs-websearch/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/commerce/azure-resourcemanager-commerce/pom.xml b/sdk/commerce/azure-resourcemanager-commerce/pom.xml index 333ba29767137..5f9f381c56f68 100644 --- a/sdk/commerce/azure-resourcemanager-commerce/pom.xml +++ b/sdk/commerce/azure-resourcemanager-commerce/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/communication/azure-communication-callingserver/pom.xml b/sdk/communication/azure-communication-callingserver/pom.xml index 9c4a1dd3af365..e5f99bb6e4f90 100644 --- a/sdk/communication/azure-communication-callingserver/pom.xml +++ b/sdk/communication/azure-communication-callingserver/pom.xml @@ -53,7 +53,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -69,7 +69,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -111,13 +111,13 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java index e75d24834289a..85d823dbe2b09 100644 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java @@ -5,7 +5,6 @@ import com.azure.communication.callingserver.implementation.AzureCommunicationCallingServerServiceImpl; import com.azure.communication.callingserver.implementation.AzureCommunicationCallingServerServiceImplBuilder; -import com.azure.communication.callingserver.implementation.RedirectPolicy; import com.azure.communication.common.implementation.CommunicationConnectionString; import com.azure.communication.common.implementation.HmacAuthenticationPolicy; import com.azure.core.annotation.ServiceClientBuilder; @@ -19,6 +18,7 @@ import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.RedirectPolicy; import com.azure.core.http.policy.RequestIdPolicy; import com.azure.core.http.policy.RetryPolicy; import com.azure.core.http.policy.UserAgentPolicy; @@ -27,12 +27,13 @@ import com.azure.core.util.CoreUtils; import com.azure.core.util.logging.ClientLogger; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; - /** * Client builder that creates CallingServerAsyncClient and CallingServerClient. * @@ -49,6 +50,7 @@ public final class CallingServerClientBuilder { private final ClientLogger logger = new ClientLogger(CallingServerClientBuilder.class); private String connectionString; private String endpoint; + private String hostName; private AzureKeyCredential azureKeyCredential; private TokenCredential tokenCredential; private HttpClient httpClient; @@ -252,6 +254,14 @@ private AzureCommunicationCallingServerServiceImpl createServiceImpl() { } Objects.requireNonNull(endpoint); + if (isTokenCredentialSet) { + try { + hostName = getHostNameFromEndpoint(); + } catch (MalformedURLException e) { + throw logger.logExceptionAsError(new RuntimeException(e.getMessage())); + } + } + if (pipeline == null) { Objects.requireNonNull(httpClient); } @@ -279,20 +289,25 @@ public CallingServerClientBuilder clientOptions(ClientOptions clientOptions) { return this; } - private HttpPipelinePolicy createHttpPipelineAuthPolicy() { + private List createHttpPipelineAuthPolicies() { if (tokenCredential != null && azureKeyCredential != null) { throw logger.logExceptionAsError(new IllegalArgumentException( "Both 'credential' and 'keyCredential' are set. Just one may be used.")); } + + List pipelinePolicies = new ArrayList<>(); if (tokenCredential != null) { - return new BearerTokenAuthenticationPolicy(tokenCredential, - "https://communication.azure.com//.default"); + pipelinePolicies.add(new BearerTokenAuthenticationPolicy(tokenCredential, + "https://communication.azure.com//.default")); + pipelinePolicies.add(new TokenCredentialAddHostHeaderPolicy(hostName)); } else if (azureKeyCredential != null) { - return new HmacAuthenticationPolicy(azureKeyCredential); + pipelinePolicies.add(new HmacAuthenticationPolicy(azureKeyCredential)); } else { throw logger.logExceptionAsError( new IllegalArgumentException("Missing credential information while building a client.")); } + + return pipelinePolicies; } private HttpPipeline createHttpPipeline(HttpClient httpClient) { @@ -319,7 +334,7 @@ private HttpPipeline createHttpPipeline(HttpClient httpClient) { policyList.add(new RequestIdPolicy()); policyList.add((retryPolicy == null) ? new RetryPolicy() : retryPolicy); policyList.add(new RedirectPolicy()); - policyList.add(createHttpPipelineAuthPolicy()); + policyList.addAll(createHttpPipelineAuthPolicies()); policyList.add(new CookiePolicy()); // Add additional policies @@ -341,4 +356,8 @@ private HttpLogOptions getHttpLogOptions() { return httpLogOptions; } + + private String getHostNameFromEndpoint() throws MalformedURLException { + return new URL(endpoint).getHost(); + } } diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java index 8b8bdd4c9c5d9..234b402318449 100644 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java @@ -239,9 +239,9 @@ public Mono> startRecordingWithResponse( request.setRecordingStateCallbackUri(recordingStateCallbackUri); if (startRecordingOptions != null) { - request.setRecordingChannelType(startRecordingOptions.getRecordingChannelType()); - request.setRecordingContentType(startRecordingOptions.getRecordingContentType()); - request.setRecordingFormatType(startRecordingOptions.getRecordingFormatType()); + request.setRecordingChannelType(startRecordingOptions.getRecordingChannel()); + request.setRecordingContentType(startRecordingOptions.getRecordingContent()); + request.setRecordingFormatType(startRecordingOptions.getRecordingFormat()); } return withContext(contextValue -> { diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicy.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicy.java new file mode 100644 index 0000000000000..bf24c4bf6fd94 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicy.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.communication.callingserver; + +import com.azure.core.http.HttpPipelineCallContext; +import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.policy.HttpPipelinePolicy; + +import reactor.core.publisher.Mono; + +import java.util.Objects; + +/** + * HttpPipelinePolicy to append request host headers for CallingServerClient TokenCredential requests + */ +public final class TokenCredentialAddHostHeaderPolicy implements HttpPipelinePolicy { + private static final String X_MS_HOST_HEADER = "x-ms-host"; + private final String xMsHostValue; + + /** + * Created with a non-null resourceHostName value + * @param resourceHostName Host name of the ACS resource + */ + public TokenCredentialAddHostHeaderPolicy(String resourceHostName) { + Objects.requireNonNull(resourceHostName, "'resourceHostName' cannot be a null value."); + xMsHostValue = resourceHostName; + } + + @Override + public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + if (!xMsHostValue.isEmpty()) { + context.getHttpRequest().setHeader(X_MS_HOST_HEADER, xMsHostValue); + } + return next.process(); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/RedirectPolicy.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/RedirectPolicy.java deleted file mode 100644 index 53a763b5e069c..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/RedirectPolicy.java +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -package com.azure.communication.callingserver.implementation; - -import com.azure.core.http.HttpPipelineCallContext; -import com.azure.core.http.HttpPipelineNextPolicy; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.HttpPipelinePolicy; -import com.azure.core.util.logging.ClientLogger; -import reactor.core.publisher.Mono; - -import java.util.HashSet; -import java.util.Set; - -/** - * HttpPipelinePolicy to redirect requests when a redirect response (Http codes 301 or 302) is received to the - * new location marked by the Location header. - */ -public final class RedirectPolicy implements HttpPipelinePolicy { - private static final int MAX_REDIRECTS = 10; - private static final String LOCATION_HEADER_NAME = "Location"; - private static final int SC_MOVED_PERMANENTLY = 301; - private static final int SC_MOVED_TEMPORARILY = 302; - - private final ClientLogger logger = new ClientLogger(RedirectPolicy.class); - - @Override - public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { - return attemptRedirection(context, next, 0, new HashSet<>()); - } - - private Mono attemptRedirection(HttpPipelineCallContext context, HttpPipelineNextPolicy next, - int redirectNumber, Set attemptedRedirectLocations) { - return next.clone().process().flatMap(httpResponse -> { - if (isRedirectResponse(httpResponse) - && shouldRedirect(httpResponse, context, redirectNumber, attemptedRedirectLocations)) { - String newLocation = httpResponse.getHeaderValue(LOCATION_HEADER_NAME); - attemptedRedirectLocations.add(newLocation); - - HttpRequest newRequest = context.getHttpRequest().copy(); - newRequest.setUrl(newLocation); - context.setHttpRequest(newRequest); - - return attemptRedirection(context, next, redirectNumber + 1, attemptedRedirectLocations); - } - return Mono.just(httpResponse); - }); - } - - private boolean isRedirectResponse(HttpResponse response) { - return response.getStatusCode() == SC_MOVED_TEMPORARILY || response.getStatusCode() == SC_MOVED_PERMANENTLY; - } - - private boolean shouldRedirect(HttpResponse response, HttpPipelineCallContext context, int retryCount, - Set attemptedRedirectLocations) { - if (retryCount > MAX_REDIRECTS) { - logger.error(String.format("Request to %s has been redirected more than %s times.", - context.getHttpRequest().getUrl(), MAX_REDIRECTS)); - return false; - } - if (attemptedRedirectLocations.contains(response.getHeaderValue(LOCATION_HEADER_NAME))) { - logger.error(String.format("Request to %s was redirected more than once to: %s", - context.getHttpRequest().getUrl(), response.getHeaderValue(LOCATION_HEADER_NAME))); - return false; - } - return true; - } - -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannel.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannel.java new file mode 100644 index 0000000000000..58363967867d4 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannel.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingChannel. */ +public final class RecordingChannel extends ExpandableStringEnum { + /** Static value mixed for RecordingChannel. */ + public static final RecordingChannel MIXED = fromString("mixed"); + + /** Static value unmixed for RecordingChannel. */ + public static final RecordingChannel UNMIXED = fromString("unmixed"); + + /** + * Creates or finds a RecordingChannel from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingChannel. + */ + @JsonCreator + public static RecordingChannel fromString(String name) { + return fromString(name, RecordingChannel.class); + } + + /** @return known RecordingChannel values. */ + public static Collection values() { + return values(RecordingChannel.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannelType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannelType.java deleted file mode 100644 index 2f272fe772b70..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingChannelType.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingChannelType. */ -public final class RecordingChannelType extends ExpandableStringEnum { - /** Static value mixed for RecordingChannelType. */ - public static final RecordingChannelType MIXED = fromString("mixed"); - - /** Static value unmixed for RecordingChannelType. */ - public static final RecordingChannelType UNMIXED = fromString("unmixed"); - - /** - * Creates or finds a RecordingChannelType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingChannelType. - */ - @JsonCreator - public static RecordingChannelType fromString(String name) { - return fromString(name, RecordingChannelType.class); - } - - /** @return known RecordingChannelType values. */ - public static Collection values() { - return values(RecordingChannelType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContent.java new file mode 100644 index 0000000000000..cb3a2a08c02b3 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContent.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingContent. */ +public final class RecordingContent extends ExpandableStringEnum { + /** Static value audio for RecordingContent. */ + public static final RecordingContent AUDIO = fromString("audio"); + + /** Static value audioVideo for RecordingContent. */ + public static final RecordingContent AUDIO_VIDEO = fromString("audioVideo"); + + /** + * Creates or finds a RecordingContent from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingContent. + */ + @JsonCreator + public static RecordingContent fromString(String name) { + return fromString(name, RecordingContent.class); + } + + /** @return known RecordingContent values. */ + public static Collection values() { + return values(RecordingContent.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContentType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContentType.java deleted file mode 100644 index fd0d9d4465130..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingContentType.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingContentType. */ -public final class RecordingContentType extends ExpandableStringEnum { - /** Static value audio for RecordingContentType. */ - public static final RecordingContentType AUDIO = fromString("audio"); - - /** Static value audioVideo for RecordingContentType. */ - public static final RecordingContentType AUDIO_VIDEO = fromString("audioVideo"); - - /** - * Creates or finds a RecordingContentType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingContentType. - */ - @JsonCreator - public static RecordingContentType fromString(String name) { - return fromString(name, RecordingContentType.class); - } - - /** @return known RecordingContentType values. */ - public static Collection values() { - return values(RecordingContentType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormat.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormat.java new file mode 100644 index 0000000000000..b9766c0c48a70 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormat.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingFormat. */ +public final class RecordingFormat extends ExpandableStringEnum { + /** Static value wav for RecordingFormat. */ + public static final RecordingFormat WAV = fromString("wav"); + + /** Static value mp3 for RecordingFormat. */ + public static final RecordingFormat MP3 = fromString("mp3"); + + /** Static value mp4 for RecordingFormat. */ + public static final RecordingFormat MP4 = fromString("mp4"); + + /** + * Creates or finds a RecordingFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingFormat. + */ + @JsonCreator + public static RecordingFormat fromString(String name) { + return fromString(name, RecordingFormat.class); + } + + /** @return known RecordingFormat values. */ + public static Collection values() { + return values(RecordingFormat.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormatType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormatType.java deleted file mode 100644 index e5050db79ee55..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/RecordingFormatType.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingFormatType. */ -public final class RecordingFormatType extends ExpandableStringEnum { - /** Static value wav for RecordingFormatType. */ - public static final RecordingFormatType WAV = fromString("wav"); - - /** Static value mp3 for RecordingFormatType. */ - public static final RecordingFormatType MP3 = fromString("mp3"); - - /** Static value mp4 for RecordingFormatType. */ - public static final RecordingFormatType MP4 = fromString("mp4"); - - /** - * Creates or finds a RecordingFormatType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingFormatType. - */ - @JsonCreator - public static RecordingFormatType fromString(String name) { - return fromString(name, RecordingFormatType.class); - } - - /** @return known RecordingFormatType values. */ - public static Collection values() { - return values(RecordingFormatType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/StartCallRecordingRequest.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/StartCallRecordingRequest.java index 0398c5ba983b2..9312164687f8e 100644 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/StartCallRecordingRequest.java +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/StartCallRecordingRequest.java @@ -4,9 +4,10 @@ package com.azure.communication.callingserver.implementation.models; -import com.azure.communication.callingserver.models.RecordingChannelType; -import com.azure.communication.callingserver.models.RecordingContentType; -import com.azure.communication.callingserver.models.RecordingFormatType; +import com.azure.communication.callingserver.models.RecordingChannel; +import com.azure.communication.callingserver.models.RecordingContent; +import com.azure.communication.callingserver.models.RecordingFormat; + import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; @@ -23,19 +24,19 @@ public final class StartCallRecordingRequest { * Optional, audioVideo by default */ @JsonProperty(value = "recordingContentType") - private RecordingContentType recordingContentType; + private RecordingContent recordingContentType; /* * Optional, mixed by default */ @JsonProperty(value = "recordingChannelType") - private RecordingChannelType recordingChannelType; + private RecordingChannel recordingChannelType; /* * Optional, mp4 by default */ @JsonProperty(value = "recordingFormatType") - private RecordingFormatType recordingFormatType; + private RecordingFormat recordingFormatType; /** * Get the recordingStateCallbackUri property: The uri to send notifications to. @@ -62,7 +63,7 @@ public StartCallRecordingRequest setRecordingStateCallbackUri(String recordingSt * * @return the recordingContentType value. */ - public RecordingContentType getRecordingContentType() { + public RecordingContent getRecordingContentType() { return this.recordingContentType; } @@ -72,7 +73,7 @@ public RecordingContentType getRecordingContentType() { * @param recordingContentType the recordingContentType value to set. * @return the StartCallRecordingRequest object itself. */ - public StartCallRecordingRequest setRecordingContentType(RecordingContentType recordingContentType) { + public StartCallRecordingRequest setRecordingContentType(RecordingContent recordingContentType) { this.recordingContentType = recordingContentType; return this; } @@ -82,7 +83,7 @@ public StartCallRecordingRequest setRecordingContentType(RecordingContentType re * * @return the recordingChannelType value. */ - public RecordingChannelType getRecordingChannelType() { + public RecordingChannel getRecordingChannelType() { return this.recordingChannelType; } @@ -92,7 +93,7 @@ public RecordingChannelType getRecordingChannelType() { * @param recordingChannelType the recordingChannelType value to set. * @return the StartCallRecordingRequest object itself. */ - public StartCallRecordingRequest setRecordingChannelType(RecordingChannelType recordingChannelType) { + public StartCallRecordingRequest setRecordingChannelType(RecordingChannel recordingChannelType) { this.recordingChannelType = recordingChannelType; return this; } @@ -102,7 +103,7 @@ public StartCallRecordingRequest setRecordingChannelType(RecordingChannelType re * * @return the recordingFormatType value. */ - public RecordingFormatType getRecordingFormatType() { + public RecordingFormat getRecordingFormatType() { return this.recordingFormatType; } @@ -112,7 +113,7 @@ public RecordingFormatType getRecordingFormatType() { * @param recordingFormatType the recordingFormatType value to set. * @return the StartCallRecordingRequest object itself. */ - public StartCallRecordingRequest setRecordingFormatType(RecordingFormatType recordingFormatType) { + public StartCallRecordingRequest setRecordingFormatType(RecordingFormat recordingFormatType) { this.recordingFormatType = recordingFormatType; return this; } diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannel.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannel.java new file mode 100644 index 0000000000000..de5f03aff28e2 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannel.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingChannel. */ +public final class RecordingChannel extends ExpandableStringEnum { + /** Static value mixed for RecordingChannel. */ + public static final RecordingChannel MIXED = fromString("mixed"); + + /** Static value unmixed for RecordingChannel. */ + public static final RecordingChannel UNMIXED = fromString("unmixed"); + + /** + * Creates or finds a RecordingChannel from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingChannel. + */ + @JsonCreator + public static RecordingChannel fromString(String name) { + return fromString(name, RecordingChannel.class); + } + + /** @return known RecordingChannel values. */ + public static Collection values() { + return values(RecordingChannel.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannelType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannelType.java deleted file mode 100644 index f2d25ac85ce4a..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingChannelType.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingChannelType. */ -public final class RecordingChannelType extends ExpandableStringEnum { - /** Static value mixed for RecordingChannelType. */ - public static final RecordingChannelType MIXED = fromString("mixed"); - - /** Static value unmixed for RecordingChannelType. */ - public static final RecordingChannelType UNMIXED = fromString("unmixed"); - - /** - * Creates or finds a RecordingChannelType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingChannelType. - */ - @JsonCreator - public static RecordingChannelType fromString(String name) { - return fromString(name, RecordingChannelType.class); - } - - /** @return known RecordingChannelType values. */ - public static Collection values() { - return values(RecordingChannelType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContent.java new file mode 100644 index 0000000000000..8f8eb5ee696f8 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContent.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingContent. */ +public final class RecordingContent extends ExpandableStringEnum { + /** Static value audio for RecordingContent. */ + public static final RecordingContent AUDIO = fromString("audio"); + + /** Static value audioVideo for RecordingContent. */ + public static final RecordingContent AUDIO_VIDEO = fromString("audioVideo"); + + /** + * Creates or finds a RecordingContent from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingContent. + */ + @JsonCreator + public static RecordingContent fromString(String name) { + return fromString(name, RecordingContent.class); + } + + /** @return known RecordingContent values. */ + public static Collection values() { + return values(RecordingContent.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContentType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContentType.java deleted file mode 100644 index f01864592b3f9..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingContentType.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingContentType. */ -public final class RecordingContentType extends ExpandableStringEnum { - /** Static value audio for RecordingContentType. */ - public static final RecordingContentType AUDIO = fromString("audio"); - - /** Static value audioVideo for RecordingContentType. */ - public static final RecordingContentType AUDIO_VIDEO = fromString("audioVideo"); - - /** - * Creates or finds a RecordingContentType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingContentType. - */ - @JsonCreator - public static RecordingContentType fromString(String name) { - return fromString(name, RecordingContentType.class); - } - - /** @return known RecordingContentType values. */ - public static Collection values() { - return values(RecordingContentType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormat.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormat.java new file mode 100644 index 0000000000000..0f7b06ab8eda8 --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormat.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.communication.callingserver.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecordingFormat. */ +public final class RecordingFormat extends ExpandableStringEnum { + /** Static value wav for RecordingFormat. */ + public static final RecordingFormat WAV = fromString("wav"); + + /** Static value mp3 for RecordingFormat. */ + public static final RecordingFormat MP3 = fromString("mp3"); + + /** Static value mp4 for RecordingFormat. */ + public static final RecordingFormat MP4 = fromString("mp4"); + + /** + * Creates or finds a RecordingFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordingFormat. + */ + @JsonCreator + public static RecordingFormat fromString(String name) { + return fromString(name, RecordingFormat.class); + } + + /** @return known RecordingFormat values. */ + public static Collection values() { + return values(RecordingFormat.class); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormatType.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormatType.java deleted file mode 100644 index 7fa2fe097a76e..0000000000000 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/RecordingFormatType.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.communication.callingserver.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for RecordingFormatType. */ -public final class RecordingFormatType extends ExpandableStringEnum { - /** Static value wav for RecordingFormatType. */ - public static final RecordingFormatType WAV = fromString("wav"); - - /** Static value mp3 for RecordingFormatType. */ - public static final RecordingFormatType MP3 = fromString("mp3"); - - /** Static value mp4 for RecordingFormatType. */ - public static final RecordingFormatType MP4 = fromString("mp4"); - - /** - * Creates or finds a RecordingFormatType from its string representation. - * - * @param name a name to look for. - * @return the corresponding RecordingFormatType. - */ - @JsonCreator - public static RecordingFormatType fromString(String name) { - return fromString(name, RecordingFormatType.class); - } - - /** @return known RecordingFormatType values. */ - public static Collection values() { - return values(RecordingFormatType.class); - } -} diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/StartRecordingOptions.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/StartRecordingOptions.java index 85f03889a3f7d..bbda2e0c6ee99 100644 --- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/StartRecordingOptions.java +++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/StartRecordingOptions.java @@ -10,67 +10,67 @@ @Fluent public final class StartRecordingOptions { - private RecordingContentType recordingContentType = null; - private RecordingChannelType recordingChannelType = null; - private RecordingFormatType recordingFormatType = null; + private RecordingContent recordingContent = null; + private RecordingChannel recordingChannel = null; + private RecordingFormat recordingFormat = null; /** - * Get the recordingContentType property: Optional, audioVideo by default. + * Get the recordingContent property: Optional, audioVideo by default. * - * @return the recordingContentType value. + * @return the recordingContent value. */ - public RecordingContentType getRecordingContentType() { - return this.recordingContentType; + public RecordingContent getRecordingContent() { + return this.recordingContent; } /** - * Set the recordingContentType property: Optional, audioVideo by default. + * Set the recordingContent property: Optional, audioVideo by default. * - * @param recordingContentType the recordingContentType value to set. + * @param recordingContent the recordingContent value to set. * @return the StartCallRecordingRequest object itself. */ - public StartRecordingOptions setRecordingContentType(RecordingContentType recordingContentType) { - this.recordingContentType = recordingContentType; + public StartRecordingOptions setRecordingContent(RecordingContent recordingContent) { + this.recordingContent = recordingContent; return this; } /** - * Get the recordingChannelType property: Optional, mixed by default. + * Get the recordingChannel property: Optional, mixed by default. * - * @return the recordingChannelType value. + * @return the recordingChannel value. */ - public RecordingChannelType getRecordingChannelType() { - return this.recordingChannelType; + public RecordingChannel getRecordingChannel() { + return this.recordingChannel; } /** - * Set the recordingChannelType property: Optional, mixed by default. + * Set the recordingChannel property: Optional, mixed by default. * - * @param recordingChannelType the recordingChannelType value to set. + * @param recordingChannel the recordingChannel value to set. * @return the StartCallRecordingRequest object itself. */ - public StartRecordingOptions setRecordingChannelType(RecordingChannelType recordingChannelType) { - this.recordingChannelType = recordingChannelType; + public StartRecordingOptions setRecordingChannel(RecordingChannel recordingChannel) { + this.recordingChannel = recordingChannel; return this; } /** - * Get the recordingFormatType property: Optional, mp4 by default. + * Get the recordingFormat property: Optional, mp4 by default. * - * @return the recordingFormatType value. + * @return the recordingFormat value. */ - public RecordingFormatType getRecordingFormatType() { - return this.recordingFormatType; + public RecordingFormat getRecordingFormat() { + return this.recordingFormat; } /** - * Set the recordingFormatType property: Optional, mp4 by default. + * Set the recordingFormat property: Optional, mp4 by default. * - * @param recordingFormatType the recordingFormatType value to set. + * @param recordingFormat the recordingFormat value to set. * @return the StartCallRecordingRequest object itself. */ - public StartRecordingOptions setRecordingFormatType(RecordingFormatType recordingFormatType) { - this.recordingFormatType = recordingFormatType; + public StartRecordingOptions setRecordingFormat(RecordingFormat recordingFormat) { + this.recordingFormat = recordingFormat; return this; } diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallUnitTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallUnitTests.java index 019472bbda0fb..dc2d3ab18ff93 100644 --- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallUnitTests.java +++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallUnitTests.java @@ -10,9 +10,9 @@ import java.util.Arrays; import java.util.AbstractMap.SimpleEntry; -import com.azure.communication.callingserver.models.RecordingChannelType; -import com.azure.communication.callingserver.models.RecordingContentType; -import com.azure.communication.callingserver.models.RecordingFormatType; +import com.azure.communication.callingserver.models.RecordingChannel; +import com.azure.communication.callingserver.models.RecordingContent; +import com.azure.communication.callingserver.models.RecordingFormat; import com.azure.communication.callingserver.models.StartRecordingOptions; import com.azure.communication.callingserver.implementation.models.ResultInfoInternal; import com.azure.communication.callingserver.models.AddParticipantResult; @@ -47,9 +47,9 @@ public void startRecordingRelativeUriFails() { @Test public void startRecordingWithRecordingParamsRelativeUriFails() { StartRecordingOptions startRecordingOptions = new StartRecordingOptions(); - startRecordingOptions.setRecordingChannelType(RecordingChannelType.MIXED); - startRecordingOptions.setRecordingContentType(RecordingContentType.AUDIO_VIDEO); - startRecordingOptions.setRecordingFormatType(RecordingFormatType.MP4); + startRecordingOptions.setRecordingChannel(RecordingChannel.MIXED); + startRecordingOptions.setRecordingContent(RecordingContent.AUDIO_VIDEO); + startRecordingOptions.setRecordingFormat(RecordingFormat.MP4); ServerCall serverCall = new CallingServerClientBuilder() .httpClient(new NoOpHttpClient()) @@ -105,9 +105,9 @@ public void startRecordingAsyncFails() { @Test public void startRecordingWithRecordingParamsAsyncFails() { StartRecordingOptions startRecordingOptions = new StartRecordingOptions(); - startRecordingOptions.setRecordingChannelType(RecordingChannelType.MIXED); - startRecordingOptions.setRecordingContentType(RecordingContentType.AUDIO_VIDEO); - startRecordingOptions.setRecordingFormatType(RecordingFormatType.MP4); + startRecordingOptions.setRecordingChannel(RecordingChannel.MIXED); + startRecordingOptions.setRecordingContent(RecordingContent.AUDIO_VIDEO); + startRecordingOptions.setRecordingFormat(RecordingFormat.MP4); ServerCallAsync serverCall = new CallingServerClientBuilder() .httpClient(new NoOpHttpClient()) diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicyTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicyTests.java new file mode 100644 index 0000000000000..ac90d0b0ad74c --- /dev/null +++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/TokenCredentialAddHostHeaderPolicyTests.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.communication.callingserver; + +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpMethod; +import com.azure.core.http.HttpRequest; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.policy.HttpPipelinePolicy; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.net.MalformedURLException; +import java.net.URL; + +public class TokenCredentialAddHostHeaderPolicyTests { + + private class NoOpHttpClient implements HttpClient { + @Override + public Mono send(HttpRequest request) { + return Mono.empty(); // NOP + } + } + + private static final String HOST_NAME = "host.communication.azure.com"; + + private final HttpPipelinePolicy verifyHeadersPolicy = (context, next) -> { + HttpRequest request = context.getHttpRequest(); + String hostHeaderValue = request.getHeaders().getValue("x-ms-host"); + assertEquals(HOST_NAME, hostHeaderValue); + return next.process(); + }; + + @Test + public void getRequestTest() throws MalformedURLException { + final TokenCredentialAddHostHeaderPolicy clientPolicy = new TokenCredentialAddHostHeaderPolicy(HOST_NAME); + + final HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(new NoOpHttpClient()) + .policies(clientPolicy, verifyHeadersPolicy) + .build(); + + HttpRequest request = new HttpRequest(HttpMethod.GET, new URL("https://localhost?id=b93a5ef4-f622-44d8-a80b-ff983122554e")); + StepVerifier.create(pipeline.send(request)) + .verifyComplete(); + } + + @Test + public void postRequestTest() throws MalformedURLException { + final TokenCredentialAddHostHeaderPolicy clientPolicy = new TokenCredentialAddHostHeaderPolicy(HOST_NAME); + + final HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(new NoOpHttpClient()) + .policies(clientPolicy, verifyHeadersPolicy) + .build(); + + HttpRequest request = new HttpRequest(HttpMethod.POST, new URL("https://localhost?id=b93a5ef4-f622-44d8-a80b-ff983122554e")); + StepVerifier.create(pipeline.send(request)) + .verifyComplete(); + } + + @Test + public void patchRequestTest() throws MalformedURLException { + final TokenCredentialAddHostHeaderPolicy clientPolicy = new TokenCredentialAddHostHeaderPolicy(HOST_NAME); + + final HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(new NoOpHttpClient()) + .policies(clientPolicy, verifyHeadersPolicy) + .build(); + + HttpRequest request = new HttpRequest(HttpMethod.PATCH, new URL("https://localhost?id=b93a5ef4-f622-44d8-a80b-ff983122554e")); + StepVerifier.create(pipeline.send(request)) + .verifyComplete(); + } + + + @Test + public void putRequestTest() throws MalformedURLException { + final TokenCredentialAddHostHeaderPolicy clientPolicy = new TokenCredentialAddHostHeaderPolicy(HOST_NAME); + + final HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(new NoOpHttpClient()) + .policies(clientPolicy, verifyHeadersPolicy) + .build(); + + HttpRequest request = new HttpRequest(HttpMethod.PUT, new URL("https://localhost?id=b93a5ef4-f622-44d8-a80b-ff983122554e")); + StepVerifier.create(pipeline.send(request)) + .verifyComplete(); + } + + @Test + public void deleteRequestTest() throws MalformedURLException { + final TokenCredentialAddHostHeaderPolicy clientPolicy = new TokenCredentialAddHostHeaderPolicy(HOST_NAME); + + final HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(new NoOpHttpClient()) + .policies(clientPolicy, verifyHeadersPolicy) + .build(); + + HttpRequest request = new HttpRequest(HttpMethod.DELETE, new URL("https://localhost?id=b93a5ef4-f622-44d8-a80b-ff983122554e")); + StepVerifier.create(pipeline.send(request)) + .verifyComplete(); + } +} diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/implementation/RedirectPolicyTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/implementation/RedirectPolicyTests.java index 0322ae31546ef..f1359ec9e70d6 100644 --- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/implementation/RedirectPolicyTests.java +++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/implementation/RedirectPolicyTests.java @@ -4,11 +4,14 @@ package com.azure.communication.callingserver.implementation; import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; import com.azure.core.http.HttpMethod; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; +import com.azure.core.http.policy.RedirectPolicy; +import com.azure.core.test.http.MockHttpResponse; import com.azure.core.util.Context; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -19,6 +22,8 @@ import java.net.MalformedURLException; import java.net.URL; +import java.util.HashMap; +import java.util.Map; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.CoreMatchers.is; @@ -26,7 +31,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.when; public class RedirectPolicyTests { static final String ORIGINAL_LOCATION = "https://localhost.com"; @@ -38,25 +42,24 @@ public class RedirectPolicyTests { @Mock HttpClient httpClient; - @Mock - HttpResponse response200; - - @Mock - HttpResponse response302; + MockHttpResponse response200; + MockHttpResponse response302; @BeforeEach public void setup() throws MalformedURLException { - MockitoAnnotations.openMocks(this); - when(response200.getStatusCode()).thenReturn(200); - when(response302.getStatusCode()).thenReturn(302); - when(response302.getHeaderValue("Location")).thenReturn(REDIRECT_LOCATION); + Map headers = new HashMap<>(); + headers.put("Location", REDIRECT_LOCATION); + HttpHeaders redirectHeaders = new HttpHeaders(headers); + + MockitoAnnotations.openMocks(this); + request = new HttpRequest(HttpMethod.GET, new URL(ORIGINAL_LOCATION)); + response200 = new MockHttpResponse(request, 200); + response302 = new MockHttpResponse(request, 302, redirectHeaders); pipeline = new HttpPipelineBuilder() .httpClient(httpClient) .policies(REDIRECT_POLICY) .build(); - - request = new HttpRequest(HttpMethod.GET, new URL(ORIGINAL_LOCATION)); } @Test @@ -81,8 +84,9 @@ public void sameLocationUsedShortCircuitTest() { } @Test - public void sameLocationUsedInDifferentRequestsSuccessTest() { + public void sameLocationUsedInDifferentRequestsSuccessTest() throws MalformedURLException { for (int i = 0; i < 3; i++) { + request = new HttpRequest(HttpMethod.GET, new URL(ORIGINAL_LOCATION)); setRedirectSuccessMockResponses(); verifyCorrectness(response200); } diff --git a/sdk/communication/azure-communication-callingserver/swagger/README.md b/sdk/communication/azure-communication-callingserver/swagger/README.md index f73fd1f85077c..413eb12fd1b7c 100644 --- a/sdk/communication/azure-communication-callingserver/swagger/README.md +++ b/sdk/communication/azure-communication-callingserver/swagger/README.md @@ -94,5 +94,32 @@ directive: to: ResultInfoInternal - rename-model: from: ToneInfo - to: ToneInfoInternal + to: ToneInfoInternal ``` + +### Rename RecordingChannelType to RecordingChannel +``` yaml +directive: + - from: swagger-document + where: $.definitions.RecordingChannelType + transform: > + $["x-ms-enum"].name = "RecordingChannel"; +``` + +### Rename RecordingContentType to RecordingContent +``` yaml +directive: + - from: swagger-document + where: $.definitions.RecordingContentType + transform: > + $["x-ms-enum"].name = "RecordingContent"; +``` + +### Rename RecordingFormatType to RecordingFormat +``` yaml +directive: +- from: swagger-document + where: $.definitions.RecordingFormatType["x-ms-enum"] + transform: > + $.name = "RecordingFormat"; +``` \ No newline at end of file diff --git a/sdk/communication/azure-communication-chat/pom.xml b/sdk/communication/azure-communication-chat/pom.xml index fc0eef257e5a2..e85b035c70636 100644 --- a/sdk/communication/azure-communication-chat/pom.xml +++ b/sdk/communication/azure-communication-chat/pom.xml @@ -49,7 +49,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -65,7 +65,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -95,7 +95,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-communication-common/pom.xml b/sdk/communication/azure-communication-common/pom.xml index 9fa096017bd76..f9122fc00c1e3 100644 --- a/sdk/communication/azure-communication-common/pom.xml +++ b/sdk/communication/azure-communication-common/pom.xml @@ -46,12 +46,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 compile @@ -81,7 +81,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/communication/azure-communication-identity/pom.xml b/sdk/communication/azure-communication-identity/pom.xml index b562beb15bef6..4b2cb877ef855 100644 --- a/sdk/communication/azure-communication-identity/pom.xml +++ b/sdk/communication/azure-communication-identity/pom.xml @@ -62,7 +62,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -90,7 +90,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -102,7 +102,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -114,7 +114,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-communication-networktraversal/pom.xml b/sdk/communication/azure-communication-networktraversal/pom.xml index e2e9bab2778cd..1b5ad4f1d73b2 100644 --- a/sdk/communication/azure-communication-networktraversal/pom.xml +++ b/sdk/communication/azure-communication-networktraversal/pom.xml @@ -60,7 +60,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -88,13 +88,13 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -106,7 +106,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-communication-phonenumbers/pom.xml b/sdk/communication/azure-communication-phonenumbers/pom.xml index 4463b094682a3..f586c74ca0473 100644 --- a/sdk/communication/azure-communication-phonenumbers/pom.xml +++ b/sdk/communication/azure-communication-phonenumbers/pom.xml @@ -62,7 +62,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -90,7 +90,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -102,7 +102,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -114,7 +114,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-communication-sms/pom.xml b/sdk/communication/azure-communication-sms/pom.xml index c961125bc17aa..8d2b0445a624c 100644 --- a/sdk/communication/azure-communication-sms/pom.xml +++ b/sdk/communication/azure-communication-sms/pom.xml @@ -50,7 +50,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -90,13 +90,13 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/communication/azure-resourcemanager-communication/pom.xml b/sdk/communication/azure-resourcemanager-communication/pom.xml index 3d2fb76e41e13..0791b7bb975ab 100644 --- a/sdk/communication/azure-resourcemanager-communication/pom.xml +++ b/sdk/communication/azure-resourcemanager-communication/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/confidentialledger/azure-security-confidentialledger/pom.xml b/sdk/confidentialledger/azure-security-confidentialledger/pom.xml index fe4186a0e02aa..72402a6373587 100644 --- a/sdk/confidentialledger/azure-security-confidentialledger/pom.xml +++ b/sdk/confidentialledger/azure-security-confidentialledger/pom.xml @@ -41,17 +41,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -76,7 +76,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -100,7 +100,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/confluent/azure-resourcemanager-confluent/pom.xml b/sdk/confluent/azure-resourcemanager-confluent/pom.xml index d15a25d13c5a4..fc49bd88afdc8 100644 --- a/sdk/confluent/azure-resourcemanager-confluent/pom.xml +++ b/sdk/confluent/azure-resourcemanager-confluent/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/consumption/azure-resourcemanager-consumption/pom.xml b/sdk/consumption/azure-resourcemanager-consumption/pom.xml index b108f13ce9c55..54d50cc5bebb5 100644 --- a/sdk/consumption/azure-resourcemanager-consumption/pom.xml +++ b/sdk/consumption/azure-resourcemanager-consumption/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/containerregistry/azure-containers-containerregistry/pom.xml b/sdk/containerregistry/azure-containers-containerregistry/pom.xml index 97c9553430b5d..92e663e0a1355 100644 --- a/sdk/containerregistry/azure-containers-containerregistry/pom.xml +++ b/sdk/containerregistry/azure-containers-containerregistry/pom.xml @@ -46,12 +46,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -81,19 +81,19 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/core/azure-core-amqp-experimental/pom.xml b/sdk/core/azure-core-amqp-experimental/pom.xml index 41a0a2ee23ac1..e262cb3ca57d4 100644 --- a/sdk/core/azure-core-amqp-experimental/pom.xml +++ b/sdk/core/azure-core-amqp-experimental/pom.xml @@ -45,6 +45,9 @@ UTF-8 + false + + @@ -82,7 +85,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-amqp/pom.xml b/sdk/core/azure-core-amqp/pom.xml index 82da283f9137a..e414b8dc2c5f0 100644 --- a/sdk/core/azure-core-amqp/pom.xml +++ b/sdk/core/azure-core-amqp/pom.xml @@ -51,6 +51,9 @@ --add-reads com.azure.core.amqp=ALL-UNNAMED + false + + @@ -64,7 +67,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.microsoft.azure @@ -80,7 +83,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorCondition.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorCondition.java index 13a6e9b40c286..dd24ed56d5ff7 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorCondition.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorCondition.java @@ -64,6 +64,9 @@ public enum AmqpErrorCondition { CONNECTION_FORCED("amqp:connection:forced"), // These are errors that are specific to Azure services. + /** + * The server is busy. + */ SERVER_BUSY_ERROR("com.microsoft:server-busy"), /** * One or more arguments supplied to the method are invalid. diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorContext.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorContext.java index 6bc219624af21..24c819dcea8c3 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorContext.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpErrorContext.java @@ -26,7 +26,14 @@ public class AmqpErrorContext implements Serializable { private static final long serialVersionUID = -2819764407122954922L; + /** + * Service namespace of the error. + */ private final String namespace; + + /** + * Additional information associated with the error. + */ private final Map errorInfo; /** diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpException.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpException.java index d967ff261c991..13644fd133f73 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpException.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpException.java @@ -20,8 +20,19 @@ public class AmqpException extends AzureException { private static final long serialVersionUID = -3654294093967132325L; + /** + * Context that caused this AMQP error. + */ private final AmqpErrorContext errorContext; + + /** + * Whether this error is transient and can be retried. + */ private final boolean isTransient; + + /** + * Symbolic value indicating the error condition. + */ private final AmqpErrorCondition errorCondition; /** diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpResponseCode.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpResponseCode.java index 0c60672f30705..cb42ff4bbac0d 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpResponseCode.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/AmqpResponseCode.java @@ -10,53 +10,194 @@ * Error response codes returned from AMQP. */ public enum AmqpResponseCode { + /** + * ACCEPTED. + */ ACCEPTED(202), + /** + * OK. + */ OK(200), + /** + * BAD_REQUEST. + */ BAD_REQUEST(400), + /** + * NOT_FOUND. + */ NOT_FOUND(404), + /** + * FORBIDDEN. + */ FORBIDDEN(403), + /** + * INTERNAL_SERVER_ERROR. + */ INTERNAL_SERVER_ERROR(500), + /** + * UNAUTHORIZED. + */ UNAUTHORIZED(401), + /** + * CONTINUE. + */ CONTINUE(100), + /** + * SWITCHING_PROTOCOLS. + */ SWITCHING_PROTOCOLS(101), + /** + * CREATED. + */ CREATED(201), + /** + * NON_AUTHORITATIVE_INFORMATION. + */ NON_AUTHORITATIVE_INFORMATION(203), + /** + * NO_CONTENT. + */ NO_CONTENT(204), + /** + * RESET_CONTENT. + */ RESET_CONTENT(205), + /** + * PARTIAL_CONTENT. + */ PARTIAL_CONTENT(206), + /** + * AMBIGUOUS. + */ AMBIGUOUS(300), + /** + * MULTIPLE_CHOICES. + */ MULTIPLE_CHOICES(300), + /** + * MOVED. + */ MOVED(301), + /** + * MOVED_PERMANENTLY. + */ MOVED_PERMANENTLY(301), + /** + * FOUND. + */ FOUND(302), + /** + * REDIRECT. + */ REDIRECT(302), + /** + * REDIRECT_METHOD. + */ REDIRECT_METHOD(303), + /** + * SEE_OTHER. + */ SEE_OTHER(303), + /** + * NOT_MODIFIED. + */ NOT_MODIFIED(304), + /** + * USE_PROXY. + */ USE_PROXY(305), + /** + * UNUSED. + */ UNUSED(306), + /** + * REDIRECT_KEEP_VERB. + */ REDIRECT_KEEP_VERB(307), + /** + * TEMPORARY_REDIRECT. + */ TEMPORARY_REDIRECT(307), + /** + * PAYMENT_REQUIRED. + */ PAYMENT_REQUIRED(402), + /** + * METHOD_NOT_ALLOWED. + */ METHOD_NOT_ALLOWED(405), + /** + * NOT_ACCEPTABLE. + */ NOT_ACCEPTABLE(406), + /** + * PROXY_AUTHENTICATION_REQUIRED. + */ PROXY_AUTHENTICATION_REQUIRED(407), + /** + * REQUEST_TIMEOUT. + */ REQUEST_TIMEOUT(408), + /** + * CONFLICT. + */ CONFLICT(409), + /** + * GONE. + */ GONE(410), + /** + * LENGTH_REQUIRED. + */ LENGTH_REQUIRED(411), + /** + * PRECONDITION_FAILED. + */ PRECONDITION_FAILED(412), + /** + * REQUEST_ENTITY_TOO_LARGE. + */ REQUEST_ENTITY_TOO_LARGE(413), + /** + * REQUEST_URI_TOO_LONG. + */ REQUEST_URI_TOO_LONG(414), + /** + * UNSUPPORTED_MEDIA_TYPE. + */ UNSUPPORTED_MEDIA_TYPE(415), + /** + * REQUESTED_RANGE_NOT_SATISFIABLE. + */ REQUESTED_RANGE_NOT_SATISFIABLE(416), + /** + * EXPECTATION_FAILED. + */ EXPECTATION_FAILED(417), + /** + * UPGRADE_REQUIRED. + */ UPGRADE_REQUIRED(426), + /** + * NOT_IMPLEMENTED. + */ NOT_IMPLEMENTED(501), + /** + * BAD_GATEWAY. + */ BAD_GATEWAY(502), + /** + * SERVICE_UNAVAILABLE. + */ SERVICE_UNAVAILABLE(503), + /** + * GATEWAY_TIMEOUT. + */ GATEWAY_TIMEOUT(504), + /** + * HTTP_VERSION_NOT_SUPPORTED. + */ HTTP_VERSION_NOT_SUPPORTED(505); private static final Map VALUE_MAP = new HashMap<>(); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/LinkErrorContext.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/LinkErrorContext.java index 6609beb24f979..c064325f92881 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/LinkErrorContext.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/LinkErrorContext.java @@ -14,7 +14,14 @@ public class LinkErrorContext extends SessionErrorContext { private static final long serialVersionUID = 2581371351997722504L; + /** + * Tracking ID for the error. + */ private final String trackingId; + + /** + * Number of link credits the AMQP link had when the error occurred. + */ private final Integer linkCredit; /** diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/SessionErrorContext.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/SessionErrorContext.java index 9beda5a3d50fa..a72aa9e78092c 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/SessionErrorContext.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/exception/SessionErrorContext.java @@ -12,6 +12,10 @@ */ public class SessionErrorContext extends AmqpErrorContext { private static final long serialVersionUID = -6595933736672371232L; + + /** + * Remote endpoint the AMQP connection was connected to when the error occurred. + */ private final String entityPath; /** diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/AmqpChannelProcessor.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/AmqpChannelProcessor.java index 24d013d8ff35e..0ef34bf9672ab 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/AmqpChannelProcessor.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/AmqpChannelProcessor.java @@ -140,7 +140,8 @@ public void onError(Throwable throwable) { Objects.requireNonNull(throwable, "'throwable' is required."); if (isRetryPending.get() && retryPolicy.calculateRetryDelay(throwable, retryAttempts.get()) != null) { - logger.warning("Retry is already pending. Ignoring transient error.", throwable); + logger.warning("namespace[{}] entityPath[{}]: Retry is already pending. Ignoring transient error.", + fullyQualifiedNamespace, entityPath, throwable); return; } @@ -182,22 +183,24 @@ public void onError(Throwable throwable) { return; } - logger.info("Retry #{}. Transient error occurred. Retrying after {} ms.", attempts, - retryInterval.toMillis(), throwable); + logger.info("namespace[{}] entityPath[{}]: Retry #{}. Transient error occurred. Retrying after {} ms.", + fullyQualifiedNamespace, entityPath, attempts, retryInterval.toMillis(), throwable); retrySubscription = Mono.delay(retryInterval).subscribe(i -> { if (isDisposed()) { - logger.info("Retry #{}. Not requesting from upstream. Processor is disposed.", attempts); + logger.info("namespace[{}] entityPath[{}]: Retry #{}. Not requesting from upstream. Processor is disposed.", + fullyQualifiedNamespace, entityPath, attempts); } else { - logger.info("Retry #{}. Requesting from upstream.", attempts); + logger.info("namespace[{}] entityPath[{}]: Retry #{}. Requesting from upstream.", + fullyQualifiedNamespace, entityPath, attempts); requestUpstream(); isRetryPending.set(false); } }); } else { - logger.warning("entityPath[{}] Retry #{}. Retry attempts exhausted or exception was not retriable.", - entityPath, attempts, throwable); + logger.warning("namespace[{}] entityPath[{}]: Retry #{}. Retry attempts exhausted or exception was not retriable.", + fullyQualifiedNamespace, entityPath, attempts, throwable); lastError = throwable; isDisposed.set(true); @@ -206,8 +209,8 @@ public void onError(Throwable throwable) { synchronized (lock) { final ConcurrentLinkedDeque> currentSubscribers = subscribers; subscribers = new ConcurrentLinkedDeque<>(); - logger.info("namespace[{}] entityPath[{}]: Error in AMQP channel processor. Notifying {} " - + "subscribers.", fullyQualifiedNamespace, entityPath, currentSubscribers.size()); + logger.info("namespace[{}] entityPath[{}]: Error in AMQP channel processor. Notifying {} subscribers.", + fullyQualifiedNamespace, entityPath, currentSubscribers.size()); currentSubscribers.forEach(subscriber -> subscriber.onError(throwable)); } @@ -254,8 +257,8 @@ public void subscribe(CoreSubscriber actual) { } subscribers.add(subscriber); - logger.verbose("Added a subscriber {} to AMQP channel processor. Total " - + "subscribers = {}", subscriber, subscribers.size()); + logger.verbose("namespace[{}] entityPath[{}]: Added a subscriber {} to AMQP channel processor. Total " + + "subscribers = {}", fullyQualifiedNamespace, entityPath, subscriber, subscribers.size()); if (!isRetryPending.get()) { requestUpstream(); @@ -350,7 +353,11 @@ private void close(T channel) { } /** - * Represents a subscriber, waiting for an AMQP connection. + * Represents the decorator-subscriber wrapping a downstream subscriber to AmqpChannelProcessor. + * These are the subscribers waiting to receive a channel that is yet to be available in the AmqpChannelProcessor. + * The AmqpChannelProcessor tracks a list of such waiting subscribers; once the processor receives + * a result (channel, error or disposal) from it's upstream, each decorated-subscriber will be notified, + * which removes itself from the tracking list, then propagates the notification to the wrapped subscriber. */ private static final class ChannelSubscriber extends Operators.MonoSubscriber { private final AmqpChannelProcessor processor; @@ -362,15 +369,16 @@ private ChannelSubscriber(CoreSubscriber actual, AmqpChannelProcessor @Override public void cancel() { - super.cancel(); processor.subscribers.remove(this); + super.cancel(); } @Override public void onComplete() { if (!isCancelled()) { - actual.onComplete(); + // first untrack before calling into external code. processor.subscribers.remove(this); + actual.onComplete(); } } @@ -384,8 +392,8 @@ public void onNext(T channel) { @Override public void onError(Throwable throwable) { if (!isCancelled()) { - actual.onError(throwable); processor.subscribers.remove(this); + actual.onError(throwable); } else { Operators.onErrorDropped(throwable, currentContext()); } diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorConnection.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorConnection.java index 2c25b1729590b..acd900de38455 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorConnection.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorConnection.java @@ -437,9 +437,16 @@ Mono closeAsync(AmqpShutdownSignal shutdownSignal) { if (dispatcher != null) { try { dispatcher.invoke(() -> closeConnectionWork()); - } catch (IOException | RejectedExecutionException e) { - logger.warning("connectionId[{}] Error while scheduling closeConnection work. Manually disposing.", - connectionId, e); + } catch (IOException e) { + logger.warning("connectionId[{}] IOException while scheduling closeConnection work. Manually " + + "disposing.", connectionId, e); + + closeConnectionWork(); + } catch (RejectedExecutionException e) { + // Not logging error here again because we have to log the exception when we throw it. + logger.info("connectionId[{}] Could not schedule closeConnection work. Manually disposing.", + connectionId); + closeConnectionWork(); } } else { @@ -479,6 +486,8 @@ private synchronized void closeConnectionWork() { final ArrayList> closingSessions = new ArrayList<>(); sessionMap.values().forEach(link -> closingSessions.add(link.isClosed())); + // We shouldn't need to add a timeout to this operation because executorCloseMono schedules its last + // remaining work after OperationTimeout has elapsed and closes afterwards. final Mono closedExecutor = executor != null ? Mono.defer(() -> { synchronized (this) { logger.info("connectionId[{}] Closing executor.", connectionId); @@ -486,11 +495,11 @@ private synchronized void closeConnectionWork() { } }) : Mono.empty(); - // Close all the children. - final Mono closeSessionsMono = Mono.when(closingSessions) + // Close all the children and the ReactorExecutor. + final Mono closeSessionAndExecutorMono = Mono.when(closingSessions) .timeout(operationTimeout) .onErrorResume(error -> { - logger.warning("connectionId[{}]: Timed out waiting for all sessions to close.", connectionId); + logger.info("connectionId[{}]: Timed out waiting for all sessions to close.", connectionId); return Mono.empty(); }) .then(closedExecutor) @@ -504,7 +513,7 @@ private synchronized void closeConnectionWork() { subscriptions.dispose(); })); - subscriptions.add(closeSessionsMono.subscribe()); + subscriptions.add(closeSessionAndExecutorMono.subscribe()); } private synchronized ClaimsBasedSecurityNode getOrCreateCBSNode() { @@ -551,6 +560,9 @@ private synchronized Connection getOrCreateConnection() throws IOException { return executor.closeAsync(); } }); + + // We shouldn't need to add a timeout to this operation because executorCloseMono schedules its last + // remaining work after OperationTimeout has elapsed and closes afterwards. reactorProvider.getReactorDispatcher().getShutdownSignal() .flatMap(signal -> { logger.info("Shutdown signal received from reactor provider."); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorDispatcher.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorDispatcher.java index 81048771f3e4c..3607803eba109 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorDispatcher.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorDispatcher.java @@ -87,6 +87,15 @@ public Mono getShutdownSignal() { return shutdownSignal.asMono(); } + /** + * Schedules work to be performed on the underlying proton-j reactor. + * + * @param work Work to be run on the underlying proton-j reactor. + * + * @throws IOException If the underlying IO pipe cannot be signalled saying that there is more work to be done. + * @throws RejectedExecutionException if the reactor instance has already been closed or the underlying IO Pipe + * has been closed. + */ public void invoke(final Runnable work) throws IOException { this.throwIfSchedulerError(); @@ -94,6 +103,16 @@ public void invoke(final Runnable work) throws IOException { this.signalWorkQueue(); } + /** + * Schedules work to be performed on the proton-j reactor after {@code delay}. + * + * @param work Work to be run on the underlying proton-j reactor. + * @param delay Delay before work should scheduled for execution. + * + * @throws IOException If the underlying IO pipe cannot be signalled saying that there is more work to be done. + * @throws RejectedExecutionException if the reactor instance has already been closed or the underlying IO Pipe + * has been closed. + */ public void invoke(final Runnable work, final Duration delay) throws IOException { this.throwIfSchedulerError(); @@ -106,14 +125,16 @@ private void throwIfSchedulerError() { final RejectedExecutionException rejectedException = this.reactor.attachments() .get(RejectedExecutionException.class, RejectedExecutionException.class); if (rejectedException != null) { - throw logger.logExceptionAsError(new RejectedExecutionException(rejectedException.getMessage(), - rejectedException)); + throw logger.logExceptionAsWarning(new RejectedExecutionException( + "Underlying Reactor was already disposed. Should not continue dispatching work to this. " + + rejectedException.getMessage(), rejectedException)); } // throw when the pipe is in closed state - in which case, // signalling the new event-dispatch will fail if (!this.ioSignal.sink().isOpen()) { - throw logger.logExceptionAsError(new RejectedExecutionException("ReactorDispatcher instance is closed.")); + throw logger.logExceptionAsWarning(new RejectedExecutionException( + "ReactorDispatcher instance is closed. Should not continue dispatching work to this reactor.")); } } @@ -203,7 +224,7 @@ public void run(Selectable selectable) { logger.info("connectionId[{}] Reactor selectable is being disposed.", connectionId); shutdownSignal.emitValue(new AmqpShutdownSignal(false, false, - String.format("connectionId[%s] Reactor selectable is disposed.", connectionId)), + String.format("connectionId[%s] Reactor selectable is disposed.", connectionId)), Sinks.EmitFailureHandler.FAIL_FAST); try { diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorExecutor.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorExecutor.java index 7b47dbc5c4e62..51752e30d3655 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorExecutor.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorExecutor.java @@ -57,6 +57,11 @@ class ReactorExecutor implements AsyncCloseable { * #closeAsync()} is called. */ void start() { + if (isDisposed.get()) { + logger.warning("Cannot start reactor when executor has been disposed."); + return; + } + if (hasStarted.getAndSet(true)) { logger.warning("ReactorExecutor has already started."); return; @@ -139,7 +144,7 @@ private void run() { + "process."; logger.info(LOG_MESSAGE, connectionId, reason); - close(reason); + close(reason, true); } } } @@ -149,7 +154,7 @@ private void run() { * Schedules the release of the current reactor after operation timeout has elapsed. */ private void scheduleCompletePendingTasks() { - this.scheduler.schedule(() -> { + final Runnable work = () -> { logger.info(LOG_MESSAGE, connectionId, "Processing all pending tasks and closing old reactor."); try { if (reactor.process()) { @@ -169,12 +174,19 @@ private void scheduleCompletePendingTasks() { // session before we were able to schedule this work. } - close("Finished processing pending tasks."); + close("Finished processing pending tasks.", false); } - }, timeout.toMillis(), TimeUnit.MILLISECONDS); + }; + + try { + this.scheduler.schedule(work, timeout.toMillis(), TimeUnit.MILLISECONDS); + } catch (RejectedExecutionException e) { + logger.warning("Scheduler was already closed. Manually releasing reactor."); + work.run(); + } } - private void close(String reason) { + private void close(String reason, boolean initiatedByClient) { logger.verbose("Completing close and disposing scheduler. {}", reason); scheduler.dispose(); isClosedMono.emitEmpty((signalType, emitResult) -> { @@ -182,7 +194,7 @@ private void close(String reason) { emitResult); return false; }); - exceptionHandler.onConnectionShutdown(new AmqpShutdownSignal(false, false, reason)); + exceptionHandler.onConnectionShutdown(new AmqpShutdownSignal(false, initiatedByClient, reason)); } @Override @@ -191,8 +203,12 @@ public Mono closeAsync() { return isClosedMono.asMono(); } + // Pending tasks are scheduled to be invoked after the timeout period, which would complete this Mono. if (hasStarted.get()) { scheduleCompletePendingTasks(); + } else { + // Rector never started, so just complete this Mono. + close("Closing based on user-invoked close operation.", true); } return isClosedMono.asMono(); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorReceiver.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorReceiver.java index 0f4076fffd8c6..2f8659444b18f 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorReceiver.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorReceiver.java @@ -93,7 +93,7 @@ protected ReactorReceiver(AmqpConnection amqpConnection, String entityPath, Rece sink.success(message); }); - } catch (IOException e) { + } catch (IOException | RejectedExecutionException e) { sink.error(e); } }); @@ -186,6 +186,8 @@ public Mono addCredits(int credits) { sink.error(new UncheckedIOException(String.format( "connectionId[%s] linkName[%s] Unable to schedule work to add more credits.", handler.getConnectionId(), getLinkName()), e)); + } catch (RejectedExecutionException e) { + sink.error(e); } }); } @@ -278,10 +280,17 @@ Mono closeAsync(String message, ErrorCondition errorCondition) { return Mono.fromRunnable(() -> { try { dispatcher.invoke(closeReceiver); - } catch (IOException | RejectedExecutionException e) { - logger.info("connectionId[{}] linkName[{}] Could not schedule disposing of receiver on " + } catch (IOException e) { + logger.warning("connectionId[{}] linkName[{}] IO sink was closed when scheduling work. Manually " + + "invoking and completing close.", handler.getConnectionId(), getLinkName(), e); + + closeReceiver.run(); + completeClose(); + } catch (RejectedExecutionException e) { + // Not logging error here again because we have to log the exception when we throw it. + logger.info("connectionId[{}] linkName[{}] RejectedExecutionException when scheduling on " + "ReactorDispatcher. Manually invoking and completing close.", handler.getConnectionId(), - getLinkName(), e); + getLinkName()); closeReceiver.run(); completeClose(); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSender.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSender.java index 932bb09f4f532..ab39464437190 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSender.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSender.java @@ -403,10 +403,16 @@ Mono closeAsync(String message, ErrorCondition errorCondition) { return Mono.fromRunnable(() -> { try { reactorProvider.getReactorDispatcher().invoke(closeWork); - } catch (IOException | RejectedExecutionException e) { - logger.info("connectionId[{}] entityPath[{}] linkName[{}]: Could not schedule close work. Running" + } catch (IOException e) { + logger.warning("connectionId[{}] entityPath[{}] linkName[{}]: Could not schedule close work. Running" + " manually. And completing close.", handler.getConnectionId(), entityPath, getLinkName(), e); + closeWork.run(); + handleClose(); + } catch (RejectedExecutionException e) { + logger.info("connectionId[{}] entityPath[{}] linkName[{}]: RejectedExecutionException scheduling close" + + " work. And completing close.", handler.getConnectionId(), entityPath, getLinkName()); + closeWork.run(); handleClose(); } @@ -624,7 +630,11 @@ private void scheduleWorkOnDispatcher() { try { reactorProvider.getReactorDispatcher().invoke(this::processSendWork); } catch (IOException e) { - logger.error("Error scheduling work on reactor.", e); + logger.warning("connectionId[{}] linkName[{}]: Error scheduling work on reactor.", + handler.getConnectionId(), getLinkName(), e); + } catch (RejectedExecutionException e) { + logger.info("connectionId[{}] linkName[{}]: Error scheduling work on reactor because of" + + " RejectedExecutionException.", handler.getConnectionId(), getLinkName()); } } diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSession.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSession.java index 4b66bf9827f35..518c9f64e8754 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSession.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/ReactorSession.java @@ -261,9 +261,15 @@ Mono closeAsync(String message, ErrorCondition errorCondition, boolean dis return Mono.fromRunnable(() -> { try { provider.getReactorDispatcher().invoke(() -> disposeWork(errorCondition, disposeLinks)); - } catch (IOException | RejectedExecutionException e) { + } catch (IOException e) { logger.info("connectionId[{}] sessionName[{}] Error while scheduling work. Manually disposing.", sessionHandler.getConnectionId(), sessionName, e); + + disposeWork(errorCondition, disposeLinks); + } catch (RejectedExecutionException e) { + logger.info("connectionId[{}] sessionName[{}] RejectedExecutionException when scheduling work.", + sessionHandler.getConnectionId(), sessionName); + disposeWork(errorCondition, disposeLinks); } }).then(isClosedMono.asMono()); @@ -366,7 +372,7 @@ protected Mono createConsumer(String linkName, String entityPat sink.success(computed.getLink()); }); - } catch (IOException e) { + } catch (IOException | RejectedExecutionException e) { sink.error(e); } })); @@ -463,7 +469,7 @@ private Mono createProducer(String linkName, String entityPath, sink.success(computed.getLink()); }); - } catch (IOException e) { + } catch (IOException | RejectedExecutionException e) { sink.error(e); } })); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/RequestResponseChannel.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/RequestResponseChannel.java index 9fbcff9b84fc4..ddac0dc3f8250 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/RequestResponseChannel.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/RequestResponseChannel.java @@ -114,6 +114,8 @@ public class RequestResponseChannel implements AsyncCloseable { * @param provider The reactor provider that the request will be sent with. * @param senderSettleMode to set as {@link SenderSettleMode} on sender. * @param receiverSettleMode to set as {@link ReceiverSettleMode} on receiver. + * + * @throws RuntimeException if the send/receive links could not be locally scheduled to open. */ protected RequestResponseChannel(AmqpConnection amqpConnection, String connectionId, String fullyQualifiedNamespace, String linkName, String entityPath, Session session, @@ -210,7 +212,7 @@ protected RequestResponseChannel(AmqpConnection amqpConnection, String connectio this.sendLink.open(); this.receiveLink.open(); }); - } catch (IOException e) { + } catch (IOException | RejectedExecutionException e) { throw logger.logExceptionAsError(new RuntimeException(String.format( "connectionId[%s], linkName[%s]: Unable to open send and receive link.", connectionId, linkName), e)); } @@ -342,7 +344,7 @@ public Mono sendWithAck(final Message message, DeliveryState deliverySt delivery.settle(); sendLink.advance(); }); - } catch (IOException e) { + } catch (IOException | RejectedExecutionException e) { sink.error(e); } })); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/handler/SessionHandler.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/handler/SessionHandler.java index 5b130500eea7d..f8a633d98d7dc 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/handler/SessionHandler.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/handler/SessionHandler.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.time.Duration; import java.util.Locale; +import java.util.concurrent.RejectedExecutionException; public class SessionHandler extends Handler { private final String entityName; @@ -48,8 +49,8 @@ public void onSessionLocalOpen(Event e) { try { reactorDispatcher.invoke(this::onSessionTimeout, this.openTimeout); - } catch (IOException ioException) { - logger.warning("onSessionLocalOpen connectionId[{}], entityName[{}], reactorDispatcherError[{}]", + } catch (IOException | RejectedExecutionException ioException) { + logger.info("onSessionLocalOpen connectionId[{}], entityName[{}], reactorDispatcherError[{}]", getConnectionId(), this.entityName, ioException.getMessage()); diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpAddress.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpAddress.java index 4d2e33a2f5ef4..4ca5aecbd4aa5 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpAddress.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpAddress.java @@ -9,7 +9,14 @@ * This represents amqp address information. This will be used in populating information like 'To', 'ReplyTo' etc. * *

Create and retrieve address

- * {@codesnippet com.azure.core.amqp.models.AmqpAddress.createAndGet} + * + *
+ * AmqpAddress amqpAddress = new AmqpAddress("my-address");
+ * // Retrieve Adderss
+ * String address = amqpAddress.toString();
+ * System.out.println("Address " + address);
+ * 
+ * * * @see * Address type Format. diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageBody.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageBody.java index ec49bfc335c4a..71a36b1ea1f93 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageBody.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageBody.java @@ -19,7 +19,29 @@ * corresponding to the type of the body throws exception.

* *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+ * Object amqpValue;
+ * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+ *
+ * switch (bodyType) {
+ *     case DATA:
+ *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+ *         System.out.println(new String(payload));
+ *         break;
+ *     case SEQUENCE:
+ *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+ *         sequenceData.forEach(System.out::println);
+ *         break;
+ *     case VALUE:
+ *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+ *         System.out.println(amqpValue);
+ *         break;
+ *     default:
+ *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+ * }
+ * 
+ * * * @see AmqpMessageBodyType * @see @@ -104,7 +126,29 @@ public static AmqpMessageBody fromValue(Object value) { /** * Gets the {@link AmqpMessageBodyType} of the message. *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+     * Object amqpValue;
+     * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+     *
+     * switch (bodyType) {
+     *     case DATA:
+     *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+     *         System.out.println(new String(payload));
+     *         break;
+     *     case SEQUENCE:
+     *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+     *         sequenceData.forEach(System.out::println);
+     *         break;
+     *     case VALUE:
+     *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+     *         System.out.println(amqpValue);
+     *         break;
+     *     default:
+     *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+     * }
+     * 
+ * * @return AmqpBodyType type of the message. */ public AmqpMessageBodyType getBodyType() { @@ -119,7 +163,29 @@ public AmqpMessageBodyType getBodyType() { * corresponding to the type of the body throws exception.

* *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+     * Object amqpValue;
+     * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+     *
+     * switch (bodyType) {
+     *     case DATA:
+     *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+     *         System.out.println(new String(payload));
+     *         break;
+     *     case SEQUENCE:
+     *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+     *         sequenceData.forEach(System.out::println);
+     *         break;
+     *     case VALUE:
+     *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+     *         System.out.println(amqpValue);
+     *         break;
+     *     default:
+     *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+     * }
+     * 
+ * * @return data set on {@link AmqpMessageBody}. * * @throws IllegalArgumentException If {@link AmqpMessageBodyType} is not {@link AmqpMessageBodyType#DATA DATA}. @@ -142,7 +208,29 @@ public IterableStream getData() { * corresponding to the type of the body throws exception.

* *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+     * Object amqpValue;
+     * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+     *
+     * switch (bodyType) {
+     *     case DATA:
+     *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+     *         System.out.println(new String(payload));
+     *         break;
+     *     case SEQUENCE:
+     *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+     *         sequenceData.forEach(System.out::println);
+     *         break;
+     *     case VALUE:
+     *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+     *         System.out.println(amqpValue);
+     *         break;
+     *     default:
+     *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+     * }
+     * 
+ * * @return data set on {@link AmqpMessageBody}. * * @throws IllegalArgumentException If {@link AmqpMessageBodyType} is not {@link AmqpMessageBodyType#DATA DATA}. @@ -166,7 +254,29 @@ public byte[] getFirstData() { * corresponding to the type of the body throws exception.

* *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+     * Object amqpValue;
+     * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+     *
+     * switch (bodyType) {
+     *     case DATA:
+     *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+     *         System.out.println(new String(payload));
+     *         break;
+     *     case SEQUENCE:
+     *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+     *         sequenceData.forEach(System.out::println);
+     *         break;
+     *     case VALUE:
+     *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+     *         System.out.println(amqpValue);
+     *         break;
+     *     default:
+     *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+     * }
+     * 
+ * * @return sequence of this {@link AmqpMessageBody} instance. * * @throws IllegalArgumentException If {@link AmqpMessageBodyType} is not @@ -193,7 +303,29 @@ public List getSequence() { * methods not corresponding to the type of the body throws exception.

* *

How to check for {@link AmqpMessageBodyType}

- * {@codesnippet com.azure.core.amqp.models.AmqpBodyType.checkBodyType} + * + *
+     * Object amqpValue;
+     * AmqpMessageBodyType bodyType = amqpAnnotatedMessage.getBody().getBodyType();
+     *
+     * switch (bodyType) {
+     *     case DATA:
+     *         byte[] payload = amqpAnnotatedMessage.getBody().getFirstData();
+     *         System.out.println(new String(payload));
+     *         break;
+     *     case SEQUENCE:
+     *         List<Object> sequenceData = amqpAnnotatedMessage.getBody().getSequence();
+     *         sequenceData.forEach(System.out::println);
+     *         break;
+     *     case VALUE:
+     *         amqpValue = amqpAnnotatedMessage.getBody().getValue();
+     *         System.out.println(amqpValue);
+     *         break;
+     *     default:
+     *         throw new RuntimeException(String.format(Locale.US, "Body type [%s] is not valid.", bodyType));
+     * }
+     * 
+ * * @return value of this {@link AmqpMessageBody} instance. * * @throws IllegalArgumentException If {@link AmqpMessageBodyType} is not {@link AmqpMessageBodyType#VALUE VALUE}. diff --git a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageId.java b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageId.java index 7145716328487..90239c83375e9 100644 --- a/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageId.java +++ b/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/models/AmqpMessageId.java @@ -10,7 +10,14 @@ * {@link String} representation at present. * *

Create and retrieve message id

- * {@codesnippet com.azure.core.amqp.models.AmqpMessageId.createAndGet} + * + *
+ * AmqpMessageId messageId = new AmqpMessageId("my-message-id");
+ * // Retrieve Message id
+ * String id = messageId.toString();
+ * System.out.println("Message Id " + id);
+ * 
+ * * * @see * String diff --git a/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/AmqpChannelProcessorTest.java b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/AmqpChannelProcessorTest.java index 844dd7eb69746..37f7569ae09c6 100644 --- a/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/AmqpChannelProcessorTest.java +++ b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/AmqpChannelProcessorTest.java @@ -190,8 +190,10 @@ public static Stream newConnectionOnRetriableError() { @ParameterizedTest void newConnectionOnRetriableError(Throwable exception) { // Arrange - final Flux publisher = createSink(connection1, connection2); - final AmqpChannelProcessor processor = publisher.subscribeWith(channelProcessor); + final TestPublisher publisher = TestPublisher.createCold(); + publisher.next(connection1); + publisher.next(connection2); + final AmqpChannelProcessor processor = publisher.flux().subscribeWith(channelProcessor); when(retryPolicy.calculateRetryDelay(exception, 1)).thenReturn(Duration.ofSeconds(1)); when(retryPolicy.getMaxRetries()).thenReturn(3); diff --git a/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/ReactorExecutorTest.java b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/ReactorExecutorTest.java new file mode 100644 index 0000000000000..7e342e757ce36 --- /dev/null +++ b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/ReactorExecutorTest.java @@ -0,0 +1,383 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.core.amqp.implementation; + +import com.azure.core.amqp.exception.AmqpException; +import org.apache.qpid.proton.engine.Handler; +import org.apache.qpid.proton.engine.HandlerException; +import org.apache.qpid.proton.engine.Record; +import org.apache.qpid.proton.reactor.Reactor; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import reactor.core.scheduler.Scheduler; +import reactor.test.StepVerifier; + +import java.time.Duration; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.Semaphore; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * Tests for {@link ReactorExecutor}. + */ +public class ReactorExecutorTest { + private static final String HOSTNAME = "test-hostname"; + private static final String CONNECTION_ID = "connection-id"; + private static final Duration TIMEOUT = Duration.ofSeconds(5); + + @Mock + private Reactor reactor; + @Mock + private Scheduler scheduler; + @Mock + private AmqpExceptionHandler exceptionHandler; + + private AutoCloseable mocksCloseable; + + @BeforeEach + public void beforeEach() { + mocksCloseable = MockitoAnnotations.openMocks(this); + } + + @AfterEach + public void afterEach() throws Exception { + if (mocksCloseable != null) { + mocksCloseable.close(); + } + } + + /** + * It only starts the reactor once. + */ + @Test + public void startsOnce() { + // Arrange + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + + doAnswer(invocation -> { + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + // Act + executor.start(); + + verify(reactor).start(); + verify(scheduler).schedule(any(Runnable.class)); + + // The reactor is only started once even though invoked twice. + executor.start(); + + verify(reactor).start(); + verify(scheduler).schedule(any(Runnable.class)); + } + + /** + * The closeAsync completes when the reactor has not been started. + */ + @Test + public void closesWhenNotRun() { + // Arrange + // Scheduling pending work adds the timeout. So we'll give at most timeout *2. + final Duration timeout = TIMEOUT.plus(TIMEOUT); + + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + + doAnswer(invocation -> { + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + // Act & Verify + StepVerifier.create(executor.closeAsync()) + .expectComplete() + .verify(timeout); + + // Verify that it returns the same completed result. + StepVerifier.create(executor.closeAsync()) + .expectComplete() + .verify(timeout); + + verify(exceptionHandler).onConnectionShutdown( + argThat(shutdown -> !shutdown.isTransient() && shutdown.isInitiatedByClient())); + } + + /** + * We cannot start running the reactor after it has been closed. + */ + @Test + public void cannotProcessAfterClosing() { + // Arrange + // Scheduling pending work adds the timeout. So we'll give at most timeout *2. + final Duration timeout = TIMEOUT.plus(TIMEOUT); + + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + final AtomicInteger timesInvoked = new AtomicInteger(); + + doAnswer(invocation -> { + if (timesInvoked.getAndIncrement() >= 3) { + throw new IllegalStateException("Could not invoke runnable item. Test scheduler."); + } + + final Runnable work = invocation.getArgument(0); + work.run(); + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + StepVerifier.create(executor.closeAsync()) + .expectComplete() + .verify(timeout); + + // Act + executor.start(); + + // Assert + // Verify that we only scheduled the initial run work, but it stopped there. + verify(scheduler, never()).schedule(any(Runnable.class)); + verify(reactor, never()).start(); + verify(reactor, never()).process(); + + verify(exceptionHandler).onConnectionShutdown( + argThat(shutdown -> !shutdown.isTransient() && shutdown.isInitiatedByClient())); + } + + /** + * Reschedules the ReactorExecutor run method until not returned has occurred. + */ + @Test + public void reschedulesSuccessfullyThenStops() throws InterruptedException { + // Arrange + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + final Semaphore semaphore = new Semaphore(1); + semaphore.acquire(); + + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + // This is invoked when we schedule pending tasks before closing serializer. + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + semaphore.release(); + return null; + }).when(scheduler).schedule(any(Runnable.class), eq(TIMEOUT.toMillis()), eq(TimeUnit.MILLISECONDS)); + + final AtomicInteger timesProcessed = new AtomicInteger(); + doAnswer(invocation -> timesProcessed.getAndIncrement() < 1) + .when(reactor).process(); + + // Act + executor.start(); + + final boolean acquired = semaphore.tryAcquire(TIMEOUT.toMillis(), TimeUnit.MILLISECONDS); + assertTrue(acquired, "Unable to stop reactor when there are no more items to process."); + + // Assert + verify(reactor).start(); + verify(reactor).stop(); + verify(reactor).free(); + + // 1st time: success in run(); + // 2nd time: returns false in run() + // 3rd time: schedulePendingTasks() + verify(reactor, times(3)).process(); + verify(scheduler).dispose(); + + verify(exceptionHandler).onConnectionShutdown(argThat(shutdown -> { + return !shutdown.isTransient() && !shutdown.isInitiatedByClient(); + })); + } + + /** + * If the underlying reactor throws a HandlerException, we shut this down. + */ + @Test + public void closesOnHandlerException() throws InterruptedException { + // Arrange + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + final Semaphore semaphore = new Semaphore(1); + semaphore.acquire(); + + final HandlerException exception = new HandlerException(mock(Handler.class), + new UnsupportedOperationException("test-exception")); + + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + // This is invoked when we schedule pending tasks before closing serializer. + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + semaphore.release(); + return null; + }).when(scheduler).schedule(any(Runnable.class), eq(TIMEOUT.toMillis()), eq(TimeUnit.MILLISECONDS)); + + final AtomicInteger timesProcessed = new AtomicInteger(); + doAnswer(invocation -> { + if (timesProcessed.getAndIncrement() == 0) { + throw exception; + } else { + return false; + } + }).when(reactor).process(); + + // Act + executor.start(); + + final boolean acquired = semaphore.tryAcquire(TIMEOUT.toMillis(), TimeUnit.MILLISECONDS); + assertTrue(acquired, "Unable to stop reactor when there are no more items to process."); + + // Assert + verify(reactor).start(); + verify(reactor).stop(); + verify(reactor).free(); + + // 1st time: exception in run(); + // 3rd time: schedulePendingTasks + verify(reactor, times(2)).process(); + verify(scheduler).dispose(); + + verify(exceptionHandler).onConnectionError(argThat(error -> { + return error instanceof AmqpException && ((AmqpException) error).isTransient(); + })); + verify(exceptionHandler).onConnectionShutdown(argThat(shutdown -> { + return !shutdown.isTransient() && !shutdown.isInitiatedByClient(); + })); + } + + /** + * If the scheduler is disposed, we cannot keep queueing work on it and it shuts down. + */ + @Test + public void closesOnRejectedExecutionException() throws InterruptedException { + // Arrange + final Record record = mock(Record.class); + when(reactor.attachments()).thenReturn(record); + + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + + final Semaphore semaphore = new Semaphore(1); + semaphore.acquire(); + + final AtomicBoolean firstInvocation = new AtomicBoolean(true); + final RejectedExecutionException exception = new RejectedExecutionException("test-rejection"); + doAnswer(invocation -> { + if (firstInvocation.getAndSet(false)) { + final Runnable work = invocation.getArgument(0); + work.run(); + return null; + } else { + throw exception; + } + }).when(scheduler).schedule(any(Runnable.class)); + + // This is invoked when we schedule pending tasks before closing serializer. + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + semaphore.release(); + return null; + }).when(scheduler).schedule(any(Runnable.class), eq(TIMEOUT.toMillis()), eq(TimeUnit.MILLISECONDS)); + + final AtomicInteger timesProcessed = new AtomicInteger(); + doAnswer(invocation -> timesProcessed.getAndIncrement() == 0) + .when(reactor).process(); + + // Act + executor.start(); + + final boolean acquired = semaphore.tryAcquire(TIMEOUT.toMillis(), TimeUnit.MILLISECONDS); + assertTrue(acquired, "Unable to stop reactor when there are no more items to process."); + + // Assert + verify(reactor).start(); + verify(reactor).stop(); + verify(reactor).free(); + + // 1st time: exception in run(); + // 3rd time: schedulePendingTasks + verify(reactor, times(2)).process(); + verify(scheduler).dispose(); + + verify(record).set(eq(RejectedExecutionException.class), eq(RejectedExecutionException.class), eq(exception)); + } + + /** + * Reschedules the ReactorExecutor run method until not returned has occurred. But when scheduling pending tasks, + * an exception is thrown from the scheduler (it could have been disposed). We expect it still closes. + */ + @Test + public void reschedulesSuccessfullyButFailsSchedulingClosingTasks() throws InterruptedException { + // Arrange + final ReactorExecutor executor = new ReactorExecutor(reactor, scheduler, CONNECTION_ID, exceptionHandler, + TIMEOUT, HOSTNAME); + final Semaphore semaphore = new Semaphore(1); + semaphore.acquire(); + + doAnswer(invocation -> { + final Runnable work = invocation.getArgument(0); + work.run(); + return null; + }).when(scheduler).schedule(any(Runnable.class)); + + // This is invoked when we schedule pending tasks before closing serializer. + final RejectedExecutionException exception = new RejectedExecutionException("test-rejection"); + doAnswer(invocation -> { + semaphore.release(); + throw exception; + }).when(scheduler).schedule(any(Runnable.class), eq(TIMEOUT.toMillis()), eq(TimeUnit.MILLISECONDS)); + + final AtomicInteger timesProcessed = new AtomicInteger(); + doAnswer(invocation -> timesProcessed.getAndIncrement() < 1) + .when(reactor).process(); + + // Act + executor.start(); + + final boolean acquired = semaphore.tryAcquire(TIMEOUT.toMillis(), TimeUnit.MILLISECONDS); + assertTrue(acquired, "Unable to stop reactor when there are no more items to process."); + + // Assert + verify(reactor).start(); + verify(reactor).stop(); + verify(reactor).free(); + + // 1st time: success in run(); + // 2nd time: returns false in run() + // 3rd time: schedulePendingTasks() + verify(reactor, times(3)).process(); + verify(scheduler).dispose(); + + verify(exceptionHandler).onConnectionShutdown(argThat(shutdown -> { + return !shutdown.isTransient() && !shutdown.isInitiatedByClient(); + })); + } + +} diff --git a/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/RetryUtilTest.java b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/RetryUtilTest.java index 3604c28277bca..aba80be90a502 100644 --- a/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/RetryUtilTest.java +++ b/sdk/core/azure-core-amqp/src/test/java/com/azure/core/amqp/implementation/RetryUtilTest.java @@ -65,15 +65,16 @@ void getCorrectModeExponential() { void withRetryFlux() { // Arrange final String timeoutMessage = "Operation timed out."; - final Duration timeout = Duration.ofMillis(500); + final Duration timeout = Duration.ofMillis(1500); final AmqpRetryOptions options = new AmqpRetryOptions() .setDelay(Duration.ofSeconds(1)) .setMaxRetries(2) .setTryTimeout(timeout); - final Duration totalWaitTime = Duration.ofSeconds(options.getMaxRetries() * options.getDelay().getSeconds()); + final Duration totalWaitTime = Duration.ofSeconds(options.getMaxRetries() * options.getDelay().getSeconds()) + .plus(timeout); final AtomicInteger resubscribe = new AtomicInteger(); - final Flux neverFlux = TestPublisher.create().flux() + final Flux neverFlux = Flux.never() .doOnSubscribe(s -> resubscribe.incrementAndGet()); // Act & Assert diff --git a/sdk/core/azure-core-experimental/CHANGELOG.md b/sdk/core/azure-core-experimental/CHANGELOG.md index 6feca463ff606..6e49f7ce829c0 100644 --- a/sdk/core/azure-core-experimental/CHANGELOG.md +++ b/sdk/core/azure-core-experimental/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.0.0-beta.19 (Unreleased) +## 1.0.0-beta.20 (Unreleased) ### Features Added @@ -10,6 +10,20 @@ ### Other Changes +## 1.0.0-beta.19 (2021-10-01) + +### Breaking Changes + +- Removed `TokenRequestContenxtExperimental` class that allows to configure TenantId Challenges. +- Removed `TimeInterval` as it is no longer being developed. +- Moved `HttpResponseError` to `azure-core` as `ResponseError`. + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. + ## 1.0.0-beta.18 (2021-09-07) ### Features Added diff --git a/sdk/core/azure-core-experimental/README.md b/sdk/core/azure-core-experimental/README.md index b79f16288bef3..a1c75db85da8d 100644 --- a/sdk/core/azure-core-experimental/README.md +++ b/sdk/core/azure-core-experimental/README.md @@ -17,7 +17,7 @@ Azure Core Experimental contains types that are being evaluated and might eventu com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-experimental/pom.xml b/sdk/core/azure-core-experimental/pom.xml index 0910e473968e2..d3bab4511c515 100644 --- a/sdk/core/azure-core-experimental/pom.xml +++ b/sdk/core/azure-core-experimental/pom.xml @@ -15,7 +15,7 @@ com.azure azure-core-experimental jar - 1.0.0-beta.19 + 1.0.0-beta.20 Microsoft Azure Java Core Experimental Library This package contains experimental core types for Azure Java clients. @@ -51,6 +51,9 @@ --add-opens com.azure.core.experimental/com.azure.core.experimental.http=ALL-UNNAMED --add-opens com.azure.core.experimental/com.azure.core.experimental.models=ALL-UNNAMED + false + + @@ -64,7 +67,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 @@ -88,7 +91,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/TokenRequestContextExperimental.java b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/TokenRequestContextExperimental.java deleted file mode 100644 index fbbccc0fbf5ce..0000000000000 --- a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/TokenRequestContextExperimental.java +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.core.experimental.credential; - -import com.azure.core.credential.TokenRequestContext; - -import java.util.List; - -/** - * Contains details of a request to get a token. - */ -public class TokenRequestContextExperimental extends TokenRequestContext { - private String tenantId; - - /** - * Creates a token request experimental instance. - */ - public TokenRequestContextExperimental() { - super(); - } - - /** - * Set the tenant to be used in the authentication request. - * - * @param tenantId the tenant to be used when retrieving the token. - * @return the updated TokenRequestContextExperimental itself - */ - public TokenRequestContextExperimental setTenantId(String tenantId) { - this.tenantId = tenantId; - return this; - } - - /** - * Get the tenant to be used in the authentication request. - * - * @return the configured tenant id. - */ - public String getTenantId() { - return this.tenantId; - } - - /** - * Set the additional claims to be included in the token. - * - * @see - * https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter - * - * @param claims the additional claims to be included in the token. - * @return the updated TokenRequestContextExperimental itself - */ - @Override - public TokenRequestContextExperimental setClaims(String claims) { - super.setClaims(claims); - return this; - } - - /** - * Sets the scopes required for the token. - * @param scopes the scopes required for the token - * @return the TokenRequestContextExperimental itself - */ - @Override - public TokenRequestContextExperimental setScopes(List scopes) { - super.setScopes(scopes); - return this; - } - - /** - * Adds one or more scopes to the request scopes. - * @param scopes one or more scopes to add - * @return the TokenRequestContextExperimental itself - */ - public TokenRequestContextExperimental addScopes(String... scopes) { - super.addScopes(scopes); - return this; - } -} diff --git a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/package-info.java b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/package-info.java deleted file mode 100644 index 74214a11bf664..0000000000000 --- a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/credential/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -/** - * Package containing experimental credential classes. - */ -package com.azure.core.experimental.credential; diff --git a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicRequest.java b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicRequest.java index e3bb1988feee2..86b849f9e3913 100644 --- a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicRequest.java +++ b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicRequest.java @@ -41,7 +41,13 @@ *

* *

Creating an instance of DynamicRequest using the constructor

- * {@codesnippet com.azure.core.experimental.http.dynamicrequest.instantiation} + * + *
+ * ObjectSerializer serializer = JsonSerializerProviders.createInstance(true);
+ * HttpPipeline pipeline = new HttpPipelineBuilder().build();
+ * DynamicRequest dynamicRequest = new DynamicRequest(serializer, pipeline);
+ * 
+ * * *

An Azure service client may provide methods that are specific to the service which returns an instance * {@link DynamicRequest} that comes preconfigured with some request components like the endpoint, required path @@ -52,7 +58,14 @@ * HTTP GET call * to the pet service and setting the pet id in path param as shown in the sample below. * - * {@codesnippet com.azure.core.experimental.http.dynamicrequest.getrequest} + * + *

+ * DynamicResponse response = dynamicRequest
+ *     .setUrl("https://petstore.example.com/pet/{petId}") // may already be set if request is created from a client
+ *     .setPathParam("petId", "2343245")
+ *     .send(); // makes the service call
+ * 
+ * * *

Configuring the request with JSON body and making a HTTP POST request

* To add a new pet to the pet store, a HTTP POST call should @@ -84,11 +97,48 @@ * To create a concrete request, Json builder provided in javax package is used here for demonstration. However, any * other Json building library can be used to achieve similar results. * - * {@codesnippet com.azure.core.experimental.http.dynamicrequest.createjsonrequest} + * + *
+ * JsonArray photoUrls = Json.createArrayBuilder()
+ *     .add("https://imgur.com/pet1")
+ *     .add("https://imgur.com/pet2")
+ *     .build();
+ *
+ * JsonArray tags = Json.createArrayBuilder()
+ *     .add(Json.createObjectBuilder()
+ *         .add("id", 0)
+ *         .add("name", "Labrador")
+ *         .build())
+ *     .add(Json.createObjectBuilder()
+ *         .add("id", 1)
+ *         .add("name", "2021")
+ *         .build())
+ *     .build();
+ *
+ * JsonObject requestBody = Json.createObjectBuilder()
+ *     .add("id", 0)
+ *     .add("name", "foo")
+ *     .add("status", "available")
+ *     .add("category", Json.createObjectBuilder().add("id", 0).add("name", "dog"))
+ *     .add("photoUrls", photoUrls)
+ *     .add("tags", tags)
+ *     .build();
+ *
+ * String requestBodyStr = requestBody.toString();
+ * 
+ * * * Now, this string representation of the JSON request can be set as body of DynamicRequest * - * {@codesnippet com.azure.core.experimental.http.dynamicrequest.postrequest} + * + *
+ * DynamicResponse response = dynamicRequest
+ *     .setUrl("https://petstore.example.com/pet") // may already be set if request is created from a client
+ *     .addHeader("Content-Type", "application/json")
+ *     .setBody(requestBodyStr)
+ *     .send(); // makes the service call
+ * 
+ * */ public final class DynamicRequest { private final ClientLogger logger = new ClientLogger(DynamicRequest.class); diff --git a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicResponse.java b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicResponse.java index 57f2d49e40b6e..dff7b2c7b9e33 100644 --- a/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicResponse.java +++ b/sdk/core/azure-core-experimental/src/main/java/com/azure/core/experimental/http/DynamicResponse.java @@ -44,7 +44,24 @@ * * This sample shows how to read the JSON response from the service and inspecting specific properties of the response. * - * {@codesnippet com.azure.core.experimental.http.dynamicresponse.readresponse} + * + *
+ * DynamicResponse response = dynamicRequest
+ *     .setUrl("https://petstore.example.com/pet/{petId}") // may already be set if request is created from a client
+ *     .setPathParam("petId", "2343245")
+ *     .send(); // makes the service call
+ *
+ * // Check the HTTP status
+ * int statusCode = response.getStatusCode();
+ * if (statusCode == 200) {
+ *     BinaryData responseBody = response.getBody();
+ *     String responseBodyStr = responseBody.toString();
+ *     JsonObject deserialized = Json.createReader(new StringReader(responseBodyStr)).readObject();
+ *     int id = deserialized.getInt("id");
+ *     String firstTag = deserialized.getJsonArray("tags").get(0).asJsonObject().getString("name");
+ * }
+ * 
+ * */ public final class DynamicResponse { private final HttpResponse response; diff --git a/sdk/core/azure-core-experimental/src/main/java/module-info.java b/sdk/core/azure-core-experimental/src/main/java/module-info.java index b2398c6d57813..dbc0343a02f74 100644 --- a/sdk/core/azure-core-experimental/src/main/java/module-info.java +++ b/sdk/core/azure-core-experimental/src/main/java/module-info.java @@ -8,7 +8,6 @@ exports com.azure.core.experimental.implementation; exports com.azure.core.experimental.http; exports com.azure.core.experimental.http.policy; - exports com.azure.core.experimental.credential; uses com.azure.core.experimental.serializer.AvroSerializerProvider; } diff --git a/sdk/core/azure-core-http-jdk-httpclient/pom.xml b/sdk/core/azure-core-http-jdk-httpclient/pom.xml index e390c535a071c..def0a33e830f2 100644 --- a/sdk/core/azure-core-http-jdk-httpclient/pom.xml +++ b/sdk/core/azure-core-http-jdk-httpclient/pom.xml @@ -49,6 +49,15 @@ true + + --add-opens com.azure.core.http.jdk.httpclient/com.azure.core.http.jdk.httpclient=ALL-UNNAMED + + + -Djdk.httpclient.allowRestrictedHeaders=Content-Length + + false + + @@ -62,14 +71,14 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 test-jar test @@ -89,7 +98,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -181,7 +190,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 true @@ -244,9 +253,6 @@ default-compile - - 11 - + *
+     * HttpClient client = new JdkAsyncHttpClientBuilder()
+     *         .connectionTimeout(Duration.ofSeconds(250)) // connection timeout of 250 seconds
+     *         .build();
+     * 
+ * * * The default connection timeout is 60 seconds. * @@ -117,7 +123,17 @@ public JdkAsyncHttpClientBuilder connectionTimeout(Duration connectionTimeout) { * *

Code Samples

* - * {@codesnippet com.azure.core.http.jdk.httpclient.JdkAsyncHttpClientBuilder.proxy#ProxyOptions} + * + *
+     * final String proxyHost = "<proxy-host>"; // e.g. localhost
+     * final int proxyPort = 9999; // Proxy port
+     * ProxyOptions proxyOptions = new ProxyOptions(ProxyOptions.Type.HTTP,
+     *         new InetSocketAddress(proxyHost, proxyPort));
+     * HttpClient client = new JdkAsyncHttpClientBuilder()
+     *         .proxy(proxyOptions)
+     *         .build();
+     * 
+ * * * @param proxyOptions The proxy configuration to use. * @return the updated {@link JdkAsyncHttpClientBuilder} object diff --git a/sdk/core/azure-core-http-jdk-httpclient/src/main/java/com/azure/core/http/jdk/httpclient/JdkHttpResponse.java b/sdk/core/azure-core-http-jdk-httpclient/src/main/java/com/azure/core/http/jdk/httpclient/JdkHttpResponse.java index 76d4a091d922e..290c04c2398cb 100644 --- a/sdk/core/azure-core-http-jdk-httpclient/src/main/java/com/azure/core/http/jdk/httpclient/JdkHttpResponse.java +++ b/sdk/core/azure-core-http-jdk-httpclient/src/main/java/com/azure/core/http/jdk/httpclient/JdkHttpResponse.java @@ -33,7 +33,11 @@ public Flux getBody() { @Override public Mono getBodyAsByteArray() { - return FluxUtil.collectBytesFromNetworkResponse(getBody(), getHeaders()); + return FluxUtil.collectBytesFromNetworkResponse(getBody(), getHeaders()) + // Map empty byte[] into Mono.empty, this matches how the other HttpResponse implementations handle this. + .flatMap(bytes -> (bytes == null || bytes.length == 0) + ? Mono.empty() + : Mono.just(bytes)); } @Override diff --git a/sdk/core/azure-core-http-jdk-httpclient/src/test/java/com/azure/core/http/jdk/httpclient/JdkAsyncHttpClientBuilderTests.java b/sdk/core/azure-core-http-jdk-httpclient/src/test/java/com/azure/core/http/jdk/httpclient/JdkAsyncHttpClientBuilderTests.java index 7d14cbef787be..f22dcb6db589f 100644 --- a/sdk/core/azure-core-http-jdk-httpclient/src/test/java/com/azure/core/http/jdk/httpclient/JdkAsyncHttpClientBuilderTests.java +++ b/sdk/core/azure-core-http-jdk-httpclient/src/test/java/com/azure/core/http/jdk/httpclient/JdkAsyncHttpClientBuilderTests.java @@ -178,7 +178,8 @@ public void buildWithHttpProxyFromConfiguration() { Configuration configuration = new Configuration() .put(Configuration.PROPERTY_HTTP_PROXY, - "http://" + proxyUserInfo + proxyEndpoint.getHost() + ":" + proxyEndpoint.getPort()); + "http://" + proxyUserInfo + proxyEndpoint.getHost() + ":" + proxyEndpoint.getPort()) + .put("java.net.useSystemProxies", "true"); HttpClient httpClient = new JdkAsyncHttpClientBuilder(java.net.http.HttpClient.newBuilder()) .configuration(configuration) @@ -243,14 +244,6 @@ public void buildWithNonProxyConfigurationProxy() { } } - @Test - void testDefaultRestrictedHeaders() { - JdkAsyncHttpClientBuilder jdkAsyncHttpClientBuilder = spy(new JdkAsyncHttpClientBuilder()); - when(jdkAsyncHttpClientBuilder.getNetworkProperties()).thenReturn(new Properties()); - - validateRestrictedHeaders(jdkAsyncHttpClientBuilder, JdkAsyncHttpClientBuilder.DEFAULT_RESTRICTED_HEADERS, 5); - } - @Test void testAllowedHeadersFromNetworkProperties() { JdkAsyncHttpClientBuilder jdkAsyncHttpClientBuilder = spy(new JdkAsyncHttpClientBuilder()); diff --git a/sdk/core/azure-core-http-netty/CHANGELOG.md b/sdk/core/azure-core-http-netty/CHANGELOG.md index 5bef7d9eb0368..34897551175c7 100644 --- a/sdk/core/azure-core-http-netty/CHANGELOG.md +++ b/sdk/core/azure-core-http-netty/CHANGELOG.md @@ -10,6 +10,20 @@ ### Other Changes +## 1.11.1 (2021-10-01) + +### Bugs Fixed + +- Fixed a bug where `HttpResponse.close` wouldn't drain the response stream if it wasn't already consumed. ([#23855](https://github.com/Azure/azure-sdk-for-java/pull/23855)) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. +- Upgraded Netty from `4.1.67.Final` to `4.1.60.Final`. +- Upgraded Reactor Netty from `1.0.10` to `1.0.11`. +- ## 1.11.0 (2021-09-07) ### Features Added diff --git a/sdk/core/azure-core-http-netty/README.md b/sdk/core/azure-core-http-netty/README.md index 7efeac18c6625..dcf392db324dc 100644 --- a/sdk/core/azure-core-http-netty/README.md +++ b/sdk/core/azure-core-http-netty/README.md @@ -47,7 +47,7 @@ add the direct dependency to your project as follows. com.azure azure-core-http-netty - 1.11.0 + 1.11.1 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-http-netty/pom.xml b/sdk/core/azure-core-http-netty/pom.xml index 2c4057d7a7185..06cf4bb79e60f 100644 --- a/sdk/core/azure-core-http-netty/pom.xml +++ b/sdk/core/azure-core-http-netty/pom.xml @@ -51,6 +51,9 @@ --add-opens com.azure.http.netty/com.azure.core.http.netty=ALL-UNNAMED --add-opens com.azure.http.netty/com.azure.core.http.netty.implementation=ALL-UNNAMED + false + + @@ -64,64 +67,64 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 io.netty netty-handler - 4.1.67.Final + 4.1.68.Final io.netty netty-handler-proxy - 4.1.67.Final + 4.1.68.Final io.netty netty-buffer - 4.1.67.Final + 4.1.68.Final io.netty netty-codec-http - 4.1.67.Final + 4.1.68.Final io.netty netty-codec-http2 - 4.1.67.Final + 4.1.68.Final io.netty netty-transport-native-unix-common - 4.1.67.Final + 4.1.68.Final io.netty netty-transport-native-epoll - 4.1.67.Final + 4.1.68.Final linux-x86_64 io.netty netty-transport-native-kqueue - 4.1.67.Final + 4.1.68.Final osx-x86_64 io.projectreactor.netty - reactor-netty - 1.0.10 + reactor-netty-http + 1.0.11 com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 test-jar test @@ -141,7 +144,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -188,15 +191,15 @@ - io.netty:netty-buffer:[4.1.67.Final] - io.netty:netty-codec-http:[4.1.67.Final] - io.netty:netty-codec-http2:[4.1.67.Final] - io.netty:netty-handler:[4.1.67.Final] - io.netty:netty-handler-proxy:[4.1.67.Final] - io.netty:netty-transport-native-unix-common:[4.1.67.Final] - io.netty:netty-transport-native-epoll:[4.1.67.Final] - io.projectreactor.netty:reactor-netty:[1.0.10] - io.netty:netty-transport-native-kqueue:[4.1.67.Final] + io.projectreactor.netty:reactor-netty-http:[1.0.11] + io.netty:netty-buffer:[4.1.68.Final] + io.netty:netty-codec-http:[4.1.68.Final] + io.netty:netty-codec-http2:[4.1.68.Final] + io.netty:netty-handler:[4.1.68.Final] + io.netty:netty-handler-proxy:[4.1.68.Final] + io.netty:netty-transport-native-unix-common:[4.1.68.Final] + io.netty:netty-transport-native-epoll:[4.1.68.Final] + io.netty:netty-transport-native-kqueue:[4.1.68.Final] diff --git a/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/NettyAsyncHttpClientBuilder.java b/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/NettyAsyncHttpClientBuilder.java index 4cf86fa779f5f..6d950358d19c2 100644 --- a/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/NettyAsyncHttpClientBuilder.java +++ b/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/NettyAsyncHttpClientBuilder.java @@ -42,7 +42,14 @@ * *

Building a new HttpClient instance

* - * {@codesnippet com.azure.core.http.netty.instantiation-simple} + * + *
+ * HttpClient client = new NettyAsyncHttpClientBuilder()
+ *     .port(8080)
+ *     .wiretap(true)
+ *     .build();
+ * 
+ * * * @see HttpClient */ @@ -94,7 +101,17 @@ public NettyAsyncHttpClientBuilder() { * Creates a new builder instance, where a builder is capable of generating multiple instances of {@link HttpClient} * based on the provided Reactor Netty HttpClient. * - * {@codesnippet com.azure.core.http.netty.from-existing-http-client} + * + *
+     * // Creates a reactor-netty client with netty logging enabled.
+     * reactor.netty.http.client.HttpClient baseHttpClient = reactor.netty.http.client.HttpClient.create()
+     *     .wiretap(TcpClient.class.getName(), LogLevel.INFO);
+     * // Create an HttpClient based on above reactor-netty client and configure EventLoop count.
+     * HttpClient client = new NettyAsyncHttpClientBuilder(baseHttpClient)
+     *     .eventLoopGroup(new NioEventLoopGroup(5))
+     *     .build();
+     * 
+ * * * @param nettyHttpClient base reactor netty HttpClient */ @@ -195,7 +212,23 @@ public com.azure.core.http.HttpClient build() { * *

Code Sample

* - * {@codesnippet com.azure.core.http.netty.NettyAsyncHttpClientBuilder.connectionProvider#ConnectionProvider} + * + *
+     * // The following creates a connection provider which will have each connection use the base name
+     * // 'myHttpConnection', has a limit of 500 concurrent connections in the connection pool, has no limit on the
+     * // number of connection requests that can be pending when all connections are in use, and removes a connection
+     * // from the pool if the connection isn't used for 60 seconds.
+     * ConnectionProvider connectionProvider = ConnectionProvider.builder("myHttpConnection")
+     *     .maxConnections(500)
+     *     .pendingAcquireMaxCount(-1)
+     *     .maxIdleTime(Duration.ofSeconds(60))
+     *     .build();
+     *
+     * HttpClient client = new NettyAsyncHttpClientBuilder()
+     *     .connectionProvider(connectionProvider)
+     *     .build();
+     * 
+ * * * @param connectionProvider the connection provider * @return the updated {@link NettyAsyncHttpClientBuilder} object. @@ -258,7 +291,14 @@ public NettyAsyncHttpClientBuilder nioEventLoopGroup(NioEventLoopGroup nioEventL * *

Code Samples

* - * {@codesnippet com.azure.core.http.netty.NettyAsyncHttpClientBuilder#eventLoopGroup} + * + *
+     * int threadCount = 5;
+     * HttpClient client = new NettyAsyncHttpClientBuilder()
+     *     .eventLoopGroup(new NioEventLoopGroup(threadCount))
+     *     .build();
+     * 
+ * * * @param eventLoopGroup The {@link EventLoopGroup} that will run IO loops. * @return the updated NettyAsyncHttpClientBuilder object. @@ -294,7 +334,19 @@ public NettyAsyncHttpClientBuilder configuration(Configuration configuration) { * upon the return of {@code onNext()}. So, users should ensure they process the {@link ByteBuffer} immediately and * then return. * - * {@codesnippet com.azure.core.http.netty.disabled-buffer-copy} + * + *
+     * HttpClient client = new NettyAsyncHttpClientBuilder()
+     *     .port(8080)
+     *     .disableBufferCopy(true)
+     *     .build();
+     *
+     * client.send(httpRequest)
+     *     .flatMapMany(response -> response.getBody())
+     *     .map(byteBuffer -> completeProcessingByteBuffer(byteBuffer))
+     *     .subscribe();
+     * 
+ * * * @param disableBufferCopy If set to {@code true}, the client built from this builder will not deep-copy response * {@link ByteBuffer ByteBuffers}. diff --git a/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/implementation/NettyToAzureCoreHttpHeadersWrapper.java b/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/implementation/NettyToAzureCoreHttpHeadersWrapper.java index 788d2671cdfba..b1beed6ed4502 100644 --- a/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/implementation/NettyToAzureCoreHttpHeadersWrapper.java +++ b/sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/implementation/NettyToAzureCoreHttpHeadersWrapper.java @@ -130,8 +130,7 @@ public Map toMap() { return abstractMap; } - @Override - public Map toMultiMap() { + Map toMultiMap() { if (abstractMultiMap == null) { abstractMultiMap = new DeferredCacheImmutableMap<>(LOGGER, new HashMap<>(), nettyHeaders, getAll -> getAll.toArray(new String[0])); diff --git a/sdk/core/azure-core-http-netty/src/main/java/module-info.java b/sdk/core/azure-core-http-netty/src/main/java/module-info.java index fc90485144a29..9a3512425da32 100644 --- a/sdk/core/azure-core-http-netty/src/main/java/module-info.java +++ b/sdk/core/azure-core-http-netty/src/main/java/module-info.java @@ -11,7 +11,6 @@ requires io.netty.handler.proxy; requires io.netty.resolver; requires io.netty.transport; - requires reactor.netty; requires reactor.netty.core; requires reactor.netty.http; diff --git a/sdk/core/azure-core-http-netty/src/test/java/com/azure/core/http/netty/implementation/TimeoutTestHelpers.java b/sdk/core/azure-core-http-netty/src/test/java/com/azure/core/http/netty/implementation/TimeoutTestHelpers.java index dc90c152ac2f5..e0e5ab736ba09 100644 --- a/sdk/core/azure-core-http-netty/src/test/java/com/azure/core/http/netty/implementation/TimeoutTestHelpers.java +++ b/sdk/core/azure-core-http-netty/src/test/java/com/azure/core/http/netty/implementation/TimeoutTestHelpers.java @@ -13,6 +13,7 @@ * {@link WriteTimeoutHandlerTests}. */ public class TimeoutTestHelpers { + @SuppressWarnings("removal") public static Method getInvokableMethod(Object obj, String methodName, Class... parameters) throws Exception { Method method = obj.getClass().getDeclaredMethod(methodName, parameters); @@ -24,6 +25,7 @@ public static Method getInvokableMethod(Object obj, String methodName, Class. return method; } + @SuppressWarnings("removal") public static T getFieldValue(Object obj, String fieldName, Class type) throws Exception { Field field = obj.getClass().getDeclaredField(fieldName); diff --git a/sdk/core/azure-core-http-okhttp/CHANGELOG.md b/sdk/core/azure-core-http-okhttp/CHANGELOG.md index 512438afc6f7a..859b03c09b5bf 100644 --- a/sdk/core/azure-core-http-okhttp/CHANGELOG.md +++ b/sdk/core/azure-core-http-okhttp/CHANGELOG.md @@ -10,6 +10,14 @@ ### Other Changes +## 1.7.4 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. +- ## 1.7.3 (2021-09-07) ### Features Added diff --git a/sdk/core/azure-core-http-okhttp/README.md b/sdk/core/azure-core-http-okhttp/README.md index 851691ae08f8d..3af6f4a58b079 100644 --- a/sdk/core/azure-core-http-okhttp/README.md +++ b/sdk/core/azure-core-http-okhttp/README.md @@ -47,7 +47,7 @@ add the direct dependency to your project as follows. com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-http-okhttp/pom.xml b/sdk/core/azure-core-http-okhttp/pom.xml index f8fad6eb5ac23..af47977cd4a37 100644 --- a/sdk/core/azure-core-http-okhttp/pom.xml +++ b/sdk/core/azure-core-http-okhttp/pom.xml @@ -51,6 +51,9 @@ --add-opens com.azure.core.http.okhttp/com.azure.core.http.okhttp=ALL-UNNAMED --add-opens com.azure.core.http.okhttp/com.azure.core.http.okhttp.implementation=ALL-UNNAMED + false + + @@ -64,7 +67,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 @@ -77,7 +80,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 test-jar test @@ -97,7 +100,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-jackson-tests/pom.xml b/sdk/core/azure-core-jackson-tests/pom.xml index ba3099d789eed..3e50e76714d23 100644 --- a/sdk/core/azure-core-jackson-tests/pom.xml +++ b/sdk/core/azure-core-jackson-tests/pom.xml @@ -49,19 +49,22 @@ 2.12.4 + + + com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 test com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 tests test-jar test @@ -70,31 +73,31 @@ com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 test com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 test com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 test com.fasterxml.jackson.datatype jackson-datatype-jsr310 - 2.12.4 + 2.12.5 test com.fasterxml.jackson.dataformat jackson-dataformat-xml - 2.12.4 + 2.12.5 test @@ -119,7 +122,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -160,6 +163,28 @@ + + + + org.jacoco + jacoco-maven-plugin + 0.8.7 + + true + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.3.1 + + true + + + + + default diff --git a/sdk/core/azure-core-management/CHANGELOG.md b/sdk/core/azure-core-management/CHANGELOG.md index 65ca45f8b04d8..bd45246f6abf0 100644 --- a/sdk/core/azure-core-management/CHANGELOG.md +++ b/sdk/core/azure-core-management/CHANGELOG.md @@ -10,6 +10,14 @@ ### Other Changes +## 1.4.2 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. + ## 1.4.1 (2021-09-07) ### Other Changes diff --git a/sdk/core/azure-core-management/README.md b/sdk/core/azure-core-management/README.md index 13c331b4e8aee..0119435c95170 100644 --- a/sdk/core/azure-core-management/README.md +++ b/sdk/core/azure-core-management/README.md @@ -15,7 +15,7 @@ Azure Core Management library is a collection of classes common to the [Azure Re com.azure azure-core-management - 1.4.1 + 1.4.2 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-management/pom.xml b/sdk/core/azure-core-management/pom.xml index eeef26fe7eb50..23acaf972c2e3 100644 --- a/sdk/core/azure-core-management/pom.xml +++ b/sdk/core/azure-core-management/pom.xml @@ -49,6 +49,9 @@ --add-opens com.azure.core.management/com.azure.core.management.implementation.polling=ALL-UNNAMED + false + + @@ -62,7 +65,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 @@ -80,7 +83,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-serializer-avro-apache/CHANGELOG.md b/sdk/core/azure-core-serializer-avro-apache/CHANGELOG.md index 6e0c6c5ff5710..4cc538ee963c5 100644 --- a/sdk/core/azure-core-serializer-avro-apache/CHANGELOG.md +++ b/sdk/core/azure-core-serializer-avro-apache/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.0.0-beta.15 (Unreleased) +## 1.0.0-beta.16 (Unreleased) ### Features Added @@ -10,6 +10,14 @@ ### Other Changes +## 1.0.0-beta.15 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. + ## 1.0.0-beta.14 (2021-09-07) ### Other Changes diff --git a/sdk/core/azure-core-serializer-avro-apache/README.md b/sdk/core/azure-core-serializer-avro-apache/README.md index c9813ec4f0adc..cba262c1d80a3 100644 --- a/sdk/core/azure-core-serializer-avro-apache/README.md +++ b/sdk/core/azure-core-serializer-avro-apache/README.md @@ -15,7 +15,7 @@ Azure Core Apache Avro Serializer is a plugin for the `azure-core` `AvroSerializ com.azure azure-core-serializer-avro-apache - 1.0.0-beta.14 + 1.0.0-beta.15 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-serializer-avro-apache/pom.xml b/sdk/core/azure-core-serializer-avro-apache/pom.xml index 4298671cf8304..a35232acaaa0f 100644 --- a/sdk/core/azure-core-serializer-avro-apache/pom.xml +++ b/sdk/core/azure-core-serializer-avro-apache/pom.xml @@ -15,7 +15,7 @@ com.azure azure-core-serializer-avro-apache jar - 1.0.0-beta.15 + 1.0.0-beta.16 Microsoft Azure Apache Avro Serializer Library This package contains the Apache Avro serializer client plugin for azure-core. @@ -49,6 +49,9 @@ --add-exports com.azure.core.serializer.avro.apache/com.azure.core.serializer.avro.apache.generatedtestsources=org.apache.avro --add-opens com.azure.core.serializer.avro.apache/com.azure.core.serializer.avro.apache=ALL-UNNAMED + false + + @@ -62,12 +65,12 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure azure-core-experimental - 1.0.0-beta.19 + 1.0.0-beta.20 @@ -79,7 +82,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-serializer-avro-jackson/pom.xml b/sdk/core/azure-core-serializer-avro-jackson/pom.xml index 456881ba3ecb0..6d4c2bec8d164 100644 --- a/sdk/core/azure-core-serializer-avro-jackson/pom.xml +++ b/sdk/core/azure-core-serializer-avro-jackson/pom.xml @@ -62,24 +62,24 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure azure-core-experimental - 1.0.0-beta.19 + 1.0.0-beta.20 com.fasterxml.jackson.dataformat jackson-dataformat-avro - 2.12.4 + 2.12.5 io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -112,7 +112,7 @@ - com.fasterxml.jackson.dataformat:jackson-dataformat-avro:[2.12.4] + com.fasterxml.jackson.dataformat:jackson-dataformat-avro:[2.12.5] diff --git a/sdk/core/azure-core-serializer-json-gson/CHANGELOG.md b/sdk/core/azure-core-serializer-json-gson/CHANGELOG.md index 4e77482f36980..cdf484097a1e4 100644 --- a/sdk/core/azure-core-serializer-json-gson/CHANGELOG.md +++ b/sdk/core/azure-core-serializer-json-gson/CHANGELOG.md @@ -10,6 +10,15 @@ ### Other Changes +## 1.1.7 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. +- Upgraded `gson` from `2.8.7` to `2.8.8`. + ## 1.1.6 (2021-09-07) ### Other Changes diff --git a/sdk/core/azure-core-serializer-json-gson/README.md b/sdk/core/azure-core-serializer-json-gson/README.md index 58e436152f3d3..ca7dd6ac523a2 100644 --- a/sdk/core/azure-core-serializer-json-gson/README.md +++ b/sdk/core/azure-core-serializer-json-gson/README.md @@ -47,7 +47,7 @@ add the direct dependency to your project as follows. com.azure azure-core-serializer-json-gson - 1.1.6 + 1.1.7 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-serializer-json-gson/pom.xml b/sdk/core/azure-core-serializer-json-gson/pom.xml index a46716d77aafe..88047c4a61eb7 100644 --- a/sdk/core/azure-core-serializer-json-gson/pom.xml +++ b/sdk/core/azure-core-serializer-json-gson/pom.xml @@ -47,7 +47,11 @@ --add-opens com.azure.core.serializer.json.gson/com.azure.core.serializer.json.gson=ALL-UNNAMED + --add-opens com.azure.core.serializer.json.gson/com.azure.core.serializer.json.gson=com.google.gson + false + + @@ -61,13 +65,13 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.google.code.gson gson - 2.8.7 + 2.8.8 @@ -97,7 +101,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -112,7 +116,7 @@ - com.google.code.gson:gson:[2.8.7] + com.google.code.gson:gson:[2.8.8] diff --git a/sdk/core/azure-core-serializer-json-jackson/CHANGELOG.md b/sdk/core/azure-core-serializer-json-jackson/CHANGELOG.md index 8a4416fc0dd0e..c12354cc256c6 100644 --- a/sdk/core/azure-core-serializer-json-jackson/CHANGELOG.md +++ b/sdk/core/azure-core-serializer-json-jackson/CHANGELOG.md @@ -10,6 +10,15 @@ ### Other Changes +## 1.2.8 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. +- Upgraded Jackson from `2.12.4` to `2.12.5`. + ## 1.2.7 (2021-09-07) ### Other Changes diff --git a/sdk/core/azure-core-serializer-json-jackson/README.md b/sdk/core/azure-core-serializer-json-jackson/README.md index 317e2c17536e1..1c9246a71f784 100644 --- a/sdk/core/azure-core-serializer-json-jackson/README.md +++ b/sdk/core/azure-core-serializer-json-jackson/README.md @@ -47,7 +47,7 @@ add the direct dependency to your project as follows. com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-serializer-json-jackson/pom.xml b/sdk/core/azure-core-serializer-json-jackson/pom.xml index d5b2b3476ea86..e39b33a2cf578 100644 --- a/sdk/core/azure-core-serializer-json-jackson/pom.xml +++ b/sdk/core/azure-core-serializer-json-jackson/pom.xml @@ -50,6 +50,9 @@ --add-opens com.azure.core.serializer.json.jackson/com.azure.core.serializer.json.jackson=com.fasterxml.jackson.databind --add-opens com.azure.core.serializer.json.jackson/com.azure.core.serializer.json.jackson=ALL-UNNAMED + false + + @@ -63,7 +66,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 @@ -93,7 +96,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/core/azure-core-serializer-json-jackson/src/test/java/com/azure/core/serializer/json/jackson/JacksonMemberNameConverterTests.java b/sdk/core/azure-core-serializer-json-jackson/src/test/java/com/azure/core/serializer/json/jackson/JacksonMemberNameConverterTests.java index 4a8d65c720e76..c8c136771d5aa 100644 --- a/sdk/core/azure-core-serializer-json-jackson/src/test/java/com/azure/core/serializer/json/jackson/JacksonMemberNameConverterTests.java +++ b/sdk/core/azure-core-serializer-json-jackson/src/test/java/com/azure/core/serializer/json/jackson/JacksonMemberNameConverterTests.java @@ -268,6 +268,7 @@ public void testPropertyNameOnConstructor() { assertNull(jacksonJsonSerializer.convertMemberName(constructors[0])); } + @SuppressWarnings("removal") @ParameterizedTest @MethodSource("classConversionSupplier") public void classConversion(T object, JacksonJsonSerializer converter, Set expected) diff --git a/sdk/core/azure-core-test/CHANGELOG.md b/sdk/core/azure-core-test/CHANGELOG.md index 75d68e3462246..85df65a4e90b6 100644 --- a/sdk/core/azure-core-test/CHANGELOG.md +++ b/sdk/core/azure-core-test/CHANGELOG.md @@ -10,6 +10,14 @@ ### Other Changes +## 1.7.2 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. + ## 1.7.1 (2021-09-07) ### Fixed diff --git a/sdk/core/azure-core-test/README.md b/sdk/core/azure-core-test/README.md index e1f7f03ba5c67..eaacb3b9aa3f9 100644 --- a/sdk/core/azure-core-test/README.md +++ b/sdk/core/azure-core-test/README.md @@ -18,7 +18,7 @@ To use this package, add the following to your _pom.xml_. com.azure azure-core-test - 1.7.1 + 1.7.2 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-test/pom.xml b/sdk/core/azure-core-test/pom.xml index 057a655d771a6..8f580e07d6fef 100644 --- a/sdk/core/azure-core-test/pom.xml +++ b/sdk/core/azure-core-test/pom.xml @@ -41,19 +41,22 @@ --add-opens com.azure.core.test/com.azure.core.test.models=ALL-UNNAMED --add-opens com.azure.core.test/com.azure.core.test.implementation=org.junit.platform.commons + false + + com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 io.projectreactor reactor-test - 3.4.9 + 3.4.10 @@ -124,7 +127,7 @@ - io.projectreactor:reactor-test:[3.4.9] + io.projectreactor:reactor-test:[3.4.10] org.junit.jupiter:junit-jupiter-api:[5.7.2] org.junit.jupiter:junit-jupiter-params:[5.7.2] diff --git a/sdk/core/azure-core-test/src/main/java/com/azure/core/test/TestBase.java b/sdk/core/azure-core-test/src/main/java/com/azure/core/test/TestBase.java index a0686b6cf2756..c5116cb2a3a63 100644 --- a/sdk/core/azure-core-test/src/main/java/com/azure/core/test/TestBase.java +++ b/sdk/core/azure-core-test/src/main/java/com/azure/core/test/TestBase.java @@ -37,8 +37,20 @@ public abstract class TestBase implements BeforeEachCallback { // Environment variable name used to determine the TestMode. private static final String AZURE_TEST_HTTP_CLIENTS = "AZURE_TEST_HTTP_CLIENTS"; + + /** + * Specifies to use all HttpClient implementations in testing. + */ public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_ALL = "ALL"; + + /** + * Specifies to use Netty HttpClient implementation in testing. + */ public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY = "NettyAsyncHttpClient"; + + /** + * Specifies to use all service versions in testing. + */ public static final String AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL = "ALL"; private static final Duration PLAYBACK_POLL_INTERVAL = Duration.ofMillis(1); @@ -67,8 +79,19 @@ public abstract class TestBase implements BeforeEachCallback { private final ClientLogger logger = new ClientLogger(TestBase.class); + /** + * {@link InterceptorManager} used for this test run. + */ protected InterceptorManager interceptorManager; + + /** + * {@link TestResourceNamer} used for this test run. + */ protected TestResourceNamer testResourceNamer; + + /** + * {@link TestContextManager} used for this test run. + */ protected TestContextManager testContextManager; private ExtensionContext extensionContext; diff --git a/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md b/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md index fef84c5f3817d..a9566e85328ba 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md +++ b/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.0.0-beta.15 (Unreleased) +## 1.0.0-beta.16 (Unreleased) ### Features Added @@ -10,6 +10,14 @@ ### Other Changes +## 1.0.0-beta.15 (2021-10-01) + +### Other Changes + +#### Dependency Updates + +- Upgraded `azure-core` from `1.20.0` to `1.21.0`. + ## 1.0.0-beta.14 (2021-09-07) ### Fixed diff --git a/sdk/core/azure-core-tracing-opentelemetry/README.md b/sdk/core/azure-core-tracing-opentelemetry/README.md index 4246eb81449d0..7feb08ada0621 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/README.md +++ b/sdk/core/azure-core-tracing-opentelemetry/README.md @@ -22,7 +22,7 @@ documentation][OpenTelemetry] | [Samples][samples] com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.14 + 1.0.0-beta.15 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-tracing-opentelemetry/pom.xml b/sdk/core/azure-core-tracing-opentelemetry/pom.xml index 90e0017f39910..169ccd5a6d796 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/pom.xml +++ b/sdk/core/azure-core-tracing-opentelemetry/pom.xml @@ -12,7 +12,7 @@ com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.15 + 1.0.0-beta.16 Microsoft Azure OpenTelemetry tracing plugin This package contains the OpenTelemetry tracing plugin for Azure client libraries. @@ -35,6 +35,9 @@ --add-opens com.azure.core.tracing.opentelemetry/com.azure.core.tracing.opentelemetry.implementation=ALL-UNNAMED + false + + @@ -46,7 +49,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.google.code.findbugs diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index 23eead65dcff3..d08a849c7970e 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.21.0-beta.1 (Unreleased) +## 1.22.0-beta.1 (Unreleased) ### Features Added @@ -10,6 +10,29 @@ ### Other Changes +## 1.21.0 (2021-10-01) + +### Features Added + +- Added `ResponseError` which represents a general error response. +- Added `HttpResponse.getBodyAsInputStream` to retrieve the `HttpResponse` body as an `InputStream`. +- Added `HttpHeaders.add` to add an individual header to the `HttpHeaders`. +- Added `setTenantId` and `getTenantId` methods to `TokenRequestContext` class that allows to configure TenantId Challenges. +- Added additional logging when an `HttpClientProvider` is loaded from the classpath. + +### Breaking Changes + +- Deprecated annotation `ResumeOperation` as it was no longer used. +- Deprecated `JacksonAdapter.simpleMapper` and `JacksonAdapter.serializer` as they should no longer be used. +- Deprecated `CoreUtils.extractAndFetch` as it was no longer used. + +### Other Changes + +#### Dependency Updates + +- Upgraded Jackson from `2.12.4` to `2.12.5`. +- Upgraded Reactor from `3.4.9` to `3.4.10`. + ## 1.20.0 (2021-09-07) ### Features Added diff --git a/sdk/core/azure-core/README.md b/sdk/core/azure-core/README.md index f5b3ca25bbc29..bf738bca02029 100644 --- a/sdk/core/azure-core/README.md +++ b/sdk/core/azure-core/README.md @@ -58,7 +58,7 @@ add the direct dependency to your project as follows. com.azure azure-core - 1.20.0 + 1.21.0 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core/pom.xml b/sdk/core/azure-core/pom.xml index 4ab2a8054a639..a27eaddc01963 100644 --- a/sdk/core/azure-core/pom.xml +++ b/sdk/core/azure-core/pom.xml @@ -15,7 +15,7 @@ com.azure azure-core jar - 1.21.0-beta.1 + 1.22.0-beta.1 Microsoft Azure Java Core Library This package contains core types for Azure Java clients. @@ -72,6 +72,9 @@ --add-reads com.azure.core=ALL-UNNAMED + false + + @@ -85,27 +88,27 @@ com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.fasterxml.jackson.datatype jackson-datatype-jsr310 - 2.12.4 + 2.12.5 com.fasterxml.jackson.dataformat jackson-dataformat-xml - 2.12.4 + 2.12.5 org.slf4j @@ -126,18 +129,18 @@ io.projectreactor reactor-core - 3.4.9 + 3.4.10 io.netty netty-tcnative-boringssl-static - 2.0.40.Final + 2.0.43.Final ${boring-ssl-classifier} io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -233,13 +236,13 @@ - io.netty:netty-tcnative-boringssl-static:[2.0.40.Final] - io.projectreactor:reactor-core:[3.4.9] - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] - com.fasterxml.jackson.core:jackson-core:[2.12.4] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] - com.fasterxml.jackson.dataformat:jackson-dataformat-xml:[2.12.4] - com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.4] + io.netty:netty-tcnative-boringssl-static:[2.0.43.Final] + io.projectreactor:reactor-core:[3.4.10] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] + com.fasterxml.jackson.core:jackson-core:[2.12.5] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] + com.fasterxml.jackson.dataformat:jackson-dataformat-xml:[2.12.5] + com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.5] org.slf4j:slf4j-api:[1.7.32] diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ReturnType.java b/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ReturnType.java index 08f5e5425de1a..b4bb32673e96b 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ReturnType.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ReturnType.java @@ -8,7 +8,18 @@ * method is expected to return a single item or a collection */ public enum ReturnType { + /** + * Single value return type. + */ SINGLE, + + /** + * Simple collection, enumeration, return type. + */ COLLECTION, + + /** + * Long-running operation return type. + */ LONG_RUNNING_OPERATION } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ServiceClientProtocol.java b/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ServiceClientProtocol.java index dda22157cf4ab..581a9d3e12d8b 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ServiceClientProtocol.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/annotation/ServiceClientProtocol.java @@ -8,6 +8,13 @@ * {@link ServiceClientBuilder} annotation. */ public enum ServiceClientProtocol { + /** + * HTTP protocol. + */ HTTP, - AMQP; + + /** + * AMQP protocol. + */ + AMQP } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureNamedKeyCredential.java b/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureNamedKeyCredential.java index c1a12d83e8f8b..f9d810d48562d 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureNamedKeyCredential.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureNamedKeyCredential.java @@ -16,7 +16,12 @@ * *

Create a named credential for a service specific sas key.

* - * {@codesnippet com.azure.core.credential.azureNamedKeyCredenialSasKey} + * + *
+ * AzureNamedKeyCredential azureNamedKeyCredential =
+ *     new AzureNamedKeyCredential("AZURE-SERVICE-SAS-KEY-NAME", "AZURE-SERVICE-SAS-KEY");
+ * 
+ * * */ public final class AzureNamedKeyCredential { diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/credential/TokenRequestContext.java b/sdk/core/azure-core/src/main/java/com/azure/core/credential/TokenRequestContext.java index f14ddfe8bd76a..9a1a3498094af 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/credential/TokenRequestContext.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/credential/TokenRequestContext.java @@ -14,6 +14,7 @@ public class TokenRequestContext { private final List scopes; private String claims; + private String tenantId; /** * Creates a token request instance. @@ -77,4 +78,24 @@ public TokenRequestContext setClaims(String claims) { public String getClaims() { return this.claims; } + + /** + * Set the tenant id to be used for the authentication request. + * + * @param tenantId the tenant to be used when requesting the token. + * @return the updated TokenRequestContext itself + */ + public TokenRequestContext setTenantId(String tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get the tenant id to be used for the authentication request. + * + * @return the configured tenant id. + */ + public String getTenantId() { + return this.tenantId; + } } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/exception/UnexpectedLengthException.java b/sdk/core/azure-core/src/main/java/com/azure/core/exception/UnexpectedLengthException.java index 63414b2656849..890887d6d5c7f 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/exception/UnexpectedLengthException.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/exception/UnexpectedLengthException.java @@ -7,7 +7,14 @@ * This exception class represents an error when the specified input length doesn't match the data length. */ public final class UnexpectedLengthException extends IllegalStateException { + /** + * Number of bytes read from the input. + */ private final long bytesRead; + + /** + * Number of bytes that were expected to be read from the input. + */ private final long bytesExpected; /** @@ -23,6 +30,8 @@ public UnexpectedLengthException(String message, long bytesRead, long bytesExpec } /** + * Gets the number of bytes read from the input. + * * @return the number of bytes read from the input */ public long getBytesRead() { @@ -30,6 +39,8 @@ public long getBytesRead() { } /** + * Gets the number of bytes that were expected to be read from the input. + * * @return the number of bytes that were expected to be read from the input */ public long getBytesExpected() { diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpHeaders.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpHeaders.java index 664f7fa4d5e46..c9f1e0d9fb0e6 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpHeaders.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpHeaders.java @@ -250,7 +250,7 @@ public Map toMap() { * * @return the headers in a copied and unmodifiable form. */ - public Map toMultiMap() { + Map toMultiMap() { final Map result = new HashMap<>(); for (final HttpHeader header : headers.values()) { result.put(header.getName(), header.getValues()); diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpPipelineBuilder.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpPipelineBuilder.java index e7b8b76e59ca6..b61fc5232bea1 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpPipelineBuilder.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpPipelineBuilder.java @@ -22,11 +22,22 @@ * *

Create a pipeline without configuration

* - * {@codesnippet com.azure.core.http.HttpPipelineBuilder.noConfiguration} + * + *
+ * HttpPipeline pipeline = new HttpPipelineBuilder().build();
+ * 
+ * * *

Create a pipeline using the default HTTP client and a retry policy

* - * {@codesnippet com.azure.core.http.HttpPipelineBuilder.defaultHttpClientWithRetryPolicy} + * + *
+ * HttpPipeline pipeline = new HttpPipelineBuilder()
+ *     .httpClient(HttpClient.createDefault())
+ *     .policies(new RetryPolicy())
+ *     .build();
+ * 
+ * * * @see HttpPipeline */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpResponse.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpResponse.java index 7315237044b6b..5eb6427f515bf 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpResponse.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/HttpResponse.java @@ -19,6 +19,11 @@ public abstract class HttpResponse implements Closeable { private final HttpRequest request; + /** + * Creates an instance of {@link HttpResponse}. + * + * @param request The {@link HttpRequest} that resulted in this {@link HttpResponse}. + */ protected HttpResponse(HttpRequest request) { this.request = request; } diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RequestIdPolicy.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RequestIdPolicy.java index 977820affb25b..7067cee921a6d 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RequestIdPolicy.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RequestIdPolicy.java @@ -19,7 +19,11 @@ * *

The default {@link HttpHeader} name can be overwritten as shown below *

Code sample

- * {@codesnippet com.azure.core.http.policy.RequestIdPolicy.constructor.overrideRequestIdHeaderName} + * + *
+ * new RequestIdPolicy("x-ms-my-custom-request-id");
+ * 
+ * */ public class RequestIdPolicy implements HttpPipelinePolicy { diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RetryStrategy.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RetryStrategy.java index 627793fae8bc6..c7a4b0b6a00b5 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RetryStrategy.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/policy/RetryStrategy.java @@ -13,6 +13,9 @@ */ public interface RetryStrategy { + /** + * HTTP response status code for {@code Too Many Requests}. + */ int HTTP_STATUS_TOO_MANY_REQUESTS = 429; /** diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFlux.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFlux.java index 4c5b037da812c..e436b2b38f5dc 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFlux.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFlux.java @@ -20,16 +20,51 @@ * *

To process one item at a time, simply subscribe to this flux as shown below

*

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedflux.items} + * + *
+ * // Subscribe to process one item at a time
+ * pagedFlux
+ *     .log()
+ *     .subscribe(item -> System.out.println("Processing item with value: " + item),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * *

To process one page at a time, use {@link #byPage()} method as shown below

*

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedflux.pages} + * + *
+ * // Subscribe to process one page at a time from the beginning
+ * pagedFlux
+ *     .byPage()
+ *     .log()
+ *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+ *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * *

To process items one page at a time starting from any page associated with a continuation token, * use {@link #byPage(String)} as shown below

*

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedflux.pagesWithContinuationToken} + * + *
+ * // Subscribe to process one page at a time starting from a page associated with
+ * // a continuation token
+ * String continuationToken = getContinuationToken();
+ * pagedFlux
+ *     .byPage(continuationToken)
+ *     .log()
+ *     .doOnSubscribe(ignored -> System.out.println(
+ *         "Subscribed to paged flux processing pages starting from: " + continuationToken))
+ *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+ *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * * @param The type of items in a {@link PagedResponse} * @see PagedResponse @@ -43,7 +78,15 @@ public class PagedFlux extends PagedFluxBase> { * Supplier} that return the single page of {@code T}. * *

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedflux.singlepage.instantiation} + * + *
+     * // A supplier that fetches the first page of data from source/service
+     * Supplier<Mono<PagedResponse<Integer>>> firstPageRetrieverFunction = () -> getFirstPage();
+     *
+     * PagedFlux<Integer> pagedFluxInstance = new PagedFlux<>(firstPageRetrieverFunction,
+     *     nextPageRetriever);
+     * 
+ * * * @param firstPageRetriever Supplier that retrieves the first page. */ @@ -56,7 +99,15 @@ public PagedFlux(Supplier>> firstPageRetriever) { * *

Code sample

* - * {@codesnippet com.azure.core.http.rest.PagedFlux.singlepage.instantiationWithPageSize} + * + *
+     * // A function that fetches the single page of data from a source/service.
+     * Function<Integer, Mono<PagedResponse<Integer>>> singlePageRetriever = pageSize ->
+     *     getFirstPageWithSize(pageSize);
+     *
+     * PagedFlux<Integer> singlePageFluxWithPageSize = new PagedFlux<Integer>(singlePageRetriever);
+     * 
+ * * * @param firstPageRetriever Function that retrieves the first page. */ @@ -71,7 +122,19 @@ public PagedFlux(Function>> firstPageRetriever) { * *

Code sample

* - * {@codesnippet com.azure.core.http.rest.pagedflux.instantiation} + * + *
+     * // A supplier that fetches the first page of data from source/service
+     * Supplier<Mono<PagedResponse<Integer>>> firstPageRetriever = () -> getFirstPage();
+     *
+     * // A function that fetches subsequent pages of data from source/service given a continuation token
+     * Function<String, Mono<PagedResponse<Integer>>> nextPageRetriever =
+     *     continuationToken -> getNextPage(continuationToken);
+     *
+     * PagedFlux<Integer> pagedFlux = new PagedFlux<>(firstPageRetriever,
+     *     nextPageRetriever);
+     * 
+ * * * @param firstPageRetriever Supplier that retrieves the first page * @param nextPageRetriever Function that retrieves the next page given a continuation token @@ -88,7 +151,18 @@ public PagedFlux(Supplier>> firstPageRetriever, * *

Code sample

* - * {@codesnippet com.azure.core.http.rest.PagedFlux.instantiationWithPageSize} + * + *
+     * // A function that fetches the first page of data from a source/service.
+     * Function<Integer, Mono<PagedResponse<Integer>>> firstPageRetriever = pageSize -> getFirstPageWithSize(pageSize);
+     *
+     * // A function that fetches subsequent pages of data from a source/service given a continuation token.
+     * BiFunction<String, Integer, Mono<PagedResponse<Integer>>> nextPageRetriever = (continuationToken, pageSize) ->
+     *     getNextPageWithSize(continuationToken, pageSize);
+     *
+     * PagedFlux<Integer> pagedFluxWithPageSize = new PagedFlux<>(firstPageRetriever, nextPageRetriever);
+     * 
+ * * * @param firstPageRetriever Function that retrieves the first page. * @param nextPageRetriever BiFunction that retrieves the next page given a continuation token and page size. @@ -124,7 +198,44 @@ private PagedFlux(Supplier>> provider, bo * * *

Decoration sample

- * {@codesnippet com.azure.core.http.rest.pagedflux.create.decoration} + * + *
+     *
+     * // Transform a PagedFlux with Integer items to PagedFlux of String items.
+     * final PagedFlux<Integer> intPagedFlux = createAnInstance();
+     *
+     * // PagedResponse<Integer> to PagedResponse<String> mapper
+     * final Function<PagedResponse<Integer>, PagedResponse<String>> responseMapper
+     *     = intResponse -> new PagedResponseBase<Void, String>(intResponse.getRequest(),
+     *     intResponse.getStatusCode(),
+     *     intResponse.getHeaders(),
+     *     intResponse.getValue()
+     *         .stream()
+     *         .map(intValue -> Integer.toString(intValue)).collect(Collectors.toList()),
+     *     intResponse.getContinuationToken(),
+     *     null);
+     *
+     * final Supplier<PageRetriever<String, PagedResponse<String>>> provider = () ->
+     *     (continuationToken, pageSize) -> {
+     *         Flux<PagedResponse<Integer>> flux = (continuationToken == null)
+     *             ? intPagedFlux.byPage()
+     *             : intPagedFlux.byPage(continuationToken);
+     *         return flux.map(responseMapper);
+     *     };
+     * PagedFlux<String> strPagedFlux = PagedFlux.create(provider);
+     *
+     * // Create a PagedFlux from a PagedFlux with all exceptions mapped to a specific exception.
+     * final PagedFlux<Integer> pagedFlux = createAnInstance();
+     * final Supplier<PageRetriever<String, PagedResponse<Integer>>> eprovider = () ->
+     *     (continuationToken, pageSize) -> {
+     *         Flux<PagedResponse<Integer>> flux = (continuationToken == null)
+     *             ? pagedFlux.byPage()
+     *             : pagedFlux.byPage(continuationToken);
+     *         return flux.onErrorMap(PaginationException::new);
+     *     };
+     * final PagedFlux<Integer> exceptionMappedPagedFlux = PagedFlux.create(eprovider);
+     * 
+ * * * @param provider the Page Retrieval Provider * @param The type of items in a {@link PagedResponse} diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFluxBase.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFluxBase.java index 4bc3ea9bb730e..4648a1f6b6b56 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFluxBase.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedFluxBase.java @@ -20,15 +20,47 @@ * *

Process each item in Flux

*

To process one item at a time, simply subscribe to this Flux.

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.items} + * + *
+ * pagedFluxBase
+ *     .log()
+ *     .subscribe(item -> System.out.println("Processing item with value: " + item),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * *

Process one page at a time

*

To process one page at a time, starting from the beginning, use {@link #byPage() byPage()} method.

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.pages} + * + *
+ * pagedFluxBase
+ *     .byPage()
+ *     .log()
+ *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+ *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * *

Process items starting from a continuation token

*

To process items one page at a time starting from any page associated with a continuation token, use - * {@link #byPage(String)}.

{@codesnippet com.azure.core.http.rest.pagedfluxbase.pagesWithContinuationToken} + * {@link #byPage(String)}.

+ * + *
+ * String continuationToken = getContinuationToken();
+ * pagedFluxBase
+ *     .byPage(continuationToken)
+ *     .log()
+ *     .doOnSubscribe(ignored -> System.out.println(
+ *         "Subscribed to paged flux processing pages starting from: " + continuationToken))
+ *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+ *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+ *         error -> System.err.println("An error occurred: " + error),
+ *         () -> System.out.println("Processing complete."));
+ * 
+ * * * @param The type of items in {@code P}. * @param

The {@link PagedResponse} holding items of type {@code T}. @@ -44,7 +76,16 @@ public class PagedFluxBase> extends ContinuablePag * Supplier} that return the single page of {@code T}. * *

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.singlepage.instantiation} + * + *
+     * // A supplier that fetches the first page of data from source/service
+     * Supplier<Mono<PagedResponse<Integer>>> firstPageRetrieverFunction = () -> getFirstPage();
+     *
+     * PagedFluxBase<Integer, PagedResponse<Integer>> pagedFluxBaseInstance =
+     *     new PagedFluxBase<>(firstPageRetrieverFunction,
+     *         nextPageRetriever);
+     * 
+ * * * @param firstPageRetriever Supplier that retrieves the first page. */ @@ -58,7 +99,19 @@ public PagedFluxBase(Supplier> firstPageRetriever) { * T}. * *

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.instantiation} + * + *
+     * // A supplier that fetches the first page of data from source/service
+     * Supplier<Mono<PagedResponse<Integer>>> firstPageRetriever = () -> getFirstPage();
+     *
+     * // A function that fetches subsequent pages of data from source/service given a continuation token
+     * Function<String, Mono<PagedResponse<Integer>>> nextPageRetriever =
+     *     continuationToken -> getNextPage(continuationToken);
+     *
+     * PagedFluxBase<Integer, PagedResponse<Integer>> pagedFluxBase = new PagedFluxBase<>(firstPageRetriever,
+     *     nextPageRetriever);
+     * 
+ * * * @param firstPageRetriever Supplier that retrieves the first page * @param nextPageRetriever Function that retrieves the next page given a continuation token @@ -86,7 +139,19 @@ public PagedFluxBase(Supplier> firstPageRetriever, FunctionCode sample

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.bypage} + * + *
+     * // Start processing the results from first page
+     * pagedFluxBase.byPage()
+     *     .log()
+     *     .doOnSubscribe(ignoredVal -> System.out.println(
+     *         "Subscribed to paged flux processing pages starting from first page"))
+     *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+     *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+     *         error -> System.err.println("An error occurred: " + error),
+     *         () -> System.out.println("Processing complete."));
+     * 
+ * * * @return A {@link PagedFluxBase} starting from the first page */ @@ -99,7 +164,20 @@ public Flux

byPage() { * To start from first page, use {@link #byPage()} instead. * *

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.bypage#String} + * + *
+     * // Start processing the results from a page associated with the continuation token
+     * String continuationToken = getContinuationToken();
+     * pagedFluxBase.byPage(continuationToken)
+     *     .log()
+     *     .doOnSubscribe(ignoredVal -> System.out.println(
+     *         "Subscribed to paged flux processing page starting from " + continuationToken))
+     *     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
+     *         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
+     *         error -> System.err.println("An error occurred: " + error),
+     *         () -> System.out.println("Processing complete."));
+     * 
+ * * * @param continuationToken The continuation token used to fetch the next page * @return A {@link PagedFluxBase} starting from the page associated with the continuation token @@ -113,7 +191,27 @@ public Flux

byPage(String continuationToken) { * common scenarios. This will seamlessly fetch next page when required and provide with a {@link Flux} of items. * *

Code sample

- * {@codesnippet com.azure.core.http.rest.pagedfluxbase.subscribe} + * + *
+     * pagedFluxBase.subscribe(new BaseSubscriber<Integer>() {
+     *     @Override
+     *     protected void hookOnSubscribe(Subscription subscription) {
+     *         System.out.println("Subscribed to paged flux processing items");
+     *         super.hookOnSubscribe(subscription);
+     *     }
+     *
+     *     @Override
+     *     protected void hookOnNext(Integer value) {
+     *         System.out.println("Processing item with value: " + value);
+     *     }
+     *
+     *     @Override
+     *     protected void hookOnComplete() {
+     *         System.out.println("Processing complete.");
+     *     }
+     * });
+     * 
+ * * * @param coreSubscriber The subscriber for this {@link PagedFluxBase} */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterable.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterable.java index 336407633c41d..a33e6b2d678c4 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterable.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterable.java @@ -14,15 +14,43 @@ * *

Code sample using {@link Stream} by page

* - * {@codesnippet com.azure.core.http.rest.pagedIterable.streamByPage} + * + *
+ * // process the streamByPage
+ * pagedIterableResponse.streamByPage().forEach(resp -> {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %d %n", value));
+ * });
+ *
+ * 
+ * * *

Code sample using {@link Iterable} by page

* - * {@codesnippet com.azure.core.http.rest.pagedIterable.iterableByPage} + * + *
+ * // process the iterableByPage
+ * pagedIterableResponse.iterableByPage().forEach(resp -> {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %d %n", value));
+ * });
+ * 
+ * * *

Code sample using {@link Iterable} by page and while loop

* - * {@codesnippet com.azure.core.http.rest.pagedIterable.iterableByPage.while} + * + *
+ * // iterate over each page
+ * for (PagedResponse<Integer> resp : pagedIterableResponse.iterableByPage()) {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %d %n", value));
+ * }
+ * 
+ * * * @param The type of value contained in this {@link IterableStream}. * @see PagedResponse diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterableBase.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterableBase.java index 387ab619d4d37..748679fdbac88 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterableBase.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/PagedIterableBase.java @@ -14,15 +14,45 @@ * *

Code sample using {@link Stream} by page

* - * {@codesnippet com.azure.core.http.rest.pagedIterableBase.streamByPage} + * + *
+ * // process the streamByPage
+ * CustomPagedFlux<String> customPagedFlux = createCustomInstance();
+ * PagedIterableBase<String, PagedResponse<String>> customPagedIterableResponse =
+ *     new PagedIterableBase<>(customPagedFlux);
+ * customPagedIterableResponse.streamByPage().forEach(resp -> {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %s %n", value));
+ * });
+ * 
+ * * *

Code sample using {@link Iterable} by page

* - * {@codesnippet com.azure.core.http.rest.pagedIterableBase.iterableByPage} + * + *
+ * // process the iterableByPage
+ * customPagedIterableResponse.iterableByPage().forEach(resp -> {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %s %n", value));
+ * });
+ * 
+ * * *

Code sample using {@link Iterable} by page and while loop

* - * {@codesnippet com.azure.core.http.rest.pagedIterableBase.iterableByPage.while} + * + *
+ * // iterate over each page
+ * for (PagedResponse<String> resp : customPagedIterableResponse.iterableByPage()) {
+ *     System.out.printf("Response headers are %s. Url %s  and status code %d %n", resp.getHeaders(),
+ *         resp.getRequest().getUrl(), resp.getStatusCode());
+ *     resp.getElements().forEach(value -> System.out.printf("Response value is %s %n", value));
+ * }
+ * 
+ * * * @param The type of value contained in this {@link IterableStream}. * @param

The response extending from {@link PagedResponse} diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RequestOptions.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RequestOptions.java index eabf4d7c9dcff..fd42e2a201c5e 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RequestOptions.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RequestOptions.java @@ -11,7 +11,7 @@ import java.util.function.Consumer; /** - * This class contains the options to customize a HTTP request. {@link RequestOptions} can be + * This class contains the options to customize an HTTP request. {@link RequestOptions} can be * used to configure the request headers, query params, the request body, or add a callback * to modify all aspects of the HTTP request. * @@ -27,10 +27,16 @@ *

* *

Creating an instance of RequestOptions

- * {@codesnippet com.azure.core.http.rest.requestoptions.instantiation} + * + *
+ * RequestOptions options = new RequestOptions()
+ *     .setBody(BinaryData.fromString("{\"name\":\"Fluffy\"}"))
+ *     .addHeader("x-ms-pet-version", "2021-06-01");
+ * 
+ * * *

Configuring the request with JSON body and making a HTTP POST request

- * To add a new pet to the pet store, a HTTP POST call should + * To add a new pet to the pet store, an HTTP POST call should * be made to the service with the details of the pet that is to be added. The details of the pet are included as the * request body in JSON format. * @@ -59,11 +65,50 @@ * To create a concrete request, Json builder provided in javax package is used here for demonstration. However, any * other Json building library can be used to achieve similar results. * - * {@codesnippet com.azure.core.http.rest.requestoptions.createjsonrequest} + * + *
+ * JsonArray photoUrls = Json.createArrayBuilder()
+ *     .add("https://imgur.com/pet1")
+ *     .add("https://imgur.com/pet2")
+ *     .build();
+ *
+ * JsonArray tags = Json.createArrayBuilder()
+ *     .add(Json.createObjectBuilder()
+ *         .add("id", 0)
+ *         .add("name", "Labrador")
+ *         .build())
+ *     .add(Json.createObjectBuilder()
+ *         .add("id", 1)
+ *         .add("name", "2021")
+ *         .build())
+ *     .build();
+ *
+ * JsonObject requestBody = Json.createObjectBuilder()
+ *     .add("id", 0)
+ *     .add("name", "foo")
+ *     .add("status", "available")
+ *     .add("category", Json.createObjectBuilder().add("id", 0).add("name", "dog"))
+ *     .add("photoUrls", photoUrls)
+ *     .add("tags", tags)
+ *     .build();
+ *
+ * String requestBodyStr = requestBody.toString();
+ * 
+ * * * Now, this string representation of the JSON request can be set as body of RequestOptions * - * {@codesnippet com.azure.core.http.rest.requestoptions.postrequest} + * + *
+ * RequestOptions options = new RequestOptions()
+ *     .addRequestCallback(request -> request
+ *         // may already be set if request is created from a client
+ *         .setUrl("https://petstore.example.com/pet")
+ *         .setHttpMethod(HttpMethod.POST)
+ *         .setBody(requestBodyStr)
+ *         .setHeader("Content-Type", "application/json"));
+ * 
+ * */ final class RequestOptions { private Consumer requestCallback = request -> { }; @@ -78,7 +123,7 @@ Consumer getRequestCallback() { } /** - * Gets whether or not to throw an exception when an HTTP response with a status code indicating an error + * Gets whether an exception is thrown when an HTTP response with a status code indicating an error * (400 or above) is received. * * @return true if to throw on status codes of 400 or above, false if not. Default is true. @@ -125,7 +170,7 @@ public RequestOptions addQueryParam(String parameterName, String value) { * * @param parameterName the name of the query parameter * @param value the value of the query parameter - * @param encoded whether or not this query parameter is already encoded + * @param encoded whether this query parameter is already encoded * @return the modified RequestOptions object */ public RequestOptions addQueryParam(String parameterName, String value, boolean encoded) { @@ -163,8 +208,8 @@ public RequestOptions setBody(BinaryData requestBody) { } /** - * Sets whether or not to throw an exception when an HTTP response with a status code indicating an error - * (400 or above) is received. By default an exception will be thrown when an error response is received. + * Sets whether exception is thrown when an HTTP response with a status code indicating an error + * (400 or above) is received. By default, an exception will be thrown when an error response is received. * * @param throwOnError true if to throw on status codes of 400 or above, false if not. Default is true. * @return the modified RequestOptions object diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RestProxy.java b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RestProxy.java index 9f84a39354407..3fe5d9cfba7c1 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RestProxy.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RestProxy.java @@ -201,10 +201,16 @@ static Flux validateLength(final HttpRequest request) { * @return The updated context containing the span context. */ private Context startTracingSpan(Method method, Context context) { - boolean disableTracing = (boolean) context.getData(Tracer.DISABLE_TRACING_KEY).orElse(false); - if (!TracerProxy.isTracingEnabled() || disableTracing) { + // First check if tracing is enabled. This is an optimized operation, so it is done first. + if (!TracerProxy.isTracingEnabled()) { return context; } + + // Then check if this method disabled tracing. This requires walking a linked list, so do it last. + if ((boolean) context.getData(Tracer.DISABLE_TRACING_KEY).orElse(false)) { + return context; + } + String spanName = interfaceParser.getServiceName() + "." + method.getName(); context = TracerProxy.setSpanName(spanName, context); return TracerProxy.start(spanName, context); diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java index 5404ac44b6fd2..4376aeb87f869 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/implementation/Option.java @@ -11,7 +11,37 @@ * non-null-value, null-value, or no-value. * *

Code sample

- * {@codesnippet com.azure.core.util.Option} + * + *
+ * // An Option with non-null-value.
+ * Option<String> skuOption = Option.of("basic");
+ * if (skuOption.isInitialized()) {
+ *     // Option.isInitialized() returns true because option is initialized with a non-null value.
+ *     System.out.println(skuOption.getValue()); // print: "basic"
+ * }
+ *
+ * // An Option with null-value.
+ * Option<String> descriptionOption = Option.of(null);
+ * if (descriptionOption.isInitialized()) {
+ *     // Option.isInitialized() returns true because option is initialized with an explicit null-value.
+ *     System.out.println(skuOption.getValue()); // print: null
+ * }
+ *
+ * // An Option with no-value.
+ * Option<String> uninitializedOption = Option.uninitialized();
+ * if (!uninitializedOption.isInitialized()) {
+ *     // Option.isInitialized() returns false because option is uninitialized.
+ *     System.out.println("not initialized");
+ * }
+ *
+ * // Attempting to access the value when an option has no-value will throw 'NoSuchElementException'
+ * try {
+ *     uninitializedOption.getValue();
+ * } catch (NoSuchElementException exception) {
+ *     System.out.println(exception.getMessage()); // print: 'No value initialized'
+ * }
+ * 
+ * * * @param The value type. */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/models/CloudEvent.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/CloudEvent.java index 3ad256f9d7694..c0fbcd767172f 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/models/CloudEvent.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/CloudEvent.java @@ -53,13 +53,60 @@ * serialize the CloudEvent into its Json String representation and send it.

* *

Create CloudEvent Samples

- * {@codesnippet com.azure.core.model.CloudEvent#constructor} + * + *
+ * // Use BinaryData.fromBytes() to create data in format CloudEventDataFormat.BYTES
+ * byte[] exampleBytes = "Hello World".getBytes(StandardCharsets.UTF_8);
+ * CloudEvent cloudEvent = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromBytes(exampleBytes), CloudEventDataFormat.BYTES, "application/octet-stream");
+ *
+ * // Use BinaryData.fromObject() to create CloudEvent data in format CloudEventDataFormat.JSON
+ * // From a model class
+ * User user = new User("Stephen", "James");
+ * CloudEvent cloudEventDataObject = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromObject(user), CloudEventDataFormat.JSON, "application/json");
+ *
+ * // From a String
+ * CloudEvent cloudEventDataStr = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromObject("Hello World"), CloudEventDataFormat.JSON, "text/plain");
+ *
+ * // From an Integer
+ * CloudEvent cloudEventDataInt = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromObject(1), CloudEventDataFormat.JSON, "int");
+ *
+ * // From a Boolean
+ * CloudEvent cloudEventDataBool = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromObject(true), CloudEventDataFormat.JSON, "bool");
+ *
+ * // From null
+ * CloudEvent cloudEventDataNull = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromObject(null), CloudEventDataFormat.JSON, "null");
+ *
+ * // Use BinaryData.fromString() if you have a Json String for the CloudEvent data.
+ * String jsonStringForData = "\"Hello World\"";  // A json String.
+ * CloudEvent cloudEventDataJsonStr = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+ *     BinaryData.fromString(jsonStringForData), CloudEventDataFormat.JSON, "text/plain");
+ * 
+ * * *

On the contrary, if you receive CloudEvents and have the Json string representation of one or more of CloudEvents, * use {@link #fromString(String)} to deserialize them from the Json string.

* *

Deserialize CloudEvent Samples

- * {@codesnippet com.azure.core.model.CloudEvent.fromString} + * + *
+ * List<CloudEvent> cloudEventList = CloudEvent.fromString(cloudEventJsonString);
+ * CloudEvent cloudEvent = cloudEventList.get(0);
+ * BinaryData cloudEventData = cloudEvent.getData();
+ *
+ * byte[] bytesValue = cloudEventData.toBytes();  // If data payload is in bytes (data_base64 is not null).
+ * User objectValue = cloudEventData.toObject(User.class);  // If data payload is a User object.
+ * int intValue = cloudEventData.toObject(Integer.class);  // If data payload is an int.
+ * boolean boolValue = cloudEventData.toObject(Boolean.class);  // If data payload is boolean.
+ * String stringValue = cloudEventData.toObject(String.class);  // If data payload is String.
+ * String jsonStringValue = cloudEventData.toString();  // The data payload represented in Json String.
+ * 
+ * */ @Fluent public final class CloudEvent { @@ -182,7 +229,41 @@ public final class CloudEvent { * attribute data of the CloudEvent's Json representation.

* *

Create CloudEvent Samples

- * {@codesnippet com.azure.core.model.CloudEvent#constructor} + * + *
+     * // Use BinaryData.fromBytes() to create data in format CloudEventDataFormat.BYTES
+     * byte[] exampleBytes = "Hello World".getBytes(StandardCharsets.UTF_8);
+     * CloudEvent cloudEvent = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromBytes(exampleBytes), CloudEventDataFormat.BYTES, "application/octet-stream");
+     *
+     * // Use BinaryData.fromObject() to create CloudEvent data in format CloudEventDataFormat.JSON
+     * // From a model class
+     * User user = new User("Stephen", "James");
+     * CloudEvent cloudEventDataObject = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromObject(user), CloudEventDataFormat.JSON, "application/json");
+     *
+     * // From a String
+     * CloudEvent cloudEventDataStr = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromObject("Hello World"), CloudEventDataFormat.JSON, "text/plain");
+     *
+     * // From an Integer
+     * CloudEvent cloudEventDataInt = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromObject(1), CloudEventDataFormat.JSON, "int");
+     *
+     * // From a Boolean
+     * CloudEvent cloudEventDataBool = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromObject(true), CloudEventDataFormat.JSON, "bool");
+     *
+     * // From null
+     * CloudEvent cloudEventDataNull = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromObject(null), CloudEventDataFormat.JSON, "null");
+     *
+     * // Use BinaryData.fromString() if you have a Json String for the CloudEvent data.
+     * String jsonStringForData = "\"Hello World\"";  // A json String.
+     * CloudEvent cloudEventDataJsonStr = new CloudEvent("/cloudevents/example/source", "Example.EventType",
+     *     BinaryData.fromString(jsonStringForData), CloudEventDataFormat.JSON, "text/plain");
+     * 
+ * * * @param source Identifies the context in which an event happened. The combination of id and source must be unique * for each distinct event. @@ -231,7 +312,20 @@ private CloudEvent() { * null {@code id}, {@code source}, or {@code type}. If you want to skip this validation, use {@link #fromString(String, boolean)}. * *

Deserialize CloudEvent Samples

- * {@codesnippet com.azure.core.model.CloudEvent.fromString} + * + *
+     * List<CloudEvent> cloudEventList = CloudEvent.fromString(cloudEventJsonString);
+     * CloudEvent cloudEvent = cloudEventList.get(0);
+     * BinaryData cloudEventData = cloudEvent.getData();
+     *
+     * byte[] bytesValue = cloudEventData.toBytes();  // If data payload is in bytes (data_base64 is not null).
+     * User objectValue = cloudEventData.toObject(User.class);  // If data payload is a User object.
+     * int intValue = cloudEventData.toObject(Integer.class);  // If data payload is an int.
+     * boolean boolValue = cloudEventData.toObject(Boolean.class);  // If data payload is boolean.
+     * String stringValue = cloudEventData.toObject(String.class);  // If data payload is String.
+     * String jsonStringValue = cloudEventData.toString();  // The data payload represented in Json String.
+     * 
+ * * * @param cloudEventsJson the JSON payload containing one or more events. * diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java index 8f5fdfcfc6a91..2c0d8a6dad69c 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/models/JsonPatchDocument.java @@ -74,7 +74,33 @@ List getOperations() { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendAdd#String-Object} + * + *
+     * /*
+     *  * Add an object member to the JSON document { "foo" : "bar" } to get the JSON document
+     *  * { "bar": "foo", "foo": "bar" }.
+     *  */
+     * jsonPatchDocument.appendAdd("/bar", "foo");
+     *
+     * /*
+     *  * Add an array element to the JSON document { "foo": [ "fizz", "fizzbuzz" ] } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ] }.
+     *  */
+     * jsonPatchDocument.appendAdd("/foo/1", "buzz");
+     *
+     * /*
+     *  * Add a nested member to the JSON document { "foo": "bar" } to get the JSON document
+     *  * { "foo": "bar", "child": { "grandchild": { } } }.
+     *  */
+     * jsonPatchDocument.appendAdd("/child", Collections.singletonMap("grandchild", Collections.emptyMap()));
+     *
+     * /*
+     *  * Add an array element to the JSON document { "foo": [ "fizz", "buzz" ] } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ] }.
+     *  */
+     * jsonPatchDocument.appendAdd("/foo/-", "fizzbuzz");
+     * 
+ * * * @param path The path to apply the addition. * @param value The value that will be serialized and added to the path. @@ -95,7 +121,33 @@ public JsonPatchDocument appendAdd(String path, Object value) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendAddRaw#String-String} + * + *
+     * /*
+     *  * Add an object member to the JSON document { "foo" : "bar" } to get the JSON document
+     *  * { "bar": "foo", "foo": "bar" }.
+     *  */
+     * jsonPatchDocument.appendAddRaw("/bar", "\"foo\"");
+     *
+     * /*
+     *  * Add an array element to the JSON document { "foo": [ "fizz", "fizzbuzz" ] } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ] }.
+     *  */
+     * jsonPatchDocument.appendAddRaw("/foo/1", "\"buzz\"");
+     *
+     * /*
+     *  * Add a nested member to the JSON document { "foo": "bar" } to get the JSON document
+     *  * { "foo": "bar", "child": { "grandchild": { } } }.
+     *  */
+     * jsonPatchDocument.appendAddRaw("/child", "\"child\": { \"grandchild\": { } }");
+     *
+     * /*
+     *  * Add an array element to the JSON document { "foo": [ "fizz", "buzz" ] } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ] }.
+     *  */
+     * jsonPatchDocument.appendAddRaw("/foo/-", "\"fizzbuzz\"");
+     * 
+ * * * @param path The path to apply the addition. * @param rawJson The raw JSON value that will be added to the path. @@ -119,7 +171,27 @@ private JsonPatchDocument appendAddInternal(String path, Option rawJsonO * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendReplace#String-Object} + * + *
+     * /*
+     *  * Replace an object member in the JSON document { "bar": "qux", "foo": "bar" } to get the JSON document
+     *  * { "bar": "foo", "foo": "bar" }.
+     *  */
+     * jsonPatchDocument.appendReplace("/bar", "foo");
+     *
+     * /*
+     *  * Replace an object member in the JSON document { "foo": "fizz" } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ]  }.
+     *  */
+     * jsonPatchDocument.appendReplace("/foo", new String[] {"fizz", "buzz", "fizzbuzz"});
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an invalid replace operation as the
+     *  * target path doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendReplace("/baz", "foo");
+     * 
+ * * * @param path The path to replace. * @param value The value will be serialized and used as the replacement. @@ -137,7 +209,27 @@ public JsonPatchDocument appendReplace(String path, Object value) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendReplaceRaw#String-String} + * + *
+     * /*
+     *  * Replace an object member in the JSON document { "bar": "qux", "foo": "bar" } to get the JSON document
+     *  * { "bar": "foo", "foo": "bar" }.
+     *  */
+     * jsonPatchDocument.appendReplaceRaw("/bar", "\"foo\"");
+     *
+     * /*
+     *  * Replace an object member in the JSON document { "foo": "fizz" } to get the JSON document
+     *  * { "foo": [ "fizz", "buzz", "fizzbuzz" ]  }.
+     *  */
+     * jsonPatchDocument.appendReplaceRaw("/foo", "[ \"fizz\", \"buzz\", \"fizzbuzz\" ]");
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an invalid replace operation as the
+     *  * target path doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendReplaceRaw("/baz", "\"foo\"");
+     * 
+ * * * @param path The path to replace. * @param rawJson The raw JSON value that will be used as the replacement. @@ -161,7 +253,27 @@ private JsonPatchDocument appendReplaceInternal(String path, Option rawJ * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendCopy#String-String} + * + *
+     * /*
+     *  * Copy an object member in the JSON document { "foo": "bar" } to get the JSON document
+     *  * { "foo": "bar", "copy": "bar" }.
+     *  */
+     * jsonPatchDocument.appendCopy("/foo", "/copy");
+     *
+     * /*
+     *  * Copy an object member in the JSON document { "foo": { "bar": "baz" } } to get the JSON document
+     *  * { "foo": { "bar": "baz" }, "bar": "baz" }.
+     *  */
+     * jsonPatchDocument.appendCopy("/foo/bar", "/bar");
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an invalid copy operation as the
+     *  * target from doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendCopy("/baz", "/fizz");
+     * 
+ * * * @param from The path to copy from. * @param path The path to copy to. @@ -184,7 +296,33 @@ public JsonPatchDocument appendCopy(String from, String path) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendMove#String-String} + * + *
+     * /*
+     *  * Move an object member in the JSON document { "foo": "bar", "bar": "foo" } to get the JSON document
+     *  * { "bar": "bar" }.
+     *  */
+     * jsonPatchDocument.appendMove("/foo", "/bar");
+     *
+     * /*
+     *  * Move an object member in the JSON document { "foo": { "bar": "baz" } } to get the JSON document
+     *  * { "foo": "baz" }.
+     *  */
+     * jsonPatchDocument.appendMove("/foo/bar", "/foo");
+     *
+     * /*
+     *  * Given the JSON document { "foo": { "bar": "baz" } } the following is an example of an invalid move operation
+     *  * as the target path is a child of the target from.
+     *  */
+     * jsonPatchDocument.appendMove("/foo", "/foo/bar");
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an invalid move operation as the
+     *  * target from doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendMove("/baz", "/fizz");
+     * 
+ * * * @param from The path to move from. * @param path The path to move to. @@ -205,7 +343,27 @@ public JsonPatchDocument appendMove(String from, String path) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendRemove#String} + * + *
+     * /*
+     *  * Remove an object member in the JSON document { "foo": "bar", "bar": "foo" } to get the JSON document
+     *  * { "foo": "bar" }.
+     *  */
+     * jsonPatchDocument.appendRemove("/bar");
+     *
+     * /*
+     *  * Remove an object member in the JSON document { "foo": { "bar": "baz" } } to get the JSON document
+     *  * { "foo": { } }.
+     *  */
+     * jsonPatchDocument.appendRemove("/foo/bar");
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an invalid remove operation as the
+     *  * target from doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendRemove("/baz");
+     * 
+ * * * @param path The path to remove. * @return The updated JsonPatchDocument object. @@ -224,7 +382,25 @@ public JsonPatchDocument appendRemove(String path) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendTest#String-Object} + * + *
+     * /*
+     *  * Test an object member in the JSON document { "foo": "bar" } to get a successful operation.
+     *  */
+     * jsonPatchDocument.appendTest("/foo", "bar");
+     *
+     * /*
+     *  * Test an object member in the JSON document { "foo": "bar" } to get a unsuccessful operation.
+     *  */
+     * jsonPatchDocument.appendTest("/foo", 42);
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an unsuccessful test operation as
+     *  * the target path doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendTest("/baz", "bar");
+     * 
+ * * * @param path The path to test. * @param value The value that will be serialized and used to test against. @@ -242,7 +418,25 @@ public JsonPatchDocument appendTest(String path, Object value) { * *

Code Samples

* - * {@codesnippet com.azure.core.util.JsonPatchDocument.appendTestRaw#String-String} + * + *
+     * /*
+     *  * Test an object member in the JSON document { "foo": "bar" } to get a successful operation.
+     *  */
+     * jsonPatchDocument.appendTestRaw("/foo", "\"bar\"");
+     *
+     * /*
+     *  * Test an object member in the JSON document { "foo": "bar" } to get a unsuccessful operation.
+     *  */
+     * jsonPatchDocument.appendTestRaw("/foo", "42");
+     *
+     * /*
+     *  * Given the JSON document { "foo": "bar" } the following is an example of an unsuccessful test operation as
+     *  * the target path doesn't exist in the document.
+     *  */
+     * jsonPatchDocument.appendTestRaw("/baz", "\"bar\"");
+     * 
+ * * * @param path The path to test. * @param rawJson The raw JSON value that will be used to test against. diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/AsyncCloseable.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/AsyncCloseable.java index 2eede858adb31..8e1be03f8f7fb 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/AsyncCloseable.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/AsyncCloseable.java @@ -13,7 +13,23 @@ * as closing {@literal I/O}. Instead of returning a sync {@code close()}, we use {@code closeAsync()} so users' * programs don't block waiting for this operation to complete.

* - * {@codesnippet com.azure.core.util.AsyncCloseable.closeAsync} + * + *
+ * NetworkResource resource = new NetworkResource();
+ * resource.longRunningDownload("https://longdownload.com")
+ *     .subscribe(
+ *         byteBuffer -> System.out.println("Buffer received: " + byteBuffer),
+ *         error -> System.err.printf("Error occurred while downloading: %s%n", error),
+ *         () -> System.out.println("Completed download operation."));
+ *
+ * System.out.println("Press enter to stop downloading.");
+ * System.in.read();
+ *
+ * // We block here because it is the end of the main Program function. A real-life program may chain this
+ * // with some other close operations like save download/program state, etc.
+ * resource.closeAsync().block();
+ * 
+ * */ public interface AsyncCloseable { /** diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/BinaryData.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/BinaryData.java index 84ec965f2b268..7176d7b8138ff 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/BinaryData.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/BinaryData.java @@ -73,27 +73,95 @@ * *

Create an instance from a byte array

* - * {@codesnippet com.azure.core.util.BinaryData.fromBytes#byte} + * + *
+ * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+ * BinaryData binaryData = BinaryData.fromBytes(data);
+ * System.out.println(new String(binaryData.toBytes(), StandardCharsets.UTF_8));
+ * 
+ * * *

Create an instance from a String

* - * {@codesnippet com.azure.core.util.BinaryData.fromString#String} + * + *
+ * final String data = "Some Data";
+ * // Following will use default character set as StandardCharsets.UTF_8
+ * BinaryData binaryData = BinaryData.fromString(data);
+ * System.out.println(binaryData.toString());
+ * 
+ * * *

Create an instance from an InputStream

* - * {@codesnippet com.azure.core.util.BinaryData.fromStream#InputStream} + * + *
+ * final ByteArrayInputStream inputStream = new ByteArrayInputStream("Some Data".getBytes(StandardCharsets.UTF_8));
+ * BinaryData binaryData = BinaryData.fromStream(inputStream);
+ * System.out.println(binaryData.toString());
+ * 
+ * * *

Create an instance from an Object

* - * {@codesnippet com.azure.core.util.BinaryData.fromObject#Object} + * + *
+ * class Person {
+ *     @JsonProperty
+ *     private String name;
+ *
+ *     @JsonSetter
+ *     public Person setName(String name) {
+ *         this.name = name;
+ *         return this;
+ *     }
+ *
+ *     @JsonGetter
+ *     public String getName() {
+ *         return name;
+ *     }
+ * }
+ * final Person data = new Person().setName("John");
+ *
+ * // Provide your custom serializer or use Azure provided serializers.
+ * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+ * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+ * BinaryData binaryData = BinaryData.fromObject(data);
+ *
+ * System.out.println(binaryData.toString());
+ * 
+ * * *

Create an instance from {@code Flux}

* - * {@codesnippet com.azure.core.util.BinaryData.fromFlux#Flux} + * + *
+ * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+ * final Flux<ByteBuffer> dataFlux = Flux.just(ByteBuffer.wrap(data));
+ *
+ * Mono<BinaryData> binaryDataMono = BinaryData.fromFlux(dataFlux);
+ *
+ * Disposable subscriber = binaryDataMono
+ *     .map(binaryData -> {
+ *         System.out.println(binaryData.toString());
+ *         return true;
+ *     })
+ *     .subscribe();
+ *
+ * // So that your program wait for above subscribe to complete.
+ * TimeUnit.SECONDS.sleep(5);
+ * subscriber.dispose();
+ * 
+ * * *

Create an instance from a file

* - * {@codesnippet com.azure.core.util.BinaryData.fromFile} + * + *
+ * BinaryData binaryData = BinaryData.fromFile(new File("path/to/file").toPath());
+ * System.out.println(new String(binaryData.toBytes(), StandardCharsets.UTF_8));
+ * 
+ * * * @see ObjectSerializer * @see JsonSerializer @@ -119,7 +187,13 @@ public final class BinaryData { * *

Create an instance from an InputStream

* - * {@codesnippet com.azure.core.util.BinaryData.fromStream#InputStream} + * + *
+     * final ByteArrayInputStream inputStream = new ByteArrayInputStream("Some Data".getBytes(StandardCharsets.UTF_8));
+     * BinaryData binaryData = BinaryData.fromStream(inputStream);
+     * System.out.println(binaryData.toString());
+     * 
+ * * * @param inputStream The {@link InputStream} that {@link BinaryData} will represent. * @return A {@link BinaryData} representing the {@link InputStream}. @@ -136,7 +210,24 @@ public static BinaryData fromStream(InputStream inputStream) { * *

Create an instance from an InputStream

* - * {@codesnippet com.azure.core.util.BinaryData.fromStreamAsync#InputStream} + * + *
+     * final ByteArrayInputStream inputStream = new ByteArrayInputStream("Some Data".getBytes(StandardCharsets.UTF_8));
+     *
+     * Mono<BinaryData> binaryDataMono = BinaryData.fromStreamAsync(inputStream);
+     *
+     * Disposable subscriber = binaryDataMono
+     *     .map(binaryData -> {
+     *         System.out.println(binaryData.toString());
+     *         return true;
+     *     })
+     *     .subscribe();
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param inputStream The {@link InputStream} that {@link BinaryData} will represent. * @return A {@link Mono} of {@link BinaryData} representing the {@link InputStream}. @@ -152,7 +243,25 @@ public static Mono fromStreamAsync(InputStream inputStream) { * *

Create an instance from a Flux of ByteBuffer

* - * {@codesnippet com.azure.core.util.BinaryData.fromFlux#Flux} + * + *
+     * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+     * final Flux<ByteBuffer> dataFlux = Flux.just(ByteBuffer.wrap(data));
+     *
+     * Mono<BinaryData> binaryDataMono = BinaryData.fromFlux(dataFlux);
+     *
+     * Disposable subscriber = binaryDataMono
+     *     .map(binaryData -> {
+     *         System.out.println(binaryData.toString());
+     *         return true;
+     *     })
+     *     .subscribe();
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param data The {@link Flux} of {@link ByteBuffer} that {@link BinaryData} will represent. * @return A {@link Mono} of {@link BinaryData} representing the {@link Flux} of {@link ByteBuffer}. @@ -171,7 +280,25 @@ public static Mono fromFlux(Flux data) { * *

Create an instance from a Flux of ByteBuffer

* - * {@codesnippet com.azure.core.util.BinaryData.fromFlux#Flux} + * + *
+     * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+     * final Flux<ByteBuffer> dataFlux = Flux.just(ByteBuffer.wrap(data));
+     *
+     * Mono<BinaryData> binaryDataMono = BinaryData.fromFlux(dataFlux);
+     *
+     * Disposable subscriber = binaryDataMono
+     *     .map(binaryData -> {
+     *         System.out.println(binaryData.toString());
+     *         return true;
+     *     })
+     *     .subscribe();
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param data The {@link Flux} of {@link ByteBuffer} that {@link BinaryData} will represent. * @param length The length of {@code data} in bytes. @@ -202,7 +329,14 @@ public static Mono fromFlux(Flux data, Long length) { *

*

Create an instance from a String

* - * {@codesnippet com.azure.core.util.BinaryData.fromString#String} + * + *
+     * final String data = "Some Data";
+     * // Following will use default character set as StandardCharsets.UTF_8
+     * BinaryData binaryData = BinaryData.fromString(data);
+     * System.out.println(binaryData.toString());
+     * 
+ * * * @param data The {@link String} that {@link BinaryData} will represent. * @return A {@link BinaryData} representing the {@link String}. @@ -223,7 +357,13 @@ public static BinaryData fromString(String data) { * *

Create an instance from a byte array

* - * {@codesnippet com.azure.core.util.BinaryData.fromBytes#byte} + * + *
+     * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+     * BinaryData binaryData = BinaryData.fromBytes(data);
+     * System.out.println(new String(binaryData.toBytes(), StandardCharsets.UTF_8));
+     * 
+ * * * @param data The byte array that {@link BinaryData} will represent. * @return A {@link BinaryData} representing the byte array. @@ -243,7 +383,33 @@ public static BinaryData fromBytes(byte[] data) { *

*

Creating an instance from an Object

* - * {@codesnippet com.azure.core.util.BinaryData.fromObject#Object} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     * BinaryData binaryData = BinaryData.fromObject(data);
+     *
+     * System.out.println(binaryData.toString());
+     * 
+ * * * @param data The object that will be JSON serialized that {@link BinaryData} will represent. * @return A {@link BinaryData} representing the JSON serialized object. @@ -264,7 +430,36 @@ public static BinaryData fromObject(Object data) { *

*

Creating an instance from an Object

* - * {@codesnippet com.azure.core.util.BinaryData.fromObjectAsync#Object} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     * Disposable subscriber = BinaryData.fromObjectAsync(data)
+     *     .subscribe(binaryData -> System.out.println(binaryData.toString()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param data The object that will be JSON serialized that {@link BinaryData} will represent. * @return A {@link Mono} of {@link BinaryData} representing the JSON serialized object. @@ -290,7 +485,35 @@ public static Mono fromObjectAsync(Object data) { * *

Create an instance from an Object

* - * {@codesnippet com.azure.core.util.BinaryData.fromObject#Object-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(data, serializer);
+     *
+     * System.out.println(binaryData.toString());
+     * 
+ * * * @param data The object that will be serialized that {@link BinaryData} will represent. The {@code serializer} * determines how {@code null} data is serialized. @@ -322,7 +545,38 @@ public static BinaryData fromObject(Object data, ObjectSerializer serializer) { * *

Create an instance from an Object

* - * {@codesnippet com.azure.core.util.BinaryData.fromObjectAsync#Object-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * Disposable subscriber = BinaryData.fromObjectAsync(data, serializer)
+     *     .subscribe(binaryData -> System.out.println(binaryData.toString()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param data The object that will be serialized that {@link BinaryData} will represent. The {@code serializer} * determines how {@code null} data is serialized. @@ -344,7 +598,12 @@ public static Mono fromObjectAsync(Object data, ObjectSerializer ser * *

Create an instance from a file

* - * {@codesnippet com.azure.core.util.BinaryData.fromFile} + * + *
+     * BinaryData binaryData = BinaryData.fromFile(new File("path/to/file").toPath());
+     * System.out.println(new String(binaryData.toBytes(), StandardCharsets.UTF_8));
+     * 
+ * * * @param file The {@link Path} that will be the {@link BinaryData} data. * @return A new {@link BinaryData}. @@ -361,7 +620,12 @@ public static BinaryData fromFile(Path file) { * *

Create an instance from a file

* - * {@codesnippet com.azure.core.util.BinaryData.fromFile#Path-int} + * + *
+     * BinaryData binaryData = BinaryData.fromFile(new File("path/to/file").toPath(), 8092);
+     * System.out.println(new String(binaryData.toBytes(), StandardCharsets.UTF_8));
+     * 
+ * * * @param file The {@link Path} that will be the {@link BinaryData} data. * @param chunkSize The requested size for each read of the path. @@ -412,7 +676,37 @@ public String toString() { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#Class} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Ensure your classpath have the Serializer to serialize the object which implement implement
+     * // com.azure.core.util.serializer.JsonSerializer interface.
+     * // Or use Azure provided libraries for this.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * BinaryData binaryData = BinaryData.fromObject(data);
+     *
+     * Person person = binaryData.toObject(Person.class);
+     * System.out.println(person.getName());
+     * 
+ * * * @param Type of the deserialized Object. * @param clazz The {@link Class} representing the Object's type. @@ -439,11 +733,62 @@ public T toObject(Class clazz) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#TypeReference} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Ensure your classpath have the Serializer to serialize the object which implement implement
+     * // com.azure.core.util.serializer.JsonSerializer interface.
+     * // Or use Azure provided libraries for this.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * BinaryData binaryData = BinaryData.fromObject(data);
+     *
+     * Person person = binaryData.toObject(TypeReference.createInstance(Person.class));
+     * System.out.println(person.getName());
+     * 
+ * * *

Get a generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#TypeReference-generic} + * + *
+     * final Person person1 = new Person().setName("John");
+     * final Person person2 = new Person().setName("Jack");
+     *
+     * List<Person> personList = new ArrayList<>();
+     * personList.add(person1);
+     * personList.add(person2);
+     *
+     * // Ensure your classpath have the Serializer to serialize the object which implement implement
+     * // com.azure.core.util.serializer.JsonSerializer interface.
+     * // Or use Azure provided libraries for this.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     *
+     * BinaryData binaryData = BinaryData.fromObject(personList);
+     *
+     * List<Person> persons = binaryData.toObject(new TypeReference<List<Person>>() { });
+     * persons.forEach(person -> System.out.println(person.getName()));
+     * 
+ * * * @param typeReference The {@link TypeReference} representing the Object's type. * @param Type of the deserialized Object. @@ -475,7 +820,37 @@ public T toObject(TypeReference typeReference) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#Class-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(data, serializer);
+     *
+     * Person person = binaryData.toObject(Person.class, serializer);
+     * System.out.println("Name : " + person.getName());
+     * 
+ * * * @param clazz The {@link Class} representing the Object's type. * @param serializer The {@link ObjectSerializer} used to deserialize object. @@ -511,11 +886,59 @@ public T toObject(Class clazz, ObjectSerializer serializer) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#TypeReference-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(data, serializer);
+     *
+     * Person person = binaryData.toObject(TypeReference.createInstance(Person.class), serializer);
+     * System.out.println("Name : " + person.getName());
+     *
+     * 
+ * * *

Get a generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObject#TypeReference-ObjectSerializer-generic} + * + *
+     * final Person person1 = new Person().setName("John");
+     * final Person person2 = new Person().setName("Jack");
+     *
+     * List<Person> personList = new ArrayList<>();
+     * personList.add(person1);
+     * personList.add(person2);
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(personList, serializer);
+     *
+     * // Retains the type of the list when deserializing
+     * List<Person> persons = binaryData.toObject(new TypeReference<List<Person>>() { }, serializer);
+     * persons.forEach(person -> System.out.println("Name : " + person.getName()));
+     * 
+ * * * @param typeReference The {@link TypeReference} representing the Object's type. * @param serializer The {@link ObjectSerializer} used to deserialize object. @@ -547,7 +970,41 @@ public T toObject(TypeReference typeReference, ObjectSerializer serialize * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#Class} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Ensure your classpath have the Serializer to serialize the object which implement implement
+     * // com.azure.core.util.serializer.JsonSerializer interface.
+     * // Or use Azure provided libraries for this.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * BinaryData binaryData = BinaryData.fromObject(data);
+     *
+     * Disposable subscriber = binaryData.toObjectAsync(Person.class)
+     *     .subscribe(person -> System.out.println(person.getName()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param clazz The {@link Class} representing the Object's type. * @param Type of the deserialized Object. @@ -574,11 +1031,63 @@ public Mono toObjectAsync(Class clazz) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#TypeReference} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Ensure your classpath have the Serializer to serialize the object which implement implement
+     * // com.azure.core.util.serializer.JsonSerializer interface.
+     * // Or use Azure provided libraries for this.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * BinaryData binaryData = BinaryData.fromObject(data);
+     *
+     * Disposable subscriber = binaryData.toObjectAsync(TypeReference.createInstance(Person.class))
+     *     .subscribe(person -> System.out.println(person.getName()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * *

Get a generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#TypeReference-generic} + * + *
+     * final Person person1 = new Person().setName("John");
+     * final Person person2 = new Person().setName("Jack");
+     *
+     * List<Person> personList = new ArrayList<>();
+     * personList.add(person1);
+     * personList.add(person2);
+     *
+     * BinaryData binaryData = BinaryData.fromObject(personList);
+     *
+     * Disposable subscriber = binaryData.toObjectAsync(new TypeReference<List<Person>>() { })
+     *     .subscribe(persons -> persons.forEach(person -> System.out.println(person.getName())));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param typeReference The {@link TypeReference} representing the Object's type. * @param Type of the deserialized Object. @@ -610,7 +1119,41 @@ public Mono toObjectAsync(TypeReference typeReference) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#Class-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(data, serializer);
+     *
+     * Disposable subscriber = binaryData.toObjectAsync(Person.class, serializer)
+     *     .subscribe(person -> System.out.println(person.getName()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param clazz The {@link Class} representing the Object's type. * @param serializer The {@link ObjectSerializer} used to deserialize object. @@ -646,11 +1189,67 @@ public Mono toObjectAsync(Class clazz, ObjectSerializer serializer) { * *

Get a non-generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#TypeReference-ObjectSerializer} + * + *
+     * class Person {
+     *     @JsonProperty
+     *     private String name;
+     *
+     *     @JsonSetter
+     *     public Person setName(String name) {
+     *         this.name = name;
+     *         return this;
+     *     }
+     *
+     *     @JsonGetter
+     *     public String getName() {
+     *         return name;
+     *     }
+     * }
+     * final Person data = new Person().setName("John");
+     *
+     * // Provide your custom serializer or use Azure provided serializers.
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-jackson or
+     * // https://mvnrepository.com/artifact/com.azure/azure-core-serializer-json-gson
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(data, serializer);
+     *
+     * Disposable subscriber = binaryData
+     *     .toObjectAsync(TypeReference.createInstance(Person.class), serializer)
+     *     .subscribe(person -> System.out.println(person.getName()));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * *

Get a generic Object from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toObjectAsync#TypeReference-ObjectSerializer-generic} + * + *
+     * final Person person1 = new Person().setName("John");
+     * final Person person2 = new Person().setName("Jack");
+     *
+     * List<Person> personList = new ArrayList<>();
+     * personList.add(person1);
+     * personList.add(person2);
+     *
+     * final ObjectSerializer serializer =
+     *     new MyJsonSerializer(); // Replace this with your Serializer
+     * BinaryData binaryData = BinaryData.fromObject(personList, serializer);
+     *
+     * Disposable subscriber = binaryData
+     *     .toObjectAsync(new TypeReference<List<Person>>() { }, serializer) // retains the generic type information
+     *     .subscribe(persons -> persons.forEach(person -> System.out.println(person.getName())));
+     *
+     * // So that your program wait for above subscribe to complete.
+     * TimeUnit.SECONDS.sleep(5);
+     * subscriber.dispose();
+     * 
+ * * * @param typeReference The {@link TypeReference} representing the Object's type. * @param serializer The {@link ObjectSerializer} used to deserialize object. @@ -670,7 +1269,15 @@ public Mono toObjectAsync(TypeReference typeReference, ObjectSerialize * *

Get an InputStream from the BinaryData

* - * {@codesnippet com.azure.core.util.BinaryData.toStream} + * + *
+     * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+     * BinaryData binaryData = BinaryData.fromStream(new ByteArrayInputStream(data));
+     * final byte[] bytes = new byte[data.length];
+     * binaryData.toStream().read(bytes, 0, data.length);
+     * System.out.println(new String(bytes));
+     * 
+ * * * @return An {@link InputStream} representing the {@link BinaryData}. */ @@ -685,7 +1292,15 @@ public InputStream toStream() { * *

Get a read-only ByteBuffer from the BinaryData

* - * {@codesnippet com.azure.util.BinaryData.toByteBuffer} + * + *
+     * final byte[] data = "Some Data".getBytes(StandardCharsets.UTF_8);
+     * BinaryData binaryData = BinaryData.fromBytes(data);
+     * final byte[] bytes = new byte[data.length];
+     * binaryData.toByteBuffer().get(bytes, 0, data.length);
+     * System.out.println(new String(bytes));
+     * 
+ * * * @return A read-only {@link ByteBuffer} representing the {@link BinaryData}. */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/ClientOptions.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/ClientOptions.java index 9f3017eab347d..75902c07315a9 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/ClientOptions.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/ClientOptions.java @@ -45,7 +45,12 @@ public String getApplicationId() { * *

Create ClientOptions with application ID 'myApplicationId'

* - * {@codesnippet com.azure.core.util.ClientOptions.setApplicationId#String} + * + *
+     * ClientOptions clientOptions = new ClientOptions()
+     *     .setApplicationId("myApplicationId");
+     * 
+ * * * @param applicationId The application ID. * @@ -79,7 +84,12 @@ public ClientOptions setApplicationId(String applicationId) { * *

Create ClientOptions with Header 'myCustomHeader':'myStaticValue'

* - * {@codesnippet com.azure.core.util.ClientOptions.setHeaders#Iterable} + * + *
+     * ClientOptions clientOptions = new ClientOptions()
+     *     .setHeaders(Collections.singletonList(new Header("myCustomHeader", "myStaticValue")));
+     * 
+ * * * @param headers The headers. * @return The updated ClientOptions object. diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/Configuration.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/Configuration.java index 80b63e27933a8..9edb2fbc4bd7d 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/Configuration.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/Configuration.java @@ -93,7 +93,7 @@ public class Configuration implements Cloneable { */ public static final String PROPERTY_AZURE_POD_IDENTITY_TOKEN_URL = "AZURE_POD_IDENTITY_TOKEN_URL"; - /* + /** * Name of Azure AAD regional authority. */ public static final String PROPERTY_AZURE_REGIONAL_AUTHORITY_NAME = "AZURE_REGIONAL_AUTHORITY_NAME"; diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/Context.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/Context.java index 33320b9e3e24c..f3295e571142d 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/Context.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/Context.java @@ -54,7 +54,18 @@ public Map getValues() { * *

Code samples

* - * {@codesnippet com.azure.core.util.context#object-object} + * + *
+     * // Create an empty context having no data
+     * Context emptyContext = Context.NONE;
+     *
+     * // Tracing spans created by users can be passed to calling methods in sdk clients using Context object
+     * final String userParentSpan = "user-parent-span";
+     *
+     * // Create a context using the provided key and user parent span
+     * Context keyValueContext = new Context(PARENT_SPAN_KEY, userParentSpan);
+     * 
+ * * * @param key The key with which the specified value should be associated. * @param value The value to be associated with the specified key. @@ -78,7 +89,24 @@ private Context(Context parent, Object key, Object value) { * *

Code samples

* - * {@codesnippet com.azure.core.util.context.addData#object-object} + * + *
+     * // Users can send parent span information and pass additional metadata to attach to spans of the calling methods
+     * // using the Context object
+     * final String hostNameValue = "host-name-value";
+     * final String entityPathValue = "entity-path-value";
+     * final String userParentSpan = "user-parent-span";
+     * Context parentSpanContext = new Context(PARENT_SPAN_KEY, userParentSpan);
+     *
+     * // Add a new key value pair to the existing context object.
+     * Context updatedContext = parentSpanContext.addData(HOST_NAME_KEY, hostNameValue)
+     *     .addData(ENTITY_PATH_KEY, entityPathValue);
+     *
+     * // Both key values found on the same updated context object
+     * System.out.printf("Hostname value: %s%n", updatedContext.getData(HOST_NAME_KEY).get());
+     * System.out.printf("Entity Path value: %s%n", updatedContext.getData(ENTITY_PATH_KEY).get());
+     * 
+ * * * @param key The key with which the specified value should be associated. * @param value The value to be associated with the specified key. @@ -98,7 +126,18 @@ public Context addData(Object key, Object value) { * *

Code samples

* - * {@codesnippet com.azure.core.util.context.of#map} + * + *
+     * final String key1 = "Key1";
+     * final String value1 = "first-value";
+     * Map<Object, Object> keyValueMap = new HashMap<>();
+     * keyValueMap.put(key1, value1);
+     *
+     * // Create a context using the provided key value pair map
+     * Context keyValueContext = Context.of(keyValueMap);
+     * System.out.printf("Key1 value %s%n", keyValueContext.getData(key1).get());
+     * 
+ * * * @param keyValues The input key value pairs that will be added to this context. * @return Context object containing all the key-value pairs in the input map. @@ -126,7 +165,23 @@ public static Context of(Map keyValues) { * *

Code samples

* - * {@codesnippet com.azure.core.util.context.getData#object} + * + *
+     * final String key1 = "Key1";
+     * final String value1 = "first-value";
+     *
+     * // Create a context object with given key and value
+     * Context context = new Context(key1, value1);
+     *
+     * // Look for the specified key in the returned context object
+     * Optional<Object> optionalObject = context.getData(key1);
+     * if (optionalObject.isPresent()) {
+     *     System.out.printf("Key1 value: %s%n", optionalObject.get());
+     * } else {
+     *     System.out.println("Key1 does not exist or have data.");
+     * }
+     * 
+ * * * @param key The key to search for. * @return The value of the specified key if it exists. @@ -149,7 +204,30 @@ public Optional getData(Object key) { * *

Code samples

* - * {@codesnippet com.azure.core.util.Context.getValues} + * + *
+     * final String key1 = "Key1";
+     * final String value1 = "first-value";
+     * final String key2 = "Key2";
+     * final String value2 = "second-value";
+     *
+     * Context context = new Context(key1, value1)
+     *     .addData(key2, value2);
+     *
+     * Map<Object, Object> contextValues = context.getValues();
+     * if (contextValues.containsKey(key1)) {
+     *     System.out.printf("Key1 value: %s%n", contextValues.get(key1));
+     * } else {
+     *     System.out.println("Key1 does not exist.");
+     * }
+     *
+     * if (contextValues.containsKey(key2)) {
+     *     System.out.printf("Key2 value: %s%n", contextValues.get(key2));
+     * } else {
+     *     System.out.println("Key2 does not exist.");
+     * }
+     * 
+ * * * @return A map containing all values of the context linked-list. */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/CoreUtils.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/CoreUtils.java index 9c9849203fe9b..7fa3cc84c78c0 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/CoreUtils.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/CoreUtils.java @@ -181,7 +181,9 @@ public static T findFirstOfType(Object[] args, Class clazz) { * @param content The function which fetches items from the next page. * @param The type of the item being returned by the paged response. * @return The publisher holding all the generic items combined. + * @deprecated Use localized implementation. */ + @Deprecated public static Publisher extractAndFetch(PagedResponse page, Context context, BiFunction> content) { String nextPageLink = page.getContinuationToken(); diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/FluxUtil.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/FluxUtil.java index 86ab8f2e81647..5e6cf130132fe 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/FluxUtil.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/FluxUtil.java @@ -244,7 +244,13 @@ public static Flux toFluxByteBuffer(InputStream inputStream, int chu *

* *

Code samples

- * {@codesnippet com.azure.core.implementation.util.fluxutil.withcontext} + * + *
+     * String prefix = "Hello, ";
+     * Mono<String> response = FluxUtil
+     *     .withContext(context -> serviceCallReturnsSingle(prefix, context));
+     * 
+ * * * @param serviceCall The lambda function that makes the service call into which azure context will be passed * @param The type of response returned from the service call @@ -342,7 +348,13 @@ public static PagedFlux pagedFluxError(ClientLogger logger, RuntimeExcept *

* *

Code samples

- * {@codesnippet com.azure.core.implementation.util.fluxutil.fluxcontext} + * + *
+     * String prefix = "Hello, ";
+     * Flux<String> response = FluxUtil
+     *     .fluxContext(context -> serviceCallReturnsCollection(prefix, context));
+     * 
+ * * * @param serviceCall The lambda function that makes the service call into which the context will be passed * @param The type of response returned from the service call diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/IterableStream.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/IterableStream.java index efb9def5fc67e..628f614a4ff4b 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/IterableStream.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/IterableStream.java @@ -17,15 +17,48 @@ * *

Code sample using Stream

* - * {@codesnippet com.azure.core.util.iterableStream.stream} + * + *
+ * // process the stream
+ * myIterableStream.stream().forEach(resp -> {
+ *     if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) {
+ *         System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(),
+ *             resp.getRequest().getUrl());
+ *         resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value));
+ *     }
+ * });
+ * 
+ * * *

Code sample using Iterator

* - * {@codesnippet com.azure.core.util.iterableStream.iterator.while} + * + *
+ * // Iterate over iterator
+ * for (PagedResponseBase<String, Integer> resp : myIterableStream) {
+ *     if (resp.getStatusCode() == HttpURLConnection.HTTP_OK) {
+ *         System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(),
+ *             resp.getRequest().getUrl());
+ *         resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value));
+ *     }
+ * }
+ * 
+ * * *

Code sample using Stream and filter

* - * {@codesnippet com.azure.core.util.iterableStream.stream.filter} + * + *
+ * // process the stream
+ * myIterableStream.stream().filter(resp -> resp.getStatusCode() == HttpURLConnection.HTTP_OK)
+ *     .limit(10)
+ *     .forEach(resp -> {
+ *         System.out.printf("Response headers are %s. Url %s%n", resp.getDeserializedHeaders(),
+ *             resp.getRequest().getUrl());
+ *         resp.getElements().forEach(value -> System.out.printf("Response value is %d%n", value));
+ *     });
+ * 
+ * * * @param The type of value in this {@link Iterable}. * @see Iterable diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/UserAgentUtil.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/UserAgentUtil.java index 97afa851214a6..6c1e06d898701 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/UserAgentUtil.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/UserAgentUtil.java @@ -12,6 +12,10 @@ public final class UserAgentUtil { private static final String INVALID_APPLICATION_ID_LENGTH = "'applicationId' length cannot be greater than " + MAX_APPLICATION_ID_LENGTH; private static final String INVALID_APPLICATION_ID_SPACE = "'applicationId' cannot contain spaces."; + + /** + * Default {@code UserAgent} header. + */ public static final String DEFAULT_USER_AGENT_HEADER = "azsdk-java"; // From the design guidelines, the platform info format is: diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/logging/ClientLogger.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/logging/ClientLogger.java index 4854b1eee61ab..c3ac6094e4ae0 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/logging/ClientLogger.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/logging/ClientLogger.java @@ -67,7 +67,12 @@ public ClientLogger(String className) { * *

Logging with a specific log level

* - * {@codesnippet com.azure.core.util.logging.clientlogger.log} + * + *
+     * logger.log(LogLevel.VERBOSE,
+     *     () -> String.format("Param 1: %s, Param 2: %s, Param 3: %s", "param1", "param2", "param3"));
+     * 
+ * * * @param logLevel Logging level for the log message. * @param message The format-able message to log. @@ -83,7 +88,14 @@ public void log(LogLevel logLevel, Supplier message) { * *

Logging with a specific log level and exception

* - * {@codesnippet com.azure.core.util.logging.clientlogger.log#throwable} + * + *
+     * Throwable illegalArgumentException = new IllegalArgumentException("An invalid argument was encountered.");
+     * logger.log(LogLevel.VERBOSE,
+     *     () -> String.format("Param 1: %s, Param 2: %s, Param 3: %s", "param1", "param2", "param3"),
+     *     illegalArgumentException);
+     * 
+ * * * @param logLevel Logging level for the log message. * @param message The format-able message to log. @@ -102,7 +114,11 @@ public void log(LogLevel logLevel, Supplier message, Throwable throwable * *

Logging a message at verbose log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.verbose} + * + *
+     * logger.verbose("A log message");
+     * 
+ * * * @param message The message to log. */ @@ -119,7 +135,11 @@ public void verbose(String message) { * *

Logging a message at verbose log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.verbose#string-object} + * + *
+     * logger.verbose("A formattable message. Hello, {}", name);
+     * 
+ * * * @param format The formattable message to log. * @param args Arguments for the message. If an exception is being logged, the last argument should be the {@link @@ -138,7 +158,11 @@ public void verbose(String format, Object... args) { * *

Logging a message at verbose log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.info} + * + *
+     * logger.info("A log message");
+     * 
+ * * * @param message The message to log. */ @@ -155,7 +179,11 @@ public void info(String message) { * *

Logging a message at informational log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.info#string-object} + * + *
+     * logger.info("A formattable message. Hello, {}", name);
+     * 
+ * * * @param format The format-able message to log * @param args Arguments for the message. If an exception is being logged, the last argument should be the {@link @@ -174,7 +202,12 @@ public void info(String format, Object... args) { * *

Logging a message at warning log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.warning} + * + *
+     * Throwable detailedException = new IllegalArgumentException("A exception with a detailed message");
+     * logger.warning(detailedException.getMessage());
+     * 
+ * * * @param message The message to log. */ @@ -191,7 +224,12 @@ public void warning(String message) { * *

Logging a message at warning log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.warning#string-object} + * + *
+     * Throwable exception = new IllegalArgumentException("An invalid argument was encountered.");
+     * logger.warning("A formattable message. Hello, {}", name, exception);
+     * 
+ * * * @param format The format-able message to log. * @param args Arguments for the message. If an exception is being logged, the last argument should be the {@link @@ -210,7 +248,15 @@ public void warning(String format, Object... args) { * *

Logging a message at error log level.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.error} + * + *
+     * try {
+     *     upload(resource);
+     * } catch (IOException ex) {
+     *     logger.error(ex.getMessage());
+     * }
+     * 
+ * * * @param message The message to log. */ @@ -227,7 +273,15 @@ public void error(String message) { * *

Logging an error with stack trace.

* - * {@codesnippet com.azure.core.util.logging.clientlogger.error#string-object} + * + *
+     * try {
+     *     upload(resource);
+     * } catch (IOException ex) {
+     *     logger.error("A formattable message. Hello, {}", name, ex);
+     * }
+     * 
+ * * * @param format The format-able message to log. * @param args Arguments for the message. If an exception is being logged, the last argument should be the {@link diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/paging/ContinuablePagedFluxCore.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/paging/ContinuablePagedFluxCore.java index 228ba61192d20..e18d0dcaf8ab2 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/paging/ContinuablePagedFluxCore.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/paging/ContinuablePagedFluxCore.java @@ -29,7 +29,102 @@ * the Flux returned by the Page Retriever has {@code null} continuation token. * *

Extending PagedFluxCore for Custom Continuation Token support

- * {@codesnippet com.azure.core.util.paging.pagedfluxcore.continuationtoken} + * + *
+ * class ContinuationState<C> {
+ *     private C lastContinuationToken;
+ *     private boolean isDone;
+ *
+ *     ContinuationState(C token) {
+ *         this.lastContinuationToken = token;
+ *     }
+ *
+ *     void setLastContinuationToken(C token) {
+ *         this.isDone = token == null;
+ *         this.lastContinuationToken = token;
+ *     }
+ *
+ *     C getLastContinuationToken() {
+ *         return this.lastContinuationToken;
+ *     }
+ *
+ *     boolean isDone() {
+ *         return this.isDone;
+ *     }
+ * }
+ *
+ * class FileContinuationToken {
+ *     private final int nextLinkId;
+ *
+ *     FileContinuationToken(int nextLinkId) {
+ *         this.nextLinkId = nextLinkId;
+ *     }
+ *
+ *     public int getNextLinkId() {
+ *         return nextLinkId;
+ *     }
+ * }
+ *
+ * class File {
+ *     private final String guid;
+ *
+ *     File(String guid) {
+ *         this.guid = guid;
+ *     }
+ *
+ *     public String getGuid() {
+ *         return guid;
+ *     }
+ * }
+ *
+ * class FilePage implements ContinuablePage<FileContinuationToken, File> {
+ *     private final IterableStream<File> elements;
+ *     private final FileContinuationToken fileContinuationToken;
+ *
+ *     FilePage(List<File> elements, FileContinuationToken fileContinuationToken) {
+ *         this.elements = IterableStream.of(elements);
+ *         this.fileContinuationToken = fileContinuationToken;
+ *     }
+ *
+ *     @Override
+ *     public IterableStream<File> getElements() {
+ *         return elements;
+ *     }
+ *
+ *     @Override
+ *     public FileContinuationToken getContinuationToken() {
+ *         return fileContinuationToken;
+ *     }
+ * }
+ *
+ * class FileShareServiceClient {
+ *     Flux<FilePage> getFilePages(FileContinuationToken token) {
+ *         List<File> files = Collections.singletonList(new File(UUID.randomUUID().toString()));
+ *         if (token.getNextLinkId() < 10) {
+ *             return Flux.just(new FilePage(files, null));
+ *         } else {
+ *             return Flux.just(new FilePage(files,
+ *                 new FileContinuationToken((int) Math.floor(Math.random() * 20))));
+ *         }
+ *     }
+ * }
+ *
+ * FileShareServiceClient client = new FileShareServiceClient();
+ *
+ * Supplier<PageRetriever<FileContinuationToken, FilePage>> pageRetrieverProvider = () ->
+ *     (continuationToken, pageSize) -> client.getFilePages(continuationToken);
+ *
+ * class FilePagedFlux extends ContinuablePagedFluxCore<FileContinuationToken, File, FilePage> {
+ *     FilePagedFlux(Supplier<PageRetriever<FileContinuationToken, FilePage>>
+ *         pageRetrieverProvider) {
+ *         super(pageRetrieverProvider);
+ *     }
+ * }
+ *
+ * FilePagedFlux filePagedFlux = new FilePagedFlux(pageRetrieverProvider);
+ *
+ * 
+ * * * @param the type of the continuation token * @param The type of elements in a {@link ContinuablePage} diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollResponse.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollResponse.java index 654c6cfdaf2ef..31ebeaa5673b2 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollResponse.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollResponse.java @@ -12,10 +12,26 @@ * {@link #getValue value} returned in the poll, as well as other useful information provided by the service. * *

Code Sample Creating PollResponse Object

- * {@codesnippet com.azure.core.util.polling.pollresponse.status.value} + * + *
+ * // Lets say we want to crete poll response with status as IN_PROGRESS
+ *
+ * PollResponse<String> inProgressPollResponse
+ *     = new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS, "my custom response");
+ *
+ * 
+ * * *

Code Sample Creating PollResponse Object with custom status

- * {@codesnippet com.azure.core.util.polling.pollresponse.custom.status.value} + * + *
+ * // Lets say we want to crete poll response with custom status as OTHER_CUSTOM_STATUS
+ *
+ * PollResponse<String> pollResponseWithCustomStatus
+ *     = new PollResponse<>(LongRunningOperationStatus.fromString("OTHER_CUSTOM_STATUS", false),
+ *         "my custom status response");
+ * 
+ * * * @param Type of poll response value. * @see LongRunningOperationStatus @@ -30,7 +46,15 @@ public final class PollResponse { * Creates a new {@link PollResponse} with status, value, retryAfter and properties. * *

Code Sample Creating PollResponse Object

- * {@codesnippet com.azure.core.util.polling.pollresponse.status.value.retryAfter.properties} + * + *
+     *
+     * // Lets say we want to crete poll response with status as IN_PROGRESS
+     * PollResponse<String> inProgressPollResponse
+     *     = new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS, "mycustom response",
+     *     Duration.ofMillis(2000));
+     * 
+ * * * @param status Mandatory operation status as defined in {@link LongRunningOperationStatus}. * @param value The value as a result of poll operation. This can be any custom user-defined object. Null is also @@ -52,7 +76,15 @@ public PollResponse(LongRunningOperationStatus status, T value, * Creates a new {@link PollResponse} with status and value. * *

Code Sample Creating PollResponse Object

- * {@codesnippet com.azure.core.util.polling.pollresponse.status.value} + * + *
+     * // Lets say we want to crete poll response with status as IN_PROGRESS
+     *
+     * PollResponse<String> inProgressPollResponse
+     *     = new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS, "my custom response");
+     *
+     * 
+ * * * @param status Mandatory operation status as defined in {@link LongRunningOperationStatus}. * @param value The value as a result of poll operation. This can be any custom user-defined object. Null is also diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollerFlux.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollerFlux.java index f9837ae84142c..b0e93cf14dbe1 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollerFlux.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/polling/PollerFlux.java @@ -23,19 +23,142 @@ *

Code samples

* *

Instantiating and subscribing to PollerFlux

- * {@codesnippet com.azure.core.util.polling.poller.instantiationAndSubscribe} + * + *
+ * LocalDateTime timeToReturnFinalResponse = LocalDateTime.now().plus(Duration.ofMillis(800));
+ *
+ * // Create poller instance
+ * PollerFlux<String, String> poller = new PollerFlux<>(Duration.ofMillis(100),
+ *     (context) -> Mono.empty(),
+ *     // Define your custom poll operation
+ *     (context) ->  {
+ *         if (LocalDateTime.now().isBefore(timeToReturnFinalResponse)) {
+ *             System.out.println("Returning intermediate response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS,
+ *                     "Operation in progress."));
+ *         } else {
+ *             System.out.println("Returning final response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED,
+ *                     "Operation completed."));
+ *         }
+ *     },
+ *     (activationResponse, context) -> Mono.error(new RuntimeException("Cancellation is not supported")),
+ *     (context) -> Mono.just("Final Output"));
+ *
+ * // Listen to poll responses
+ * poller.subscribe(response -> {
+ *     // Process poll response
+ *     System.out.printf("Got response. Status: %s, Value: %s%n", response.getStatus(), response.getValue());
+ * });
+ * // Do something else
+ *
+ * 
+ * * *

Asynchronously wait for polling to complete and then retrieve the final result

- * {@codesnippet com.azure.core.util.polling.poller.getResult} + * + *
+ * LocalDateTime timeToReturnFinalResponse = LocalDateTime.now().plus(Duration.ofMinutes(5));
+ *
+ * // Create poller instance
+ * PollerFlux<String, String> poller = new PollerFlux<>(Duration.ofMillis(100),
+ *     (context) -> Mono.empty(),
+ *     (context) ->  {
+ *         if (LocalDateTime.now().isBefore(timeToReturnFinalResponse)) {
+ *             System.out.println("Returning intermediate response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS,
+ *                     "Operation in progress."));
+ *         } else {
+ *             System.out.println("Returning final response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED,
+ *                     "Operation completed."));
+ *         }
+ *     },
+ *     (activationResponse, context) -> Mono.just("FromServer:OperationIsCancelled"),
+ *     (context) -> Mono.just("FromServer:FinalOutput"));
+ *
+ * poller.take(Duration.ofMinutes(30))
+ *         .last()
+ *         .flatMap(asyncPollResponse -> {
+ *             if (asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {
+ *                 // operation completed successfully, retrieving final result.
+ *                 return asyncPollResponse
+ *                         .getFinalResult();
+ *             } else {
+ *                 return Mono.error(new RuntimeException("polling completed unsuccessfully with status:"
+ *                         + asyncPollResponse.getStatus()));
+ *             }
+ *         }).block();
+ *
+ * 
+ * * *

Block for polling to complete and then retrieve the final result

- * {@codesnippet com.azure.core.util.polling.poller.blockAndGetResult} + * + *
+ * AsyncPollResponse<String, String> terminalResponse = pollerFlux.blockLast();
+ * System.out.printf("Polling complete. Final Status: %s", terminalResponse.getStatus());
+ * if (terminalResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {
+ *     String finalResult = terminalResponse.getFinalResult().block();
+ *     System.out.printf("Polling complete. Final Status: %s", finalResult);
+ * }
+ * 
+ * * *

Asynchronously poll until poller receives matching status

- * {@codesnippet com.azure.core.util.polling.poller.pollUntil} + * + *
+ * final Predicate<AsyncPollResponse<String, String>> isComplete = response -> {
+ *     return response.getStatus() != LongRunningOperationStatus.IN_PROGRESS
+ *         && response.getStatus() != LongRunningOperationStatus.NOT_STARTED;
+ * };
+ *
+ * pollerFlux
+ *     .takeUntil(isComplete)
+ *     .subscribe(completed -> {
+ *         System.out.println("Completed poll response, status: " + completed.getStatus());
+ *     });
+ * 
+ * * *

Asynchronously cancel the long running operation

- * {@codesnippet com.azure.core.util.polling.poller.cancelOperation} + * + *
+ * LocalDateTime timeToReturnFinalResponse = LocalDateTime.now().plus(Duration.ofMinutes(5));
+ *
+ * // Create poller instance
+ * PollerFlux<String, String> poller = new PollerFlux<>(Duration.ofMillis(100),
+ *     (context) -> Mono.empty(),
+ *     (context) ->  {
+ *         if (LocalDateTime.now().isBefore(timeToReturnFinalResponse)) {
+ *             System.out.println("Returning intermediate response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS,
+ *                     "Operation in progress."));
+ *         } else {
+ *             System.out.println("Returning final response.");
+ *             return Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED,
+ *                     "Operation completed."));
+ *         }
+ *     },
+ *     (activationResponse, context) -> Mono.just("FromServer:OperationIsCancelled"),
+ *     (context) -> Mono.just("FromServer:FinalOutput"));
+ *
+ * // Asynchronously wait 30 minutes to complete the polling, if not completed
+ * // within in the time then cancel the server operation.
+ * poller.take(Duration.ofMinutes(30))
+ *         .last()
+ *         .flatMap(asyncPollResponse -> {
+ *             if (!asyncPollResponse.getStatus().isComplete()) {
+ *                 return asyncPollResponse
+ *                         .cancelOperation()
+ *                         .then(Mono.error(new RuntimeException("Operation is cancelled!")));
+ *             } else {
+ *                 return Mono.just(asyncPollResponse);
+ *             }
+ *         }).block();
+ *
+ * 
+ * * * @param The type of poll response value. * @param The type of the final result of long running operation. diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/TypeReference.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/TypeReference.java index d6839a1d67abd..cc1b3b64fbb5c 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/TypeReference.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/serializer/TypeReference.java @@ -15,9 +15,22 @@ * *

Code sample

* - * {@codesnippet com.azure.core.util.serializer.constructor} + * + *
+ * // Construct a TypeReference<T> for a Java generic type.
+ * // This pattern should only be used for generic types, for classes use the createInstance factory method.
+ * TypeReference<Map<String, Object>> typeReference = new TypeReference<Map<String, Object>>() { };
+ * 
+ * * - * {@codesnippet com.azure.core.util.serializer.createInstance#class} + * + *
+ * // Construct a TypeReference<T> for a Java class.
+ * // This pattern should only be used for non-generic classes when possible, use the constructor for generic
+ * // class when possible.
+ * TypeReference<Integer> typeReference = TypeReference.createInstance(int.class);
+ * 
+ * * * @param The type being represented. */ diff --git a/sdk/core/azure-core/src/main/java/com/azure/core/util/tracing/Tracer.java b/sdk/core/azure-core/src/main/java/com/azure/core/util/tracing/Tracer.java index 1d9593ead1a5e..f9e67cc1909a7 100644 --- a/sdk/core/azure-core/src/main/java/com/azure/core/util/tracing/Tracer.java +++ b/sdk/core/azure-core/src/main/java/com/azure/core/util/tracing/Tracer.java @@ -85,7 +85,16 @@ public interface Tracer { *

Code samples

* *

Starts a tracing span with provided method name and explicit parent span

- * {@codesnippet com.azure.core.util.tracing.start#string-context} + * + *
+     * // pass the current tracing span context to the calling method
+     * Context traceContext = new Context(PARENT_SPAN_KEY, "<user-current-span>");
+     * // start a new tracing span with the given method name and explicit parent span
+     * Context updatedContext = tracer.start("azure.keyvault.secrets/setsecret", traceContext);
+     * System.out.printf("Span returned in the context object: %s%n",
+     *     updatedContext.getData(PARENT_SPAN_KEY).get());
+     * 
+ * * * @param methodName Name of the method triggering the span creation. * @param context Additional metadata that is passed through the call stack. @@ -104,7 +113,16 @@ public interface Tracer { *

Code samples

* *

Starts a tracing span with provided method name and explicit parent span

- * {@codesnippet com.azure.core.util.tracing.start#options-context} + * + *
+     * // start a new CLIENT tracing span with the given start options and explicit parent span
+     * StartSpanOptions options = new StartSpanOptions(SpanKind.CLIENT)
+     *     .setAttribute("key", "value");
+     * Context updatedClientSpanContext = tracer.start("azure.keyvault.secrets/setsecret", options, traceContext);
+     * System.out.printf("Span returned in the context object: %s%n",
+     *     updatedClientSpanContext.getData(PARENT_SPAN_KEY).get());
+     * 
+ * * * @param methodName Name of the method triggering the span creation. * @param options span creation options. @@ -140,13 +158,45 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Starts a tracing span with provided method name and AMQP operation SEND

- * {@codesnippet com.azure.core.util.tracing.start#string-context-processKind-SEND} + * + *
+     * // pass the current tracing span and request metadata to the calling method
+     * Context sendContext = new Context(PARENT_SPAN_KEY, "<user-current-span>")
+     *     .addData(ENTITY_PATH_KEY, "entity-path").addData(HOST_NAME_KEY, "hostname");
+     *
+     * // start a new tracing span with explicit parent, sets the request attributes on the span and sets the span
+     * // kind to client when process kind SEND
+     * Context updatedSendContext = tracer.start("azure.eventhubs.send", sendContext, ProcessKind.SEND);
+     * System.out.printf("Span returned in the context object: %s%n",
+     *     updatedSendContext.getData(PARENT_SPAN_KEY).get());
+     * 
+ * * *

Starts a tracing span with provided method name and AMQP operation MESSAGE

- * {@codesnippet com.azure.core.util.tracing.start#string-context-processKind-MESSAGE} + * + *
+     * String diagnosticIdKey = "Diagnostic-Id";
+     * // start a new tracing span with explicit parent, sets the diagnostic Id (traceparent headers) on the current
+     * // context when process kind MESSAGE
+     * Context updatedReceiveContext = tracer.start("azure.eventhubs.receive", traceContext,
+     *     ProcessKind.MESSAGE);
+     * System.out.printf("Diagnostic Id: %s%n", updatedReceiveContext.getData(diagnosticIdKey).get().toString());
+     * 
+ * * *

Starts a tracing span with provided method name and AMQP operation PROCESS

- * {@codesnippet com.azure.core.util.tracing.start#string-context-processKind-PROCESS} + * + *
+     * String spanImplContext = "span-context";
+     * // start a new tracing span with remote parent and uses the span in the current context to return a scope
+     * // when process kind PROCESS
+     * Context processContext = new Context(PARENT_SPAN_KEY, "<user-current-span>")
+     *     .addData(spanImplContext, "<user-current-span-context>");
+     * Context updatedProcessContext = tracer.start("azure.eventhubs.process", processContext,
+     *     ProcessKind.PROCESS);
+     * System.out.printf("Scope: %s%n", updatedProcessContext.getData("scope").get());
+     * 
+ * * * @param methodName Name of the method triggering the span creation. * @param context Additional metadata that is passed through the call stack. @@ -163,7 +213,16 @@ default Context start(String methodName, StartSpanOptions options, Context conte * *

Completes the tracing span present in the context, with the corresponding OpenTelemetry status for the given * response status code

- * {@codesnippet com.azure.core.util.tracing.end#int-throwable-context} + * + *
+     * // context containing the current tracing span to end
+     * String openTelemetrySpanKey = "openTelemetry-span";
+     * Context traceContext = new Context(PARENT_SPAN_KEY, "<user-current-span>");
+     *
+     * // completes the tracing span with the passed response status code
+     * tracer.end(200, null, traceContext);
+     * 
+ * * * @param responseCode Response status code if the span is in an HTTP call context. * @param error {@link Throwable} that happened during the span or {@code null} if no exception occurred. @@ -178,7 +237,13 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Completes the tracing span with the corresponding OpenTelemetry status for the given status message

- * {@codesnippet com.azure.core.util.tracing.end#string-throwable-context} + * + *
+     * // context containing the current tracing span to end
+     * // completes the tracing span with the passed status message
+     * tracer.end("success", null, traceContext);
+     * 
+ * * * @param statusMessage The error or success message that occurred during the call, or {@code null} if no error * occurred. @@ -204,7 +269,14 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Retrieve the span name of the returned span

- * {@codesnippet com.azure.core.util.tracing.setSpanName#string-context} + * + *
+     * // Sets the span name of the returned span on the context object, with key PARENT_SPAN_KEY
+     * String openTelemetrySpanKey = "openTelemetry-span";
+     * Context context = tracer.setSpanName("test-span-method", Context.NONE);
+     * System.out.printf("Span name: %s%n", context.getData(PARENT_SPAN_KEY).get().toString());
+     * 
+ * * * @param spanName Name to give the next span. * @param context Additional metadata that is passed through the call stack. @@ -220,7 +292,18 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Link multiple spans using their span context information

- * {@codesnippet com.azure.core.util.tracing.addLink#context} + * + *
+     * // use the parent context containing the current tracing span to start a child span
+     * Context parentContext = new Context(PARENT_SPAN_KEY, "<user-current-span>");
+     * // use the returned span context information of the current tracing span to link
+     * Context spanContext = tracer.start("test.method", parentContext, ProcessKind.MESSAGE);
+     *
+     * // Adds a link between multiple span's using the span context information of the Span
+     * // For each event processed, add a link with the created spanContext
+     * tracer.addLink(spanContext);
+     * 
+ * * * @param context Additional metadata that is passed through the call stack. * @throws NullPointerException if {@code context} is {@code null}. @@ -233,7 +316,14 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Extracts the corresponding span context information from a valid diagnostic id

- * {@codesnippet com.azure.core.util.tracing.extractContext#string-context} + * + *
+     * // Extracts the span context information from the passed diagnostic Id that can be used for linking spans.
+     * String spanImplContext = "span-context";
+     * Context spanContext = tracer.extractContext("valid-diagnostic-id", Context.NONE);
+     * System.out.printf("Span context of the current tracing span: %s%n", spanContext.getData(spanImplContext).get());
+     * 
+ * * * @param diagnosticId Unique identifier for the trace information of the span. * @param context Additional metadata that is passed through the call stack. @@ -248,7 +338,14 @@ default Context start(String methodName, StartSpanOptions options, Context conte *

Code samples

* *

Returns a builder with the provided span name.

- * {@codesnippet com.azure.core.util.tracing.getSpanBuilder#string-context} + * + *
+     * // Returns a span builder with the provided name
+     * String methodName = "message-span";
+     * Context spanContext = tracer.getSharedSpanBuilder(methodName, Context.NONE);
+     * System.out.printf("Span context of the current tracing span: %s%n", spanContext.getData(SPAN_BUILDER_KEY).get());
+     * 
+ * * * @param spanName Name to give the span for the created builder. * @param context Additional metadata that is passed through the call stack. @@ -304,7 +401,22 @@ default void addEvent(String name, Map attributes, OffsetDateTim *

Code samples

* *

Starts a tracing span, makes it current and ends it

- * {@codesnippet com.azure.core.util.tracing.makeSpanCurrent#context} + * + *
+     * // Starts a span, makes it current and then stops it.
+     * Context traceContext = tracer.start("EventHub.process", Context.NONE);
+     *
+     * // Make sure to always use try-with-resource statement with makeSpanCurrent
+     * try (AutoCloseable ignored = tracer.makeSpanCurrent(traceContext)) {
+     *     System.out.println("doing some work...");
+     * } catch (Throwable throwable) {
+     *     tracer.end("Failure", throwable, traceContext);
+     * } finally {
+     *     tracer.end("OK", null, traceContext);
+     * }
+     *
+     * 
+ * * * @return Closeable that should be closed in the same thread with try-with-resource statement. */ diff --git a/sdk/core/pom.xml b/sdk/core/pom.xml index 098baf742b559..e01221d6fec0c 100644 --- a/sdk/core/pom.xml +++ b/sdk/core/pom.xml @@ -32,7 +32,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure @@ -47,7 +47,7 @@ com.azure azure-core-experimental - 1.0.0-beta.19 + 1.0.0-beta.20 com.azure @@ -72,7 +72,7 @@ com.azure azure-core-serializer-avro-apache - 1.0.0-beta.15 + 1.0.0-beta.16 com.azure @@ -87,7 +87,7 @@ com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.15 + 1.0.0-beta.16 diff --git a/sdk/core/tests.yml b/sdk/core/tests.yml index 355098a1f90bc..ffd71c481481e 100644 --- a/sdk/core/tests.yml +++ b/sdk/core/tests.yml @@ -74,3 +74,7 @@ stages: - name: azure-core-jackson-tests groupId: com.azure safeName: azurecorejacksontests + - template: /sdk/storage/tests-template.yml + parameters: + AdditionalMatrixReplace: + - TestFromSource=(.*)/true diff --git a/sdk/cosmos/azure-cosmos-encryption/pom.xml b/sdk/cosmos/azure-cosmos-encryption/pom.xml index a4176b42f5aba..34324dded09a3 100644 --- a/sdk/cosmos/azure-cosmos-encryption/pom.xml +++ b/sdk/cosmos/azure-cosmos-encryption/pom.xml @@ -152,7 +152,7 @@ Licensed under the MIT License. io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/CHANGELOG.md b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/CHANGELOG.md index 62b73b25c4f02..cbe874941a669 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/CHANGELOG.md +++ b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/CHANGELOG.md @@ -54,7 +54,7 @@ #### Key Bug Fixes * Added validation for all config-settings with a name starting with "spark.cosmos." -* Fixed a bug in bulk write causing hang. +* Fixed a bug in bulk write causing nonresponse. ### 4.0.0-beta.2 (2021-04-19) * Cosmos DB Spark 3.1.1 Connector Preview `4.0.0-beta.2` Release. diff --git a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/pom.xml b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/pom.xml index 2f8f23f85c592..62e229951eab7 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/pom.xml +++ b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/pom.xml @@ -90,7 +90,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -244,7 +244,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 com/azure/spring/data/cosmos/core/mapping/BasicCosmosPersistentProperty.java @@ -615,7 +615,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 true diff --git a/sdk/cosmos/azure-cosmos/pom.xml b/sdk/cosmos/azure-cosmos/pom.xml index 875dd29e3d2a5..160294dc77730 100644 --- a/sdk/cosmos/azure-cosmos/pom.xml +++ b/sdk/cosmos/azure-cosmos/pom.xml @@ -81,7 +81,7 @@ Licensed under the MIT License. com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -93,7 +93,7 @@ Licensed under the MIT License. com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -105,29 +105,29 @@ Licensed under the MIT License. com.fasterxml.jackson.module jackson-module-afterburner - 2.12.2 + 2.12.5 com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.fasterxml.jackson.datatype jackson-datatype-jsr310 - 2.12.4 + 2.12.5 @@ -212,7 +212,7 @@ Licensed under the MIT License. io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -284,11 +284,11 @@ Licensed under the MIT License. - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] - com.fasterxml.jackson.core:jackson-core:[2.12.4] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] - com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.4] - com.fasterxml.jackson.module:jackson-module-afterburner:[2.12.2] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] + com.fasterxml.jackson.core:jackson-core:[2.12.5] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] + com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.5] + com.fasterxml.jackson.module:jackson-module-afterburner:[2.12.5] io.dropwizard.metrics:metrics-core:[4.1.0] io.micrometer:micrometer-core:[1.7.3] org.slf4j:slf4j-api:[1.7.32] diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/rntbd/RntbdClientChannelHealthChecker.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/rntbd/RntbdClientChannelHealthChecker.java index 7cc05449ed836..fe6edb1a1aac9 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/rntbd/RntbdClientChannelHealthChecker.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/rntbd/RntbdClientChannelHealthChecker.java @@ -144,7 +144,7 @@ public Future isHealthy(final Channel channel) { // Black hole detection, part 1: // Treat the channel as unhealthy if the gap between the last attempted write and the last successful write - // grew beyond acceptable limits, unless a write was attempted recently. This is a sign of a hung write. + // grew beyond acceptable limits, unless a write was attempted recently. This is a sign of a nonresponding write. final long writeDelayInNanos = timestamps.lastChannelWriteAttemptNanoTime() - timestamps.lastChannelWriteNanoTime(); @@ -157,7 +157,7 @@ public Future isHealthy(final Channel channel) { final Optional rntbdContext = requestManager.rntbdContext(); final int pendingRequestCount = requestManager.pendingRequestCount(); - logger.warn("{} health check failed due to hung write: {lastChannelWriteAttemptNanoTime: {}, " + + logger.warn("{} health check failed due to nonresponding write: {lastChannelWriteAttemptNanoTime: {}, " + "lastChannelWriteNanoTime: {}, writeDelayInNanos: {}, writeDelayLimitInNanos: {}, " + "rntbdContext: {}, pendingRequestCount: {}}", channel, timestamps.lastChannelWriteAttemptNanoTime(), timestamps.lastChannelWriteNanoTime(), @@ -168,7 +168,7 @@ public Future isHealthy(final Channel channel) { // Black hole detection, part 2: // Treat the connection as unhealthy if the gap between the last successful write and the last successful read - // grew beyond acceptable limits, unless a write succeeded recently. This is a sign of a hung read. + // grew beyond acceptable limits, unless a write succeeded recently. This is a sign of a nonresponding read. final long readDelay = timestamps.lastChannelWriteNanoTime() - timestamps.lastChannelReadNanoTime(); final long readHangDuration = currentTime - timestamps.lastChannelWriteNanoTime(); @@ -178,7 +178,7 @@ public Future isHealthy(final Channel channel) { final Optional rntbdContext = requestManager.rntbdContext(); final int pendingRequestCount = requestManager.pendingRequestCount(); - logger.warn("{} health check failed due to hung read: {lastChannelWrite: {}, lastChannelRead: {}, " + logger.warn("{} health check failed due to nonresponding read: {lastChannelWrite: {}, lastChannelRead: {}, " + "readDelay: {}, readDelayLimit: {}, rntbdContext: {}, pendingRequestCount: {}}", channel, timestamps.lastChannelWriteNanoTime(), timestamps.lastChannelReadNanoTime(), readDelay, this.readDelayLimitInNanos, rntbdContext, pendingRequestCount); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DedicatedGatewayRequestOptions.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DedicatedGatewayRequestOptions.java index 4757c3309ccfa..bdd82d3806964 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DedicatedGatewayRequestOptions.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/DedicatedGatewayRequestOptions.java @@ -24,7 +24,7 @@ public DedicatedGatewayRequestOptions() { /** * Gets the staleness value associated with the request in the Azure CosmosDB service. For requests where the {@link - * com.azure.cosmos.ConsistencyLevel} is {@link com.azure.cosmos.ConsistencyLevel#EVENTUAL}, responses from the + * com.azure.cosmos.ConsistencyLevel} is {@link com.azure.cosmos.ConsistencyLevel#EVENTUAL} or {@link com.azure.cosmos.ConsistencyLevel#SESSION}, responses from the * integrated cache are guaranteed to be no staler than value indicated by this maxIntegratedCacheStaleness. * *

Default value is null

@@ -40,7 +40,7 @@ public Duration getMaxIntegratedCacheStaleness() { /** * Sets the staleness value associated with the request in the Azure CosmosDB service. For requests where the {@link - * com.azure.cosmos.ConsistencyLevel} is {@link com.azure.cosmos.ConsistencyLevel#EVENTUAL}, responses from the + * com.azure.cosmos.ConsistencyLevel} is {@link com.azure.cosmos.ConsistencyLevel#EVENTUAL} or {@link com.azure.cosmos.ConsistencyLevel#SESSION}, responses from the * integrated cache are guaranteed to be no staler than value indicated by this maxIntegratedCacheStaleness. * *

Default value is null

diff --git a/sdk/cosmos/azure-cosmos/src/main/java/module-info.java b/sdk/cosmos/azure-cosmos/src/main/java/module-info.java index a077b29c482e1..884ec3d91e7a9 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/module-info.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/module-info.java @@ -17,7 +17,6 @@ requires io.netty.codec.http2; requires io.netty.transport.epoll; requires io.netty.handler.proxy; - requires reactor.netty; requires reactor.netty.core; requires reactor.netty.http; requires com.codahale.metrics; diff --git a/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/CosmosTemplateIT.java b/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/CosmosTemplateIT.java index ff82e533c30ac..a06887c999e06 100644 --- a/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/CosmosTemplateIT.java +++ b/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/CosmosTemplateIT.java @@ -3,6 +3,7 @@ package com.azure.spring.data.cosmos.core; import com.azure.cosmos.CosmosAsyncClient; +import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosException; import com.azure.cosmos.implementation.ConflictException; @@ -117,18 +118,9 @@ public class CosmosTemplateIT { public void setUp() throws ClassNotFoundException { if (cosmosTemplate == null) { client = CosmosFactory.createCosmosAsyncClient(cosmosClientBuilder); - final CosmosFactory cosmosFactory = new CosmosFactory(client, TestConstants.DB_NAME); - - final CosmosMappingContext mappingContext = new CosmosMappingContext(); personInfo = new CosmosEntityInformation<>(Person.class); containerName = personInfo.getContainerName(); - - mappingContext.setInitialEntitySet(new EntityScanner(this.applicationContext).scan(Persistent.class)); - - final MappingCosmosConverter cosmosConverter = new MappingCosmosConverter(mappingContext, - null); - - cosmosTemplate = new CosmosTemplate(cosmosFactory, cosmosConfig, cosmosConverter); + cosmosTemplate = createCosmosTemplate(cosmosConfig, TestConstants.DB_NAME); } collectionManager.ensureContainersCreatedAndEmpty(cosmosTemplate, Person.class, @@ -137,6 +129,14 @@ public void setUp() throws ClassNotFoundException { new PartitionKey(TEST_PERSON.getLastName())); } + private CosmosTemplate createCosmosTemplate(CosmosConfig config, String dbName) throws ClassNotFoundException { + final CosmosFactory cosmosFactory = new CosmosFactory(client, dbName); + final CosmosMappingContext mappingContext = new CosmosMappingContext(); + mappingContext.setInitialEntitySet(new EntityScanner(this.applicationContext).scan(Persistent.class)); + final MappingCosmosConverter cosmosConverter = new MappingCosmosConverter(mappingContext, null); + return new CosmosTemplate(cosmosFactory, config, cosmosConverter); + } + private void insertPerson(Person person) { cosmosTemplate.insert(person, new PartitionKey(personInfo.getPartitionKeyFieldValue(person))); @@ -660,4 +660,34 @@ public void createWithAutoscale() throws ClassNotFoundException { assertEquals(Integer.parseInt(TestConstants.AUTOSCALE_MAX_THROUGHPUT), throughput.getProperties().getAutoscaleMaxThroughput()); } + + @Test + public void createDatabaseWithThroughput() throws ClassNotFoundException { + final String configuredThroughputDbName = TestConstants.DB_NAME + "-configured-throughput"; + deleteDatabaseIfExists(configuredThroughputDbName); + + Integer expectedRequestUnits = 700; + final CosmosConfig config = CosmosConfig.builder() + .enableDatabaseThroughput(false, expectedRequestUnits) + .build(); + final CosmosTemplate configuredThroughputCosmosTemplate = createCosmosTemplate(config, configuredThroughputDbName); + + final CosmosEntityInformation personInfo = + new CosmosEntityInformation<>(Person.class); + configuredThroughputCosmosTemplate.createContainerIfNotExists(personInfo); + + final CosmosAsyncDatabase database = client.getDatabase(configuredThroughputDbName); + final ThroughputResponse response = database.readThroughput().block(); + assertEquals(expectedRequestUnits, response.getProperties().getManualThroughput()); + } + + private void deleteDatabaseIfExists(String dbName) { + CosmosAsyncDatabase database = client.getDatabase(dbName); + try { + database.delete().block(); + } catch (CosmosException ex) { + assertEquals(ex.getStatusCode(), 404); + } + } + } diff --git a/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplateIT.java b/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplateIT.java index ede2e69118dcf..ae4676eb498c1 100644 --- a/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplateIT.java +++ b/sdk/cosmos/azure-spring-data-cosmos-test/src/test/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplateIT.java @@ -4,6 +4,7 @@ import com.azure.core.credential.AzureKeyCredential; import com.azure.cosmos.CosmosAsyncClient; +import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosException; import com.azure.cosmos.implementation.ConflictException; @@ -119,17 +120,9 @@ public void setUp() throws ClassNotFoundException { azureKeyCredential = new AzureKeyCredential(cosmosDbKey); cosmosClientBuilder.credential(azureKeyCredential); client = CosmosFactory.createCosmosAsyncClient(cosmosClientBuilder); - final CosmosFactory dbFactory = new CosmosFactory(client, TestConstants.DB_NAME); - - final CosmosMappingContext mappingContext = new CosmosMappingContext(); personInfo = new CosmosEntityInformation<>(Person.class); containerName = personInfo.getContainerName(); - - mappingContext.setInitialEntitySet(new EntityScanner(this.applicationContext).scan(Persistent.class)); - - final MappingCosmosConverter dbConverter = - new MappingCosmosConverter(mappingContext, null); - cosmosTemplate = new ReactiveCosmosTemplate(dbFactory, cosmosConfig, dbConverter); + cosmosTemplate = createReactiveCosmosTemplate(cosmosConfig, TestConstants.DB_NAME); } collectionManager.ensureContainersCreatedAndEmpty(cosmosTemplate, Person.class, GenIdEntity.class, AuditableEntity.class); @@ -138,6 +131,14 @@ public void setUp() throws ClassNotFoundException { new PartitionKey(personInfo.getPartitionKeyFieldValue(TEST_PERSON))).block(); } + private ReactiveCosmosTemplate createReactiveCosmosTemplate(CosmosConfig config, String dbName) throws ClassNotFoundException { + final CosmosFactory cosmosFactory = new CosmosFactory(client, dbName); + final CosmosMappingContext mappingContext = new CosmosMappingContext(); + mappingContext.setInitialEntitySet(new EntityScanner(this.applicationContext).scan(Persistent.class)); + final MappingCosmosConverter cosmosConverter = new MappingCosmosConverter(mappingContext, null); + return new ReactiveCosmosTemplate(cosmosFactory, config, cosmosConverter); + } + @After public void cleanup() { // Reset master key @@ -545,4 +546,34 @@ public void createWithAutoscale() { assertEquals(Integer.parseInt(TestConstants.AUTOSCALE_MAX_THROUGHPUT), throughput.getProperties().getAutoscaleMaxThroughput()); } + + @Test + public void createDatabaseWithThroughput() throws ClassNotFoundException { + final String configuredThroughputDbName = TestConstants.DB_NAME + "-other"; + deleteDatabaseIfExists(configuredThroughputDbName); + + Integer expectedRequestUnits = 700; + final CosmosConfig config = CosmosConfig.builder() + .enableDatabaseThroughput(false, expectedRequestUnits) + .build(); + final ReactiveCosmosTemplate configuredThroughputCosmosTemplate = createReactiveCosmosTemplate(config, configuredThroughputDbName); + + final CosmosEntityInformation personInfo = + new CosmosEntityInformation<>(Person.class); + configuredThroughputCosmosTemplate.createContainerIfNotExists(personInfo).block(); + + final CosmosAsyncDatabase database = client.getDatabase(configuredThroughputDbName); + final ThroughputResponse response = database.readThroughput().block(); + assertEquals(expectedRequestUnits, response.getProperties().getManualThroughput()); + } + + private void deleteDatabaseIfExists(String dbName) { + CosmosAsyncDatabase database = client.getDatabase(dbName); + try { + database.delete().block(); + } catch (CosmosException ex) { + assertEquals(ex.getStatusCode(), 404); + } + } + } diff --git a/sdk/cosmos/azure-spring-data-cosmos/README.md b/sdk/cosmos/azure-spring-data-cosmos/README.md index 09c71fe5a6fe0..5ec4994de3ae0 100644 --- a/sdk/cosmos/azure-spring-data-cosmos/README.md +++ b/sdk/cosmos/azure-spring-data-cosmos/README.md @@ -180,6 +180,24 @@ public CosmosConfig cosmosConfig() { By default, `@EnableCosmosRepositories` will scan the current package for any interfaces that extend one of Spring Data's repository interfaces. Use it to annotate your Configuration class to scan a different root package by `@EnableCosmosRepositories(basePackageClass=UserRepository.class)` if your project layout has multiple projects. +#### Using database provisioned throughput + +Cosmos supports both [container](https://docs.microsoft.com/azure/cosmos-db/sql/how-to-provision-container-throughput) +and [database](https://docs.microsoft.com/azure/cosmos-db/sql/how-to-provision-database-throughput) provisioned +throughput. By default, spring-data-cosmos will provision throughput for each container created. If you prefer +to share throughput between containers, you can enable database provisioned throughput via CosmosConfig. + +```java +@Override +public CosmosConfig cosmosConfig() { + int autoscale = false; + int initialRequestUnits = 400; + return CosmosConfig.builder() + .enableDatabaseThroughput(autoscale, initialRequestUnits) + .build(); +} +``` + ### Define an entity - Define a simple entity as item in Azure Cosmos DB. diff --git a/sdk/cosmos/azure-spring-data-cosmos/pom.xml b/sdk/cosmos/azure-spring-data-cosmos/pom.xml index 3910445135fee..940351be5f122 100644 --- a/sdk/cosmos/azure-spring-data-cosmos/pom.xml +++ b/sdk/cosmos/azure-spring-data-cosmos/pom.xml @@ -93,17 +93,17 @@ com.fasterxml.jackson.module jackson-module-parameter-names - 2.12.4 + 2.12.5 com.fasterxml.jackson.datatype jackson-datatype-jdk8 - 2.12.4 + 2.12.5 com.fasterxml.jackson.datatype jackson-datatype-jsr310 - 2.12.4 + 2.12.5 org.javatuples @@ -155,7 +155,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -202,9 +202,9 @@ org.springframework:spring-context:[5.3.9] org.springframework.data:spring-data-commons:[2.5.4] org.javatuples:javatuples:[1.2] - com.fasterxml.jackson.datatype:jackson-datatype-jdk8:[2.12.4] - com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.4] - com.fasterxml.jackson.module:jackson-module-parameter-names:[2.12.4] + com.fasterxml.jackson.datatype:jackson-datatype-jdk8:[2.12.5] + com.fasterxml.jackson.datatype:jackson-datatype-jsr310:[2.12.5] + com.fasterxml.jackson.module:jackson-module-parameter-names:[2.12.5] javax.annotation:javax.annotation-api:[1.3.2] org.apache.commons:commons-lang3:[3.12.0] org.slf4j:slf4j-api:[1.7.32] @@ -217,7 +217,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 com/azure/spring/data/cosmos/core/mapping/BasicCosmosPersistentProperty.java diff --git a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/CosmosConfig.java b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/CosmosConfig.java index 97d61aa158239..156d28623469f 100644 --- a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/CosmosConfig.java +++ b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/CosmosConfig.java @@ -13,6 +13,8 @@ public class CosmosConfig { private final ResponseDiagnosticsProcessor responseDiagnosticsProcessor; + private final DatabaseThroughputConfig databaseThroughputConfig; + private final boolean queryMetricsEnabled; /** @@ -24,7 +26,22 @@ public class CosmosConfig { @ConstructorProperties({"responseDiagnosticsProcessor", "queryMetricsEnabled"}) public CosmosConfig(ResponseDiagnosticsProcessor responseDiagnosticsProcessor, boolean queryMetricsEnabled) { + this(responseDiagnosticsProcessor, null, queryMetricsEnabled); + } + + /** + * Initialization + * + * @param responseDiagnosticsProcessor must not be {@literal null} + * @param databaseThroughputConfig may be @{literal null} + * @param queryMetricsEnabled must not be {@literal null} + */ + @ConstructorProperties({"responseDiagnosticsProcessor", "databaseThroughputConfig", "queryMetricsEnabled"}) + public CosmosConfig(ResponseDiagnosticsProcessor responseDiagnosticsProcessor, + DatabaseThroughputConfig databaseThroughputConfig, + boolean queryMetricsEnabled) { this.responseDiagnosticsProcessor = responseDiagnosticsProcessor; + this.databaseThroughputConfig = databaseThroughputConfig; this.queryMetricsEnabled = queryMetricsEnabled; } @@ -46,6 +63,15 @@ public boolean isQueryMetricsEnabled() { return queryMetricsEnabled; } + /** + * Gets the database throughput configuration. + * + * @return DatabaseThroughputConfig, or null if no database throughput is configured + */ + public DatabaseThroughputConfig getDatabaseThroughputConfig() { + return databaseThroughputConfig; + } + /** * Create a CosmosConfigBuilder instance * @@ -60,6 +86,7 @@ public static CosmosConfigBuilder builder() { */ public static class CosmosConfigBuilder { private ResponseDiagnosticsProcessor responseDiagnosticsProcessor; + private DatabaseThroughputConfig databaseThroughputConfig; private boolean queryMetricsEnabled; CosmosConfigBuilder() { } @@ -88,19 +115,25 @@ public CosmosConfigBuilder enableQueryMetrics(boolean queryMetricsEnabled) { return this; } + public CosmosConfigBuilder enableDatabaseThroughput(boolean autoscale, int requestUnits) { + this.databaseThroughputConfig = new DatabaseThroughputConfig(autoscale, requestUnits); + return this; + } + /** * Build a CosmosConfig instance * * @return CosmosConfig */ public CosmosConfig build() { - return new CosmosConfig(this.responseDiagnosticsProcessor, this.queryMetricsEnabled); + return new CosmosConfig(this.responseDiagnosticsProcessor, this.databaseThroughputConfig, this.queryMetricsEnabled); } @Override public String toString() { return "CosmosConfigBuilder{" + "responseDiagnosticsProcessor=" + responseDiagnosticsProcessor + + ", databaseThroughputConfig=" + databaseThroughputConfig + ", queryMetricsEnabled=" + queryMetricsEnabled + '}'; } diff --git a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/DatabaseThroughputConfig.java b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/DatabaseThroughputConfig.java new file mode 100644 index 0000000000000..c593588cf8132 --- /dev/null +++ b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/config/DatabaseThroughputConfig.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +package com.azure.spring.data.cosmos.config; + +/** + * Throughput config for database creation + */ +public class DatabaseThroughputConfig { + + private final boolean autoScale; + private final int requestUnits; + + public DatabaseThroughputConfig(boolean autoScale, int requestUnits) { + this.autoScale = autoScale; + this.requestUnits = requestUnits; + } + + public boolean isAutoScale() { + return autoScale; + } + + public int getRequestUnits() { + return requestUnits; + } + + @Override + public String toString() { + return "DatabaseThroughputConfig{" + + "autoScale=" + autoScale + + ", requestUnits=" + requestUnits + + '}'; + } + +} diff --git a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/CosmosTemplate.java b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/CosmosTemplate.java index 946b802f23133..655c7ed189375 100644 --- a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/CosmosTemplate.java +++ b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/CosmosTemplate.java @@ -8,6 +8,7 @@ import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosItemRequestOptions; import com.azure.cosmos.models.CosmosItemResponse; import com.azure.cosmos.models.CosmosQueryRequestOptions; @@ -20,6 +21,7 @@ import com.azure.spring.data.cosmos.CosmosFactory; import com.azure.spring.data.cosmos.common.CosmosUtils; import com.azure.spring.data.cosmos.config.CosmosConfig; +import com.azure.spring.data.cosmos.config.DatabaseThroughputConfig; import com.azure.spring.data.cosmos.core.convert.MappingCosmosConverter; import com.azure.spring.data.cosmos.core.generator.CountQueryGenerator; import com.azure.spring.data.cosmos.core.generator.FindQuerySpecGenerator; @@ -75,6 +77,7 @@ public class CosmosTemplate implements CosmosOperations, ApplicationContextAware private final ResponseDiagnosticsProcessor responseDiagnosticsProcessor; private final boolean queryMetricsEnabled; private final CosmosAsyncClient cosmosAsyncClient; + private final DatabaseThroughputConfig databaseThroughputConfig; private ApplicationContext applicationContext; @@ -126,6 +129,7 @@ public CosmosTemplate(CosmosFactory cosmosFactory, this.databaseName = cosmosFactory.getDatabaseName(); this.responseDiagnosticsProcessor = cosmosConfig.getResponseDiagnosticsProcessor(); this.queryMetricsEnabled = cosmosConfig.isQueryMetricsEnabled(); + this.databaseThroughputConfig = cosmosConfig.getDatabaseThroughputConfig(); } /** @@ -458,8 +462,7 @@ public String getContainerName(Class domainType) { @Override public CosmosContainerProperties createContainerIfNotExists(CosmosEntityInformation information) { - final CosmosContainerResponse response = cosmosAsyncClient - .createDatabaseIfNotExists(this.databaseName) + final CosmosContainerResponse response = createDatabaseIfNotExists() .publishOn(Schedulers.parallel()) .onErrorResume(throwable -> CosmosExceptionUtils.exceptionHandler("Failed to create database", throwable)) @@ -501,6 +504,19 @@ public CosmosContainerProperties createContainerIfNotExists(CosmosEntityInformat return response.getProperties(); } + private Mono createDatabaseIfNotExists() { + if (databaseThroughputConfig == null) { + return cosmosAsyncClient + .createDatabaseIfNotExists(this.databaseName); + } else { + ThroughputProperties throughputProperties = databaseThroughputConfig.isAutoScale() + ? ThroughputProperties.createAutoscaledThroughput(databaseThroughputConfig.getRequestUnits()) + : ThroughputProperties.createManualThroughput(databaseThroughputConfig.getRequestUnits()); + return cosmosAsyncClient + .createDatabaseIfNotExists(this.databaseName, throughputProperties); + } + } + @Override public CosmosContainerProperties getContainerProperties(String containerName) { final CosmosContainerResponse response = cosmosAsyncClient.getDatabase(this.databaseName) diff --git a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplate.java b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplate.java index 0e0d8ede36a2a..44566c01130b5 100644 --- a/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplate.java +++ b/sdk/cosmos/azure-spring-data-cosmos/src/main/java/com/azure/spring/data/cosmos/core/ReactiveCosmosTemplate.java @@ -7,6 +7,7 @@ import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosItemRequestOptions; import com.azure.cosmos.models.CosmosQueryRequestOptions; import com.azure.cosmos.models.FeedResponse; @@ -18,6 +19,7 @@ import com.azure.spring.data.cosmos.CosmosFactory; import com.azure.spring.data.cosmos.common.CosmosUtils; import com.azure.spring.data.cosmos.config.CosmosConfig; +import com.azure.spring.data.cosmos.config.DatabaseThroughputConfig; import com.azure.spring.data.cosmos.core.convert.MappingCosmosConverter; import com.azure.spring.data.cosmos.core.generator.CountQueryGenerator; import com.azure.spring.data.cosmos.core.generator.FindQuerySpecGenerator; @@ -61,6 +63,7 @@ public class ReactiveCosmosTemplate implements ReactiveCosmosOperations, Applica private final boolean queryMetricsEnabled; private final CosmosAsyncClient cosmosAsyncClient; private final IsNewAwareAuditingHandler cosmosAuditingHandler; + private final DatabaseThroughputConfig databaseThroughputConfig; private ApplicationContext applicationContext; @@ -114,6 +117,7 @@ public ReactiveCosmosTemplate(CosmosFactory cosmosFactory, this.responseDiagnosticsProcessor = cosmosConfig.getResponseDiagnosticsProcessor(); this.queryMetricsEnabled = cosmosConfig.isQueryMetricsEnabled(); this.cosmosAuditingHandler = cosmosAuditingHandler; + this.databaseThroughputConfig = cosmosConfig.getDatabaseThroughputConfig(); } /** @@ -146,8 +150,7 @@ public void setApplicationContext(@NonNull ApplicationContext applicationContext @Override public Mono createContainerIfNotExists(CosmosEntityInformation information) { - return cosmosAsyncClient - .createDatabaseIfNotExists(this.databaseName) + return createDatabaseIfNotExists() .publishOn(Schedulers.parallel()) .onErrorResume(throwable -> CosmosExceptionUtils.exceptionHandler("Failed to create database", throwable)) @@ -188,6 +191,19 @@ public Mono createContainerIfNotExists(CosmosEntityInfo } + private Mono createDatabaseIfNotExists() { + if (databaseThroughputConfig == null) { + return cosmosAsyncClient + .createDatabaseIfNotExists(this.databaseName); + } else { + ThroughputProperties throughputProperties = databaseThroughputConfig.isAutoScale() + ? ThroughputProperties.createAutoscaledThroughput(databaseThroughputConfig.getRequestUnits()) + : ThroughputProperties.createManualThroughput(databaseThroughputConfig.getRequestUnits()); + return cosmosAsyncClient + .createDatabaseIfNotExists(this.databaseName, throughputProperties); + } + } + @Override public Mono getContainerProperties(String containerName) { return cosmosAsyncClient.getDatabase(this.databaseName) diff --git a/sdk/costmanagement/azure-resourcemanager-costmanagement/pom.xml b/sdk/costmanagement/azure-resourcemanager-costmanagement/pom.xml index 3b9ea6a6f1654..ebbe3c91f9c8c 100644 --- a/sdk/costmanagement/azure-resourcemanager-costmanagement/pom.xml +++ b/sdk/costmanagement/azure-resourcemanager-costmanagement/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/customerinsights/azure-resourcemanager-customerinsights/pom.xml b/sdk/customerinsights/azure-resourcemanager-customerinsights/pom.xml index a0d7bc30ebc23..3df4427d71234 100644 --- a/sdk/customerinsights/azure-resourcemanager-customerinsights/pom.xml +++ b/sdk/customerinsights/azure-resourcemanager-customerinsights/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/databox/azure-resourcemanager-databox/pom.xml b/sdk/databox/azure-resourcemanager-databox/pom.xml index a53824c31b667..4eddc73900c42 100644 --- a/sdk/databox/azure-resourcemanager-databox/pom.xml +++ b/sdk/databox/azure-resourcemanager-databox/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/databoxedge/azure-resourcemanager-databoxedge/pom.xml b/sdk/databoxedge/azure-resourcemanager-databoxedge/pom.xml index e93ad9bd94378..1fb487ca0db1b 100644 --- a/sdk/databoxedge/azure-resourcemanager-databoxedge/pom.xml +++ b/sdk/databoxedge/azure-resourcemanager-databoxedge/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/databricks/azure-resourcemanager-databricks/pom.xml b/sdk/databricks/azure-resourcemanager-databricks/pom.xml index 6b3dd0f361d64..c51edc5a7f54d 100644 --- a/sdk/databricks/azure-resourcemanager-databricks/pom.xml +++ b/sdk/databricks/azure-resourcemanager-databricks/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/datadog/azure-resourcemanager-datadog/pom.xml b/sdk/datadog/azure-resourcemanager-datadog/pom.xml index 0d707b9198473..57623845c5f51 100644 --- a/sdk/datadog/azure-resourcemanager-datadog/pom.xml +++ b/sdk/datadog/azure-resourcemanager-datadog/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/datafactory/azure-resourcemanager-datafactory/pom.xml b/sdk/datafactory/azure-resourcemanager-datafactory/pom.xml index 3e4d19a6e9195..867c27475feaf 100644 --- a/sdk/datafactory/azure-resourcemanager-datafactory/pom.xml +++ b/sdk/datafactory/azure-resourcemanager-datafactory/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/datalakeanalytics/azure-resourcemanager-datalakeanalytics/pom.xml b/sdk/datalakeanalytics/azure-resourcemanager-datalakeanalytics/pom.xml index 81e30a8533ada..9accc03ac0498 100644 --- a/sdk/datalakeanalytics/azure-resourcemanager-datalakeanalytics/pom.xml +++ b/sdk/datalakeanalytics/azure-resourcemanager-datalakeanalytics/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/datalakestore/azure-resourcemanager-datalakestore/pom.xml b/sdk/datalakestore/azure-resourcemanager-datalakestore/pom.xml index 989318ab3e854..41e9ae9d8744b 100644 --- a/sdk/datalakestore/azure-resourcemanager-datalakestore/pom.xml +++ b/sdk/datalakestore/azure-resourcemanager-datalakestore/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/datamigration/azure-resourcemanager-datamigration/pom.xml b/sdk/datamigration/azure-resourcemanager-datamigration/pom.xml index bbd6b31dbf3e2..ba69fa9d0cfc7 100644 --- a/sdk/datamigration/azure-resourcemanager-datamigration/pom.xml +++ b/sdk/datamigration/azure-resourcemanager-datamigration/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/delegatednetwork/azure-resourcemanager-delegatednetwork/pom.xml b/sdk/delegatednetwork/azure-resourcemanager-delegatednetwork/pom.xml index d5973b2d9a0ba..a4fb4f08ba376 100644 --- a/sdk/delegatednetwork/azure-resourcemanager-delegatednetwork/pom.xml +++ b/sdk/delegatednetwork/azure-resourcemanager-delegatednetwork/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/deploymentmanager/azure-resourcemanager-deploymentmanager/pom.xml b/sdk/deploymentmanager/azure-resourcemanager-deploymentmanager/pom.xml index 47345fa5f3f09..bb0d411834708 100644 --- a/sdk/deploymentmanager/azure-resourcemanager-deploymentmanager/pom.xml +++ b/sdk/deploymentmanager/azure-resourcemanager-deploymentmanager/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/deviceprovisioningservices/azure-resourcemanager-deviceprovisioningservices/pom.xml b/sdk/deviceprovisioningservices/azure-resourcemanager-deviceprovisioningservices/pom.xml index 968beef978cbd..97518b7e4d040 100644 --- a/sdk/deviceprovisioningservices/azure-resourcemanager-deviceprovisioningservices/pom.xml +++ b/sdk/deviceprovisioningservices/azure-resourcemanager-deviceprovisioningservices/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -66,7 +66,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/deviceupdate/azure-iot-deviceupdate/pom.xml b/sdk/deviceupdate/azure-iot-deviceupdate/pom.xml index bc366abcfff07..8e38f1348696d 100644 --- a/sdk/deviceupdate/azure-iot-deviceupdate/pom.xml +++ b/sdk/deviceupdate/azure-iot-deviceupdate/pom.xml @@ -31,12 +31,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -47,7 +47,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/devspaces/azure-resourcemanager-devspaces/pom.xml b/sdk/devspaces/azure-resourcemanager-devspaces/pom.xml index a7a358933fe69..940bb3aa00cd0 100644 --- a/sdk/devspaces/azure-resourcemanager-devspaces/pom.xml +++ b/sdk/devspaces/azure-resourcemanager-devspaces/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/devtestlabs/azure-resourcemanager-devtestlabs/pom.xml b/sdk/devtestlabs/azure-resourcemanager-devtestlabs/pom.xml index 9da2332771465..4a30c0f966d75 100644 --- a/sdk/devtestlabs/azure-resourcemanager-devtestlabs/pom.xml +++ b/sdk/devtestlabs/azure-resourcemanager-devtestlabs/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/digitaltwins/azure-digitaltwins-core/pom.xml b/sdk/digitaltwins/azure-digitaltwins-core/pom.xml index 67b68ac86b6f2..0a148aedd686f 100644 --- a/sdk/digitaltwins/azure-digitaltwins-core/pom.xml +++ b/sdk/digitaltwins/azure-digitaltwins-core/pom.xml @@ -45,29 +45,29 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -79,7 +79,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -132,7 +132,7 @@ - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] diff --git a/sdk/digitaltwins/azure-resourcemanager-digitaltwins/pom.xml b/sdk/digitaltwins/azure-resourcemanager-digitaltwins/pom.xml index 207f9e96caf11..af90b4a4f6f90 100644 --- a/sdk/digitaltwins/azure-resourcemanager-digitaltwins/pom.xml +++ b/sdk/digitaltwins/azure-resourcemanager-digitaltwins/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -66,7 +66,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/e2e/pom.xml b/sdk/e2e/pom.xml index 8a67ffd690bbc..c60a07a0a988d 100644 --- a/sdk/e2e/pom.xml +++ b/sdk/e2e/pom.xml @@ -23,7 +23,7 @@ com.azure azure-core - 1.21.0-beta.1 + 1.22.0-beta.1 com.azure @@ -76,7 +76,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/elastic/azure-resourcemanager-elastic/pom.xml b/sdk/elastic/azure-resourcemanager-elastic/pom.xml index e6e55e0d3e1ac..7f88569ca7d84 100644 --- a/sdk/elastic/azure-resourcemanager-elastic/pom.xml +++ b/sdk/elastic/azure-resourcemanager-elastic/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/eventgrid/azure-messaging-eventgrid/CHANGELOG.md b/sdk/eventgrid/azure-messaging-eventgrid/CHANGELOG.md index 3b5b81d5689a1..a9b8420873adf 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/CHANGELOG.md +++ b/sdk/eventgrid/azure-messaging-eventgrid/CHANGELOG.md @@ -3,10 +3,17 @@ ## 4.7.0-beta.1 (Unreleased) ### Features Added - -### Breaking Changes - -### Bugs Fixed +- Added new Api Management service system events, `ApiManagementApiCreatedEventData`, `ApiManagementApiDeletedEventData`, + `ApiManagementApiReleaseCreatedEventData`, `ApiManagementApiReleaseDeletedEventData`, + `ApiManagementApiReleaseUpdatedEventData`, `ApiManagementApiUpdatedEventData`, `ApiManagementProductCreatedEventData`, + `ApiManagementProductDeletedEventData`, `ApiManagementProductUpdatedEventData`, + `ApiManagementSubscriptionCreatedEventData`, `ApiManagementSubscriptionDeletedEventData`, + `ApiManagementSubscriptionUpdatedEventData`,`ApiManagementUserCreatedEventData`, `ApiManagementUserDeletedEventData`, + `ApiManagementUserUpdatedEventData`. +- Added a new Media service system event, `MediaLiveEventChannelArchiveHeartbeatEventData`. +- Added a new Communication service system event, `AcsUserDisconnectedEventData`. +- Added fields `transcriptionLanguage`, `transcriptionState`, `ingestDriftValue`, `lastFragmentArrivalTime` + to system event classes `MediaLiveEventIngestHeartbeatEventData`. ### Other Changes diff --git a/sdk/eventgrid/azure-messaging-eventgrid/pom.xml b/sdk/eventgrid/azure-messaging-eventgrid/pom.xml index 121bc4fb00b82..4a9f2531003f4 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/pom.xml +++ b/sdk/eventgrid/azure-messaging-eventgrid/pom.xml @@ -68,19 +68,19 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test @@ -116,7 +116,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -128,7 +128,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/SystemEventNames.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/SystemEventNames.java index cf348cce11516..877a74a540808 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/SystemEventNames.java +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/SystemEventNames.java @@ -24,6 +24,22 @@ import com.azure.messaging.eventgrid.systemevents.AcsRecordingFileStatusUpdatedEventData; import com.azure.messaging.eventgrid.systemevents.AcsSmsDeliveryReportReceivedEventData; import com.azure.messaging.eventgrid.systemevents.AcsSmsReceivedEventData; +import com.azure.messaging.eventgrid.systemevents.AcsUserDisconnectedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserUpdatedEventData; import com.azure.messaging.eventgrid.systemevents.AppConfigurationKeyValueDeletedEventData; import com.azure.messaging.eventgrid.systemevents.AppConfigurationKeyValueModifiedEventData; import com.azure.messaging.eventgrid.systemevents.ContainerRegistryChartDeletedEventData; @@ -70,6 +86,7 @@ import com.azure.messaging.eventgrid.systemevents.MediaJobProcessingEventData; import com.azure.messaging.eventgrid.systemevents.MediaJobScheduledEventData; import com.azure.messaging.eventgrid.systemevents.MediaJobStateChangeEventData; +import com.azure.messaging.eventgrid.systemevents.MediaLiveEventChannelArchiveHeartbeatEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventConnectionRejectedEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventEncoderConnectedEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventEncoderDisconnectedEventData; @@ -142,6 +159,68 @@ public final class SystemEventNames { // Keep this sorted by the name of the service publishing the events. + // ApiManagement events. + /** + * indicate an event of ApiCreated in ApiManagement. + */ + public static final String API_MANAGEMENT_API_CREATED = "Microsoft.ApiManagement.ApiCreated"; + /** + * indicate an event of ApiDeleted in ApiManagement. + */ + public static final String API_MANAGEMENT_API_DELETED = "Microsoft.ApiManagement.ApiDeleted"; + /** + * indicate an event of ApiReleaseCreated in ApiManagement. + */ + public static final String API_MANAGEMENT_API_RELEASE_CREATED = "Microsoft.ApiManagement.ApiReleaseCreated"; + /** + * indicate an event of ApiReleaseDeleted in ApiManagement. + */ + public static final String API_MANAGEMENT_API_RELEASE_DELETED = "Microsoft.ApiManagement.ApiReleaseDeleted"; + /** + * indicate an event of ApiReleaseUpdated in ApiManagement. + */ + public static final String API_MANAGEMENT_API_RELEASE_UPDATED = "Microsoft.ApiManagement.ApiReleaseUpdated"; + /** + * indicate an event of ApiUpdated in ApiManagement. + */ + public static final String API_MANAGEMENT_API_UPDATED = "Microsoft.ApiManagement.ApiUpdated"; + /** + * indicate an event of ProductCreated in ApiManagement. + */ + public static final String API_MANAGEMENT_PRODUCT_CREATED = "Microsoft.ApiManagement.ProductCreated"; + /** + * indicate an event of ProductDeleted in ApiManagement. + */ + public static final String API_MANAGEMENT_PRODUCT_DELETED = "Microsoft.ApiManagement.ProductDeleted"; + /** + * indicate an event of ProductUpdated in ApiManagement. + */ + public static final String API_MANAGEMENT_PRODUCT_UPDATED = "Microsoft.ApiManagement.ProductUpdated"; + /** + * indicate an event of SubscriptionCreated in ApiManagement. + */ + public static final String API_MANAGEMENT_SUBSCRIPTION_CREATED = "Microsoft.ApiManagement.SubscriptionCreated"; + /** + * indicate an event of SubscriptionDeleted in ApiManagement. + */ + public static final String API_MANAGEMENT_SUBSCRIPTION_DELETED = "Microsoft.ApiManagement.SubscriptionDeleted"; + /** + * indicate an event of SubscriptionUpdated in ApiManagement. + */ + public static final String API_MANAGEMENT_SUBSCRIPTION_UPDATED = "Microsoft.ApiManagement.SubscriptionUpdated"; + /** + * indicate an event of UserCreated in ApiManagement. + */ + public static final String API_MANAGEMENT_USER_CREATED = "Microsoft.ApiManagement.UserCreated"; + /** + * indicate an event of UserDeleted in ApiManagement. + */ + public static final String API_MANAGEMENT_USER_DELETED = "Microsoft.ApiManagement.UserDeleted"; + /** + * indicate an event of UserUpdated in ApiManagement. + */ + public static final String API_MANAGEMENT_USER_UPDATED = "Microsoft.ApiManagement.UserUpdated"; + // AppConfiguration events. /** * indicate an event of KeyValueDeleted in AppConfiguration. @@ -300,6 +379,12 @@ public final class SystemEventNames { */ public static final String MEDIA_JOB_STATE_CHANGE = "Microsoft.Media.JobStateChange"; + /** + * Media Services Live Event Channel Archive Heartbeat event. + */ + public static final String MEDIA_LIVE_EVENT_CHANNEL_ARCHIVE_HEARTBEAT = + "Microsoft.Media.LiveEventChannelArchiveHeartbeat"; + /** * Media Services Live Event Connection Rejected event. */ @@ -450,7 +535,6 @@ public final class SystemEventNames { "Microsoft.Communication.SMSDeliveryReportReceived"; public static final String COMMUNICATION_SMS_RECEIVED = "Microsoft.Communication.SMSReceived"; - public static final String COMMUNICATION_CHAT_MESSAGE_DELETED_IN_THREAD = "Microsoft.Communication.ChatMessageDeletedInThread"; public static final String COMMUNICATION_CHAT_MESSAGE_EDITED_IN_THREAD = @@ -461,6 +545,8 @@ public final class SystemEventNames { "Microsoft.Communication.ChatThreadParticipantAdded"; public static final String COMMUNICATION_CHAT_PARTICIPANT_ADDED_TO_THREAD_WITH_USER = "Microsoft.Communication.ChatParticipantAddedToThreadWithUser"; + public static final String COMMUNICATION_USER_DISCONNECTED = + "Microsoft.Communication.UserDisconnected"; /** * Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NewKubernetesVersionAvailable @@ -547,6 +633,23 @@ public final class SystemEventNames { private static final Map> SYSTEM_EVENT_MAPPINGS = new HashMap>() { { + // API events. + put(API_MANAGEMENT_API_CREATED, ApiManagementApiCreatedEventData.class); + put(API_MANAGEMENT_API_DELETED, ApiManagementApiDeletedEventData.class); + put(API_MANAGEMENT_API_RELEASE_CREATED, ApiManagementApiReleaseCreatedEventData.class); + put(API_MANAGEMENT_API_RELEASE_DELETED, ApiManagementApiReleaseDeletedEventData.class); + put(API_MANAGEMENT_API_RELEASE_UPDATED, ApiManagementApiReleaseUpdatedEventData.class); + put(API_MANAGEMENT_API_UPDATED, ApiManagementApiUpdatedEventData.class); + put(API_MANAGEMENT_PRODUCT_CREATED, ApiManagementProductCreatedEventData.class); + put(API_MANAGEMENT_PRODUCT_DELETED, ApiManagementProductDeletedEventData.class); + put(API_MANAGEMENT_PRODUCT_UPDATED, ApiManagementProductUpdatedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_CREATED, ApiManagementSubscriptionCreatedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_DELETED, ApiManagementSubscriptionDeletedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_UPDATED, ApiManagementSubscriptionUpdatedEventData.class); + put(API_MANAGEMENT_USER_CREATED, ApiManagementUserCreatedEventData.class); + put(API_MANAGEMENT_USER_DELETED, ApiManagementUserDeletedEventData.class); + put(API_MANAGEMENT_USER_UPDATED, ApiManagementUserUpdatedEventData.class); + // AppConfiguration events. put(APP_CONFIGURATION_KEY_VALUE_DELETED, AppConfigurationKeyValueDeletedEventData.class); put(APP_CONFIGURATION_KEY_VALUE_MODIFIED, AppConfigurationKeyValueModifiedEventData.class); @@ -591,6 +694,7 @@ public final class SystemEventNames { put(MEDIA_JOB_PROCESSING, MediaJobProcessingEventData.class); put(MEDIA_JOB_SCHEDULED, MediaJobScheduledEventData.class); put(MEDIA_JOB_STATE_CHANGE, MediaJobStateChangeEventData.class); + put(MEDIA_LIVE_EVENT_CHANNEL_ARCHIVE_HEARTBEAT, MediaLiveEventChannelArchiveHeartbeatEventData.class); put(MEDIA_LIVE_EVENT_CONNECTION_REJECTED, MediaLiveEventConnectionRejectedEventData.class); put(MEDIA_LIVE_EVENT_ENCODER_CONNECTED, MediaLiveEventEncoderConnectedEventData.class); put(MEDIA_LIVE_EVENT_ENCODER_DISCONNECTED, MediaLiveEventEncoderDisconnectedEventData.class); @@ -654,6 +758,7 @@ public final class SystemEventNames { put(COMMUNICATION_CHAT_THREAD_DELETED, AcsChatThreadDeletedEventData.class); put(COMMUNICATION_CHAT_THREAD_PROPERTIES_UPDATED, AcsChatThreadPropertiesUpdatedEventData.class); put(COMMUNICATION_RECORDING_FILE_STATUS_UPDATED, AcsRecordingFileStatusUpdatedEventData.class); + put(COMMUNICATION_USER_DISCONNECTED, AcsUserDisconnectedEventData.class); // Web events put(WEB_APP_UPDATED, WebAppUpdatedEventData.class); diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/implementation/SystemEventMappingNames.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/implementation/SystemEventMappingNames.java index f5b434cc1d7c9..adb8d5d58769a 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/implementation/SystemEventMappingNames.java +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/implementation/SystemEventMappingNames.java @@ -24,6 +24,22 @@ import com.azure.messaging.eventgrid.systemevents.AcsRecordingFileStatusUpdatedEventData; import com.azure.messaging.eventgrid.systemevents.AcsSmsDeliveryReportReceivedEventData; import com.azure.messaging.eventgrid.systemevents.AcsSmsReceivedEventData; +import com.azure.messaging.eventgrid.systemevents.AcsUserDisconnectedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiReleaseUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementApiUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementProductUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementSubscriptionUpdatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserCreatedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserDeletedEventData; +import com.azure.messaging.eventgrid.systemevents.ApiManagementUserUpdatedEventData; import com.azure.messaging.eventgrid.systemevents.AppConfigurationKeyValueDeletedEventData; import com.azure.messaging.eventgrid.systemevents.AppConfigurationKeyValueModifiedEventData; import com.azure.messaging.eventgrid.systemevents.ContainerRegistryChartDeletedEventData; @@ -70,6 +86,7 @@ import com.azure.messaging.eventgrid.systemevents.MediaJobProcessingEventData; import com.azure.messaging.eventgrid.systemevents.MediaJobScheduledEventData; import com.azure.messaging.eventgrid.systemevents.MediaJobStateChangeEventData; +import com.azure.messaging.eventgrid.systemevents.MediaLiveEventChannelArchiveHeartbeatEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventConnectionRejectedEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventEncoderConnectedEventData; import com.azure.messaging.eventgrid.systemevents.MediaLiveEventEncoderDisconnectedEventData; @@ -233,6 +250,54 @@ public final class SystemEventMappingNames { /** Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSReceived event. */ public static final String ACS_SMS_RECEIVED = "Microsoft.Communication.SMSReceived"; + /** Schema of the Data property of an EventGridEvent for an Microsoft.Communication.UserDisconnected event. */ + public static final String ACS_USER_DISCONNECTED = "Microsoft.Communication.UserDisconnected"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiCreated event. */ + public static final String API_MANAGEMENT_API_CREATED = "Microsoft.ApiManagement.ApiCreated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiDeleted event. */ + public static final String API_MANAGEMENT_API_DELETED = "Microsoft.ApiManagement.ApiDeleted"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseCreated event. */ + public static final String API_MANAGEMENT_API_RELEASE_CREATED = "Microsoft.ApiManagement.ApiReleaseCreated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseDeleted event. */ + public static final String API_MANAGEMENT_API_RELEASE_DELETED = "Microsoft.ApiManagement.ApiReleaseDeleted"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseUpdated event. */ + public static final String API_MANAGEMENT_API_RELEASE_UPDATED = "Microsoft.ApiManagement.ApiReleaseUpdated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiUpdated event. */ + public static final String API_MANAGEMENT_API_UPDATED = "Microsoft.ApiManagement.ApiUpdated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductCreated event. */ + public static final String API_MANAGEMENT_PRODUCT_CREATED = "Microsoft.ApiManagement.ProductCreated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductDeleted event. */ + public static final String API_MANAGEMENT_PRODUCT_DELETED = "Microsoft.ApiManagement.ProductDeleted"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductUpdated event. */ + public static final String API_MANAGEMENT_PRODUCT_UPDATED = "Microsoft.ApiManagement.ProductUpdated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionCreated event. */ + public static final String API_MANAGEMENT_SUBSCRIPTION_CREATED = "Microsoft.ApiManagement.SubscriptionCreated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionDeleted event. */ + public static final String API_MANAGEMENT_SUBSCRIPTION_DELETED = "Microsoft.ApiManagement.SubscriptionDeleted"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionUpdated event. */ + public static final String API_MANAGEMENT_SUBSCRIPTION_UPDATED = "Microsoft.ApiManagement.SubscriptionUpdated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserCreated event. */ + public static final String API_MANAGEMENT_USER_CREATED = "Microsoft.ApiManagement.UserCreated"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserDeleted event. */ + public static final String API_MANAGEMENT_USER_DELETED = "Microsoft.ApiManagement.UserDeleted"; + + /** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserUpdated event. */ + public static final String API_MANAGEMENT_USER_UPDATED = "Microsoft.ApiManagement.UserUpdated"; + /** Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.KeyValueDeleted event. */ public static final String APP_CONFIGURATION_KEY_VALUE_DELETED = "Microsoft.AppConfiguration.KeyValueDeleted"; @@ -427,6 +492,13 @@ public final class SystemEventMappingNames { /** Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobStateChange event. */ public static final String MEDIA_JOB_STATE_CHANGE = "Microsoft.Media.JobStateChange"; + /** + * Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a + * Microsoft.Media.LiveEventChannelArchiveHeartbeat event. + */ + public static final String MEDIA_LIVE_EVENT_CHANNEL_ARCHIVE_HEARTBEAT = + "Microsoft.Media.LiveEventChannelArchiveHeartbeat"; + /** * Encoder connection rejected event data. Schema of the data property of an EventGridEvent for a * Microsoft.Media.LiveEventConnectionRejected event. @@ -467,14 +539,14 @@ public final class SystemEventMappingNames { "Microsoft.Media.LiveEventIncomingStreamsOutOfSync"; /** - * Incoming video stream out of synch event data. Schema of the data property of an EventGridEvent for a + * Incoming video stream out of sync event data. Schema of the data property of an EventGridEvent for a * Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync event. */ public static final String MEDIA_LIVE_EVENT_INCOMING_VIDEO_STREAMS_OUT_OF_SYNC = "Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync"; /** - * Ingest fragment dropped event data. Schema of the data property of an EventGridEvent for a + * Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a * Microsoft.Media.LiveEventIngestHeartbeat event. */ public static final String MEDIA_LIVE_EVENT_INGEST_HEARTBEAT = "Microsoft.Media.LiveEventIngestHeartbeat"; @@ -706,6 +778,22 @@ public final class SystemEventMappingNames { put(ACS_RECORDING_FILE_STATUS_UPDATED, AcsRecordingFileStatusUpdatedEventData.class); put(ACS_SMS_DELIVERY_REPORT_RECEIVED, AcsSmsDeliveryReportReceivedEventData.class); put(ACS_SMS_RECEIVED, AcsSmsReceivedEventData.class); + put(ACS_USER_DISCONNECTED, AcsUserDisconnectedEventData.class); + put(API_MANAGEMENT_API_CREATED, ApiManagementApiCreatedEventData.class); + put(API_MANAGEMENT_API_DELETED, ApiManagementApiDeletedEventData.class); + put(API_MANAGEMENT_API_RELEASE_CREATED, ApiManagementApiReleaseCreatedEventData.class); + put(API_MANAGEMENT_API_RELEASE_DELETED, ApiManagementApiReleaseDeletedEventData.class); + put(API_MANAGEMENT_API_RELEASE_UPDATED, ApiManagementApiReleaseUpdatedEventData.class); + put(API_MANAGEMENT_API_UPDATED, ApiManagementApiUpdatedEventData.class); + put(API_MANAGEMENT_PRODUCT_CREATED, ApiManagementProductCreatedEventData.class); + put(API_MANAGEMENT_PRODUCT_DELETED, ApiManagementProductDeletedEventData.class); + put(API_MANAGEMENT_PRODUCT_UPDATED, ApiManagementProductUpdatedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_CREATED, ApiManagementSubscriptionCreatedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_DELETED, ApiManagementSubscriptionDeletedEventData.class); + put(API_MANAGEMENT_SUBSCRIPTION_UPDATED, ApiManagementSubscriptionUpdatedEventData.class); + put(API_MANAGEMENT_USER_CREATED, ApiManagementUserCreatedEventData.class); + put(API_MANAGEMENT_USER_DELETED, ApiManagementUserDeletedEventData.class); + put(API_MANAGEMENT_USER_UPDATED, ApiManagementUserUpdatedEventData.class); put(APP_CONFIGURATION_KEY_VALUE_DELETED, AppConfigurationKeyValueDeletedEventData.class); put(APP_CONFIGURATION_KEY_VALUE_MODIFIED, AppConfigurationKeyValueModifiedEventData.class); put(CONTAINER_REGISTRY_CHART_DELETED, ContainerRegistryChartDeletedEventData.class); @@ -760,6 +848,9 @@ public final class SystemEventMappingNames { put(MEDIA_JOB_PROCESSING, MediaJobProcessingEventData.class); put(MEDIA_JOB_SCHEDULED, MediaJobScheduledEventData.class); put(MEDIA_JOB_STATE_CHANGE, MediaJobStateChangeEventData.class); + put( + MEDIA_LIVE_EVENT_CHANNEL_ARCHIVE_HEARTBEAT, + MediaLiveEventChannelArchiveHeartbeatEventData.class); put(MEDIA_LIVE_EVENT_CONNECTION_REJECTED, MediaLiveEventConnectionRejectedEventData.class); put(MEDIA_LIVE_EVENT_ENCODER_CONNECTED, MediaLiveEventEncoderConnectedEventData.class); put(MEDIA_LIVE_EVENT_ENCODER_DISCONNECTED, MediaLiveEventEncoderDisconnectedEventData.class); diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsUserDisconnectedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsUserDisconnectedEventData.java new file mode 100644 index 0000000000000..d1e951299325e --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsUserDisconnectedEventData.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for an Microsoft.Communication.UserDisconnected event. */ +@Immutable +public final class AcsUserDisconnectedEventData { + /* + * The communication identifier of the user who was disconnected + */ + @JsonProperty(value = "userCommunicationIdentifier") + private CommunicationIdentifierModel userCommunicationIdentifier; + + /** + * Get the userCommunicationIdentifier property: The communication identifier of the user who was disconnected. + * + * @return the userCommunicationIdentifier value. + */ + public CommunicationIdentifierModel getUserCommunicationIdentifier() { + return this.userCommunicationIdentifier; + } + + /** + * Set the userCommunicationIdentifier property: The communication identifier of the user who was disconnected. + * + * @param userCommunicationIdentifier the userCommunicationIdentifier value to set. + * @return the AcsUserDisconnectedEventData object itself. + */ + public AcsUserDisconnectedEventData setUserCommunicationIdentifier( + CommunicationIdentifierModel userCommunicationIdentifier) { + this.userCommunicationIdentifier = userCommunicationIdentifier; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiCreatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiCreatedEventData.java new file mode 100644 index 0000000000000..748a90d3b6a39 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiCreatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiCreated event. */ +@Immutable +public final class ApiManagementApiCreatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiCreatedEventData object itself. + */ + public ApiManagementApiCreatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiDeletedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiDeletedEventData.java new file mode 100644 index 0000000000000..8715a40fb5a79 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiDeletedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiDeleted event. */ +@Immutable +public final class ApiManagementApiDeletedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiDeletedEventData object itself. + */ + public ApiManagementApiDeletedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseCreatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseCreatedEventData.java new file mode 100644 index 0000000000000..58773f274d996 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseCreatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseCreated event. */ +@Immutable +public final class ApiManagementApiReleaseCreatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiReleaseCreatedEventData object itself. + */ + public ApiManagementApiReleaseCreatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseDeletedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseDeletedEventData.java new file mode 100644 index 0000000000000..5f9ce47990ab7 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseDeletedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseDeleted event. */ +@Immutable +public final class ApiManagementApiReleaseDeletedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiReleaseDeletedEventData object itself. + */ + public ApiManagementApiReleaseDeletedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseUpdatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseUpdatedEventData.java new file mode 100644 index 0000000000000..0b5b749fb0373 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiReleaseUpdatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiReleaseUpdated event. */ +@Immutable +public final class ApiManagementApiReleaseUpdatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiReleaseUpdatedEventData object itself. + */ + public ApiManagementApiReleaseUpdatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiUpdatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiUpdatedEventData.java new file mode 100644 index 0000000000000..c8900a8ee06f6 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementApiUpdatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ApiUpdated event. */ +@Immutable +public final class ApiManagementApiUpdatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementApiUpdatedEventData object itself. + */ + public ApiManagementApiUpdatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductCreatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductCreatedEventData.java new file mode 100644 index 0000000000000..c0892017a8c8e --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductCreatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductCreated event. */ +@Immutable +public final class ApiManagementProductCreatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementProductCreatedEventData object itself. + */ + public ApiManagementProductCreatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductDeletedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductDeletedEventData.java new file mode 100644 index 0000000000000..aa847f0cd739f --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductDeletedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductDeleted event. */ +@Immutable +public final class ApiManagementProductDeletedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementProductDeletedEventData object itself. + */ + public ApiManagementProductDeletedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductUpdatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductUpdatedEventData.java new file mode 100644 index 0000000000000..b1598b3cd9095 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementProductUpdatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.ProductUpdated event. */ +@Immutable +public final class ApiManagementProductUpdatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementProductUpdatedEventData object itself. + */ + public ApiManagementProductUpdatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionCreatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionCreatedEventData.java new file mode 100644 index 0000000000000..3dea7c830b866 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionCreatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionCreated event. */ +@Immutable +public final class ApiManagementSubscriptionCreatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementSubscriptionCreatedEventData object itself. + */ + public ApiManagementSubscriptionCreatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionDeletedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionDeletedEventData.java new file mode 100644 index 0000000000000..8b63c639d8ec0 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionDeletedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionDeleted event. */ +@Immutable +public final class ApiManagementSubscriptionDeletedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementSubscriptionDeletedEventData object itself. + */ + public ApiManagementSubscriptionDeletedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionUpdatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionUpdatedEventData.java new file mode 100644 index 0000000000000..18c784b76eecd --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementSubscriptionUpdatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.SubscriptionUpdated event. */ +@Immutable +public final class ApiManagementSubscriptionUpdatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementSubscriptionUpdatedEventData object itself. + */ + public ApiManagementSubscriptionUpdatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserCreatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserCreatedEventData.java new file mode 100644 index 0000000000000..d56758d404171 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserCreatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserCreated event. */ +@Immutable +public final class ApiManagementUserCreatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementUserCreatedEventData object itself. + */ + public ApiManagementUserCreatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserDeletedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserDeletedEventData.java new file mode 100644 index 0000000000000..50868104491e6 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserDeletedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserDeleted event. */ +@Immutable +public final class ApiManagementUserDeletedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementUserDeletedEventData object itself. + */ + public ApiManagementUserDeletedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserUpdatedEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserUpdatedEventData.java new file mode 100644 index 0000000000000..8c060976f8393 --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/ApiManagementUserUpdatedEventData.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.UserUpdated event. */ +@Immutable +public final class ApiManagementUserUpdatedEventData { + /* + * The fully qualified ID of the resource that the compliance state change + * is for, including the resource name and resource type. Uses the format, + * `/subscriptions//resourceGroups//Microsoft.ApiManagement/service///` + */ + @JsonProperty(value = "resourceUri") + private String resourceUri; + + /** + * Get the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @return the resourceUri value. + */ + public String getResourceUri() { + return this.resourceUri; + } + + /** + * Set the resourceUri property: The fully qualified ID of the resource that the compliance state change is for, + * including the resource name and resource type. Uses the format, + * `/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/Microsoft.ApiManagement/service/<ServiceName>/<ResourceType>/<ResourceName>`. + * + * @param resourceUri the resourceUri value to set. + * @return the ApiManagementUserUpdatedEventData object itself. + */ + public ApiManagementUserUpdatedEventData setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + return this; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventChannelArchiveHeartbeatEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventChannelArchiveHeartbeatEventData.java new file mode 100644 index 0000000000000..9fbc66541c6be --- /dev/null +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventChannelArchiveHeartbeatEventData.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.messaging.eventgrid.systemevents; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a + * Microsoft.Media.LiveEventChannelArchiveHeartbeat event. + */ +@Immutable +public final class MediaLiveEventChannelArchiveHeartbeatEventData { + /* + * Gets the channel latency in ms. + */ + @JsonProperty(value = "channelLatencyMs", required = true, access = JsonProperty.Access.WRITE_ONLY) + private String channelLatencyMs; + + /* + * Gets the latency result code. + */ + @JsonProperty(value = "latencyResultCode", required = true, access = JsonProperty.Access.WRITE_ONLY) + private String latencyResultCode; + + /** + * Get the channelLatencyMs property: Gets the channel latency in ms. + * + * @return the channelLatencyMs value. + */ + public String getChannelLatencyMs() { + return this.channelLatencyMs; + } + + /** + * Get the latencyResultCode property: Gets the latency result code. + * + * @return the latencyResultCode value. + */ + public String getLatencyResultCode() { + return this.latencyResultCode; + } +} diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIncomingVideoStreamsOutOfSyncEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIncomingVideoStreamsOutOfSyncEventData.java index 61dda3af9486a..66b70cb495da3 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIncomingVideoStreamsOutOfSyncEventData.java +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIncomingVideoStreamsOutOfSyncEventData.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Incoming video stream out of synch event data. Schema of the data property of an EventGridEvent for a + * Incoming video stream out of sync event data. Schema of the data property of an EventGridEvent for a * Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync event. */ @Immutable diff --git a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIngestHeartbeatEventData.java b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIngestHeartbeatEventData.java index fdfd92ff10942..f76c7ed3873d9 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIngestHeartbeatEventData.java +++ b/sdk/eventgrid/azure-messaging-eventgrid/src/main/java/com/azure/messaging/eventgrid/systemevents/MediaLiveEventIngestHeartbeatEventData.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Ingest fragment dropped event data. Schema of the data property of an EventGridEvent for a + * Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a * Microsoft.Media.LiveEventIngestHeartbeat event. */ @Immutable @@ -25,6 +25,18 @@ public final class MediaLiveEventIngestHeartbeatEventData { @JsonProperty(value = "trackName", access = JsonProperty.Access.WRITE_ONLY) private String trackName; + /* + * Gets the Live Transcription language. + */ + @JsonProperty(value = "transcriptionLanguage", access = JsonProperty.Access.WRITE_ONLY) + private String transcriptionLanguage; + + /* + * Gets the Live Transcription state. + */ + @JsonProperty(value = "transcriptionState", access = JsonProperty.Access.WRITE_ONLY) + private String transcriptionState; + /* * Gets the bitrate of the track. */ @@ -37,6 +49,18 @@ public final class MediaLiveEventIngestHeartbeatEventData { @JsonProperty(value = "incomingBitrate", access = JsonProperty.Access.WRITE_ONLY) private Long incomingBitrate; + /* + * Gets the track ingest drift value. + */ + @JsonProperty(value = "ingestDriftValue", access = JsonProperty.Access.WRITE_ONLY) + private String ingestDriftValue; + + /* + * Gets the arrival UTC time of the last fragment. + */ + @JsonProperty(value = "lastFragmentArrivalTime", access = JsonProperty.Access.WRITE_ONLY) + private String lastFragmentArrivalTime; + /* * Gets the last timestamp. */ @@ -103,6 +127,24 @@ public String getTrackName() { return this.trackName; } + /** + * Get the transcriptionLanguage property: Gets the Live Transcription language. + * + * @return the transcriptionLanguage value. + */ + public String getTranscriptionLanguage() { + return this.transcriptionLanguage; + } + + /** + * Get the transcriptionState property: Gets the Live Transcription state. + * + * @return the transcriptionState value. + */ + public String getTranscriptionState() { + return this.transcriptionState; + } + /** * Get the bitrate property: Gets the bitrate of the track. * @@ -121,6 +163,24 @@ public Long getIncomingBitrate() { return this.incomingBitrate; } + /** + * Get the ingestDriftValue property: Gets the track ingest drift value. + * + * @return the ingestDriftValue value. + */ + public String getIngestDriftValue() { + return this.ingestDriftValue; + } + + /** + * Get the lastFragmentArrivalTime property: Gets the arrival UTC time of the last fragment. + * + * @return the lastFragmentArrivalTime value. + */ + public String getLastFragmentArrivalTime() { + return this.lastFragmentArrivalTime; + } + /** * Get the lastTimestamp property: Gets the last timestamp. * diff --git a/sdk/eventgrid/azure-messaging-eventgrid/swagger/README.md b/sdk/eventgrid/azure-messaging-eventgrid/swagger/README.md index c702976e9a06e..89aabb922e36d 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid/swagger/README.md +++ b/sdk/eventgrid/azure-messaging-eventgrid/swagger/README.md @@ -74,24 +74,25 @@ custom-types: CloudEvent,EventGridEvent model-override-setter-from-superclass: true input-file: -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/SignalRService.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json -- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/504bc4ece6c4a1ad983f148237c71a3f72fc977f/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/SignalRService.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json +- https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cd92e4a9c00d6cac0acfe7996796fdc49c36ffad/specification/eventgrid/data-plane/Microsoft.ApiManagement/stable/2018-01-01/APIManagement.json ``` diff --git a/sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml b/sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml index 9f2e3e2175d8c..acc632fd2d15d 100644 --- a/sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml +++ b/sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml @@ -44,19 +44,19 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/eventgrid/microsoft-azure-eventgrid/pom.xml b/sdk/eventgrid/microsoft-azure-eventgrid/pom.xml index f6b669c29faf2..6917a97a52617 100644 --- a/sdk/eventgrid/microsoft-azure-eventgrid/pom.xml +++ b/sdk/eventgrid/microsoft-azure-eventgrid/pom.xml @@ -114,7 +114,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CHANGELOG.md b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CHANGELOG.md index 3b672923cfa2b..1be659e9473d2 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CHANGELOG.md +++ b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/CHANGELOG.md @@ -114,7 +114,7 @@ - Updated version of `azure-messaging-eventhubs` to `5.1.0-beta.1` that supports receiving events in batches. ## 1.0.3 (2020-04-08) -- Fix bug where processor would hang after a reconnect due to being unable to load balance partitions. +- Fix bug where processor would not respond after a reconnect due to being unable to load balance partitions. ## 1.0.2 (2020-02-12) - Dependency fixed so `EventProcessor` consumers can use blocking method calls in their code. diff --git a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/pom.xml b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/pom.xml index 500fccb296af6..5e52a20fd15ba 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/pom.xml +++ b/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/pom.xml @@ -85,7 +85,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml b/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml index a567a0db05996..8fc63c6ffe8b0 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml +++ b/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml @@ -28,7 +28,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.microsoft.azure @@ -78,7 +78,7 @@ com.microsoft.azure:azure-eventhubs-eph:[3.3.0] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5]
diff --git a/sdk/eventhubs/azure-messaging-eventhubs/pom.xml b/sdk/eventhubs/azure-messaging-eventhubs/pom.xml index c6f449f9864b8..c9e3954682d41 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs/pom.xml +++ b/sdk/eventhubs/azure-messaging-eventhubs/pom.xml @@ -37,7 +37,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -55,7 +55,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -80,7 +80,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/eventhubs/azure-messaging-eventhubs/src/main/java/com/azure/messaging/eventhubs/EventHubConsumerAsyncClient.java b/sdk/eventhubs/azure-messaging-eventhubs/src/main/java/com/azure/messaging/eventhubs/EventHubConsumerAsyncClient.java index 70d60783126e6..a48d6518acba1 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs/src/main/java/com/azure/messaging/eventhubs/EventHubConsumerAsyncClient.java +++ b/sdk/eventhubs/azure-messaging-eventhubs/src/main/java/com/azure/messaging/eventhubs/EventHubConsumerAsyncClient.java @@ -5,6 +5,7 @@ import com.azure.core.amqp.implementation.AmqpReceiveLink; import com.azure.core.amqp.implementation.MessageSerializer; +import com.azure.core.amqp.implementation.RetryUtil; import com.azure.core.amqp.implementation.StringUtil; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; @@ -352,15 +353,37 @@ private EventHubPartitionAsyncConsumer createPartitionConsumer(String linkName, getEventHubName(), consumerGroup, partitionId); final AtomicReference> initialPosition = new AtomicReference<>(() -> startingPosition); - final Flux receiveLinkMono = connectionProcessor + + // The Mono, when subscribed, creates a AmqpReceiveLink in the AmqpConnection emitted by the connectionProcessor + // + final Mono receiveLinkMono = connectionProcessor .flatMap(connection -> { logger.info("connectionId[{}] linkName[{}] Creating receive consumer for partition '{}'", connection.getId(), linkName, partitionId); return connection.createReceiveLink(linkName, entityPath, initialPosition.get().get(), receiveOptions); - }) - .repeat(); - - final AmqpReceiveLinkProcessor linkMessageProcessor = receiveLinkMono.subscribeWith( + }); + + // A Mono that resubscribes to 'receiveLinkMono' to retry the creation of AmqpReceiveLink. + // + // The scenarios where this retry helps are - + // [1]. When we try to create a link on a session being disposed but connection is healthy, the retry can + // eventually create a new session then the link. + // [2]. When we try to create a new session (to host the new link) but on a connection being disposed, + // the retry can eventually receives a new connection and then proceed with creating session and link. + // + final Mono retriableReceiveLinkMono = RetryUtil.withRetry(receiveLinkMono, + connectionProcessor.getRetryOptions(), + "Failed to create receive link " + linkName, + true); + + // A Flux that produces a new AmqpReceiveLink each time it receives a request from the below + // 'AmqpReceiveLinkProcessor'. Obviously, the processor requests a link when there is a downstream subscriber. + // It also requests a new link (i.e. retry) when the current link it holds gets terminated + // (e.g., when the service decides to close that link). + // + final Flux receiveLinkFlux = retriableReceiveLinkMono.repeat(); + + final AmqpReceiveLinkProcessor linkMessageProcessor = receiveLinkFlux.subscribeWith( new AmqpReceiveLinkProcessor(entityPath, prefetchCount, connectionProcessor)); return new EventHubPartitionAsyncConsumer(linkMessageProcessor, messageSerializer, getFullyQualifiedNamespace(), diff --git a/sdk/eventhubs/microsoft-azure-eventhubs-eph/pom.xml b/sdk/eventhubs/microsoft-azure-eventhubs-eph/pom.xml index cd438db060c16..7e7efa7fb15fb 100644 --- a/sdk/eventhubs/microsoft-azure-eventhubs-eph/pom.xml +++ b/sdk/eventhubs/microsoft-azure-eventhubs-eph/pom.xml @@ -46,7 +46,7 @@ com.google.code.gson gson - 2.8.7 + 2.8.8 diff --git a/sdk/extendedlocation/azure-resourcemanager-extendedlocation/pom.xml b/sdk/extendedlocation/azure-resourcemanager-extendedlocation/pom.xml index 2b985cd5405da..72ff6e89203c0 100644 --- a/sdk/extendedlocation/azure-resourcemanager-extendedlocation/pom.xml +++ b/sdk/extendedlocation/azure-resourcemanager-extendedlocation/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml b/sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml index cfb93b03433ee..29fa2a7aa4389 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml +++ b/sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml @@ -32,7 +32,7 @@ com.azure azure-ai-formrecognizer - 3.2.0-beta.1 + 4.0.0-beta.1 diff --git a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/App.java b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/App.java index 2bf865747cb3c..1f7e1ad008d91 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/App.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/App.java @@ -19,7 +19,7 @@ * Configurations} section. Then run the App's main method. */ public class App { - + /** * Main method to invoke performance tests * @@ -27,6 +27,6 @@ public class App { */ public static void main(String[] args) { PerfStressProgram.run( - new Class[]{CustomModelRecognitionTest.class}, args); + new Class[]{DocumentModelAnalysisTest.class}, args); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/CustomModelRecognitionTest.java b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/DocumentModelAnalysisTest.java similarity index 59% rename from sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/CustomModelRecognitionTest.java rename to sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/DocumentModelAnalysisTest.java index 8589c37bc3e0a..a88ff1556cf5f 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/CustomModelRecognitionTest.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/DocumentModelAnalysisTest.java @@ -3,47 +3,44 @@ package com.azure.ai.formrecognizer.perf; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; import com.azure.ai.formrecognizer.perf.core.ServiceTest; import com.azure.perf.test.core.PerfStressOptions; import reactor.core.publisher.Mono; -import java.util.List; - /** - * Performs custom model recognition operations. + * Performs document analysis using a prebuilt model operation. */ -public class CustomModelRecognitionTest extends ServiceTest { +public class DocumentModelAnalysisTest extends ServiceTest { private static final String URL_TEST_FILE_FORMAT = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/" + "master/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/sample_files/Test/"; - private static final String FORM_JPG = "Form_1.jpg"; + private static final String RECEIPT_CONTOSO_PNG = "contoso-receipt.png"; /** - * The CustomModelRecognitionTest class. + * The DocumentModelAnalysisTest class. * * @param options the configurable options for perf testing this class */ - public CustomModelRecognitionTest(PerfStressOptions options) { + public DocumentModelAnalysisTest(PerfStressOptions options) { super(options); } @Override public void run() { - List recognizedForms = - formrecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, URL_TEST_FILE_FORMAT + FORM_JPG) + AnalyzeResult analyzedResult = + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", + URL_TEST_FILE_FORMAT + RECEIPT_CONTOSO_PNG) .getFinalResult(); - recognizedForms.stream() - .forEach(recognizedForm -> { - assert recognizedForm.getFields() != null; - }); - + assert analyzedResult.getPages() != null; + assert analyzedResult.getModelId() == "prebuilt-receipt"; } @Override public Mono runAsync() { - return formrecognizerAsyncClient - .beginRecognizeCustomFormsFromUrl(modelId, URL_TEST_FILE_FORMAT + FORM_JPG) + return documentAnalysisAsyncClient + .beginAnalyzeDocumentFromUrl("prebuilt-receipt", + URL_TEST_FILE_FORMAT + RECEIPT_CONTOSO_PNG) .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { diff --git a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/core/ServiceTest.java b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/core/ServiceTest.java index b80e7265c7547..cf319752a6416 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/core/ServiceTest.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer-perf/src/main/java/com/azure/ai/formrecognizer/perf/core/ServiceTest.java @@ -3,14 +3,14 @@ package com.azure.ai.formrecognizer.perf.core; -import com.azure.ai.formrecognizer.FormRecognizerAsyncClient; -import com.azure.ai.formrecognizer.FormRecognizerClient; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; +import com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient; +import com.azure.ai.formrecognizer.DocumentAnalysisClient; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClientBuilder; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.Configuration; import com.azure.core.util.CoreUtils; @@ -26,10 +26,10 @@ public abstract class ServiceTest extends Pe private static final String CONFIGURATION_ERROR = "Configuration %s must be set in either environment variables " + "or system properties.%n"; - protected final FormRecognizerClient formrecognizerClient; - protected final FormRecognizerAsyncClient formrecognizerAsyncClient; - protected final FormTrainingClient formTrainingClient; - private final FormTrainingAsyncClient formTrainingAsyncClient; + protected final DocumentAnalysisClient documentAnalysisClient; + protected final DocumentAnalysisAsyncClient documentAnalysisAsyncClient; + protected final DocumentModelAdministrationClient documentModelAdministrationClient; + private final DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient; protected String modelId; @@ -37,7 +37,7 @@ public abstract class ServiceTest extends Pe * The base class for Azure Formrecognizer tests. * * @param options the configurable options for performing perf testing on this class. - * + * * @throws RuntimeException if "AZURE_FORMRECOGNIZER_API_KEY" or "AZURE_FORMRECOGNIZER_ENDPOINT" is null or empty. */ public ServiceTest(TOptions options) { @@ -53,14 +53,14 @@ public ServiceTest(TOptions options) { throw new RuntimeException(String.format(CONFIGURATION_ERROR, "AZURE_FORMRECOGNIZER_API_KEY")); } - FormTrainingClientBuilder builder = new FormTrainingClientBuilder() + DocumentModelAdministrationClientBuilder builder = new DocumentModelAdministrationClientBuilder() .endpoint(formrecognizerEndpoint) .credential(new AzureKeyCredential(formrecognizerApiKey)); - this.formTrainingClient = builder.buildClient(); - this.formrecognizerAsyncClient = builder.buildAsyncClient().getFormRecognizerAsyncClient(); - this.formrecognizerClient = formTrainingClient.getFormRecognizerClient(); - this.formTrainingAsyncClient = builder.buildAsyncClient(); + this.documentModelAdministrationClient = builder.buildClient(); + this.documentAnalysisAsyncClient = builder.buildAsyncClient().getDocumentAnalysisAsyncClient(); + this.documentAnalysisClient = documentModelAdministrationClient.getDocumentAnalysisClient(); + this.documentModelAdministrationAsyncClient = builder.buildAsyncClient(); } /** @@ -76,11 +76,11 @@ public Mono globalSetupAsync() { return Mono.error(new RuntimeException( String.format(CONFIGURATION_ERROR, "FORMRECOGNIZER_TRAINING_CONTAINER_SAS_URL"))); } - SyncPoller - syncPoller = formTrainingAsyncClient - .beginTraining(trainingDocumentsUrl, - true, - new TrainingOptions().setModelName("labeled-perf-model")) + SyncPoller + syncPoller = documentModelAdministrationAsyncClient + .beginBuildModel(trainingDocumentsUrl, + null, + new BuildModelOptions().setDescription("perf-model")) .getSyncPoller(); modelId = syncPoller.getFinalResult().getModelId(); return Mono.empty(); @@ -92,6 +92,6 @@ public Mono globalSetupAsync() { */ @Override public Mono globalCleanupAsync() { - return Mono.defer(() -> formTrainingAsyncClient.deleteModel(modelId)); + return Mono.defer(() -> documentModelAdministrationAsyncClient.deleteModel(modelId)); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index 3ba2034919eae..df8c58278637d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -1,8 +1,19 @@ # Release History -## 3.2.0-beta.1 (Unreleased) +## 4.0.0-beta.1 (Unreleased) ### Features Added +- Added new DocumentAnalysisClient with beginAnalyzeDocument and beginAnalyzeDocumentFromUrl methods. +Use these methods with the latest Form Recognizer API version to analyze documents, with prebuilt and custom models. +- Added new models to use with the new DocumentAnalysisClient: AnalyzeResult, AnalyzedDocument, BoundingRegion, DocumentElement, +DocumentEntity, DocumentField, DocumentKeyValuePair, DocumentKeyValueElement, DocumentLine, DocumentPage, DocumentSelectionMark, +DocumentSpan, DocumentStyle, DocumentTable, DocumentTableCell, DocumentWord, DocumentOperationResult. +- Added a new model `DocumentAnalysisServiceVersion` that supports Azure Form Recognizer service version "2021-09-30-preview" and onwards. +- Added new DocumentModelAdministrationClient with methods: beginBuildModel, beginCreateComposedModel, getCopyAuthorization, +deleteModel, getAccountProperties, beginCopyModel, listModels, getModel, getOperation, listOperations. +- Added new models to use with the new DocumentTrainingClient: DocumentModel, DocTypeInfo, DocumentFieldSchema, +AccountProperties, CopyAuthorization, BuildModelOptions, CopyAuthorizationOptions, CreateComposedModelOptions, +DocumentModelInfo, ModelOperation, ModelOperationInfo, ModelOperationStatus, ModelOperationKind. ### Breaking Changes @@ -177,7 +188,7 @@ respectively ## 1.0.0-beta.4 (2020-07-07) ### Breaking Changes - `beginRecognizeReceipt` APIs now return a `RecognizedForm` model instead of a `RecognizedReceipt`. See -[this](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java) +[this](https://github.com/Azure/azure-sdk-for-java/blob/azure-ai-formrecognizer_1.0.0-beta.4/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java) suggested approach for extracting information from receipts. - Methods returning `textContent` have been renamed to `fieldElements` on `FieldData` and `FormTableCell` - Renamed `FormContent` to `FormElement` diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/README.md index 27664b62988e9..a7e4b4cd8114e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/README.md @@ -1,13 +1,11 @@ # Azure Form Recognizer client library for Java -Azure Cognitive Services Form Recognizer is a cloud service that uses machine learning to recognize text and table data -from form documents. It includes the following main functionalities: +Azure Cognitive Services Form Recognizer is a cloud service that uses machine learning to analyze text and structured data from your documents. +It includes the following main features: -* Custom models - Recognize field values and table data from forms. These models are trained with your own data, so they're tailored to your forms. You can then take these custom models and recognize forms. You can also manage the custom models you've created and see how close you are to the limit of custom models your account can hold. -* Content API - Recognize text and table structures, along with their bounding box coordinates, from documents. Corresponds to the REST service's Layout API. -* Prebuilt receipt model - Recognize data from sales receipts using a prebuilt model. -* Prebuilt invoice model - Recognize data from USA sales invoices using a prebuilt model. -* Prebuilt business card model - Recognize data from business cards using a prebuilt model. -* Prebuilt identity document model - Recognize data from identity documents using a prebuilt model. +* Layout - Extract text, table structures, and selection marks, along with their bounding region coordinates, from documents. +* Document - Analyze entities, key-value pairs, tables, and selection marks from documents using the general prebuilt document model. +* Prebuilt - Analyze data from certain types of common documents (such as receipts, invoices, business cards, or identity documents) using prebuilt models. +* Custom - Build custom models to extract text, field values, selection marks, and table data from documents. Custom models are built with your own data, so they're tailored to your documents. [Source code][source_code] | [Package (Maven)][package] | [API reference documentation][api_reference_doc] | [Product Documentation][product_documentation] | [Samples][sample_readme] @@ -58,18 +56,30 @@ add the direct dependency to your project as follows. com.azure azure-ai-formrecognizer - 3.1.4 + 4.0.0-beta.1 ``` [//]: # ({x-version-update-end}) -> Note: This version of the client library defaults to the `v2.1` version of the service. +> Note: This version of the client library defaults to the `"2021-09-30-preview"` version of the service. This table shows the relationship between SDK versions and supported API versions of the service: |SDK version|Supported API version of service |-|- |3.0.x | 2.0 -|3.1.X - Latest GA release| 2.0, 2.1 (default) +|3.1.X - 3.1.3| 2.0, 2.1 (default) +|4.0.0-beta.1 - Latest beta release| 2021-09-30-preview (default) + +> Note: Starting with version 2021-09-30-preview, a new set of clients were introduced to leverage the newest features +> of the Form Recognizer service. Please see the Migration Guide for detailed instructions on how to update application +> code from client library version 3.1.X or lower to the latest version. Additionally, see the [Changelog][changelog] for more detailed information. +> The below table describes the relationship of each client and its supported API version(s): + +|API version|Supported clients +|-|- +|2021-09-30-preview | DocumentAnalysisClient and DocumentModelAdministrationClient +|2.1 | FormRecognizerClient and FormTrainingClient +|2.0 | FormRecognizerClient and FormTrainingClient #### Create a Form Recognizer resource Form Recognizer supports both [multi-service and single-service access][service_access]. Create a Cognitive Service's @@ -101,8 +111,8 @@ az cognitiveservices account create \ --yes ``` ### Authenticate the client -In order to interact with the Form Recognizer service, you will need to create an instance of the Form Recognizer client. -Both the asynchronous and synchronous clients can be created by using `FormRecognizerClientBuilder`. Invoking `buildClient()` +In order to interact with the Form Recognizer service, you will need to create an instance of the Document Analysis client. +Both the asynchronous and synchronous clients can be created by using `DocumentAnalysisClientBuilder`. Invoking `buildClient()` will create the synchronous client, while invoking `buildAsyncClient` will create its asynchronous counterpart. You will need an **endpoint**, and a **key** to instantiate a client object. @@ -115,7 +125,7 @@ or [Azure CLI][azure_cli_endpoint]. az cognitiveservices account show --name "resource-name" --resource-group "resource-group-name" --query "endpoint" ``` -#### Create a Form Recognizer client using AzureKeyCredential +#### Create a Document Analysis client using AzureKeyCredential To use `AzureKeyCredential` authentication, provide the [key][key] as a string to the [AzureKeyCredential][azure_key_credential]. This key can be found in the [Azure Portal][azure_portal] in your created Form Recognizer resource, or by running the following Azure CLI command to get the key from the Form Recognizer resource: @@ -124,35 +134,22 @@ resource, or by running the following Azure CLI command to get the key from the az cognitiveservices account keys list --resource-group --name ``` Use the API key as the credential parameter to authenticate the client: - + ```java -FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() +DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); ``` - + ```java -FormTrainingClient formTrainingClient = new FormTrainingClientBuilder() +DocumentModelAdministrationClient documentModelAdminClient = new DocumentModelAdministrationClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); ``` -The Azure Form Recognizer client library provides a way to **rotate the existing key**. - - -```java -AzureKeyCredential credential = new AzureKeyCredential("{key}"); -FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() - .credential(credential) - .endpoint("{endpoint}") - .buildClient(); - -credential.update("{new_key}"); -``` - -#### Create a Form Recognizer client with Azure Active Directory credential +#### Create a Document Analysis client with Azure Active Directory credential Azure SDK for Java supports an Azure Identity package, making it easy to get credentials from Microsoft identity platform. @@ -180,55 +177,56 @@ Authorization is easiest using [DefaultAzureCredential][wiki_identity]. It finds running environment. For more information about using Azure Active Directory authorization with Form Recognizer, please refer to [the associated documentation][aad_authorization]. - + ```java TokenCredential credential = new DefaultAzureCredentialBuilder().build(); -FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() +DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .endpoint("{endpoint}") .credential(credential) .buildClient(); ``` ## Key concepts -### FormRecognizerClient -The [FormRecognizerClient][form_recognizer_sync_client] and [FormRecognizerAsyncClient][form_recognizer_async_client] -provide both synchronous and asynchronous operations - - Recognizing form fields and content using custom models trained to recognize your custom forms. - These values are returned in a collection of `RecognizedForm` objects. See example [Recognize Custom Forms](#recognize-forms-using-a-custom-model). - - Recognizing form content, including tables, lines and words, without the need to train a model. - Form content is returned in a collection of `FormPage` objects. See example [Recognize Content](#recognize-content). -- Recognizing common fields from the following form types using prebuilt models. These fields and meta-data are returned - in a collection of `RecognizedForm` objects. - Supported prebuilt models: - - Receipts - - Business cards - - Invoices - - Identity Documents - - See example [Prebuilt Models](#use-prebuilt-models). - -### FormTrainingClient -The [FormTrainingClient][form_training_sync_client] and -[FormTrainingAsyncClient][form_training_async_client] provide both synchronous and asynchronous operations -- Training custom models to recognize all fields and values found in your custom forms. See example [Train a model](#train-a-model). - A `CustomFormModel` is returned indicating the form types the model will recognize, and the fields it will extract for - each form type. See the [service's documents][fr_train_without_labels] for a more detailed explanation. -- Training custom models to recognize specific fields and values you specify by labeling your custom forms. -A `CustomFormModel` is returned indicating the fields the model will extract, as well as the estimated accuracy for -each field. See the [service's documents][fr_train_with_labels] for a more detailed explanation. -- Managing models created in your account. See example [Manage models](#manage-your-models). +### DocumentAnalysisClient +The [DocumentAnalysisClient][document_analysis_sync_client] and [DocumentAnalysisAsyncClient][document_analysis_async_client] +provide both synchronous and asynchronous operations for analyzing input documents using custom and prebuilt models +through the `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl` methods. +Use the `modelId` parameter to select the type of model for analysis. + +|Model| Features +|-|- +|"prebuilt-layout"| Text extraction, selection marks, tables +|"prebuilt-document"| Text extraction, selection marks, tables, key-value pairs and entities +|"prebuilt-invoices"| Text extraction, selection marks, tables, and prebuilt fields and values pertaining to English invoices +|"prebuilt-businessCard"| Text extraction and prebuilt fields and values pertaining to English business cards +|"prebuilt-idDocument"| Text extraction and prebuilt fields and values pertaining to US driver licenses and international passports +|"prebuilt-receipt"| Text extraction and prebuilt fields and values pertaining to English sales receipts +|"{custom-model-id}"| Text extraction, selection marks, tables, labeled fields and values from your custom documents + +Sample code snippets to illustrate using a DocumentAnalysisClient [here][sample_readme]. + +### DocumentModelAdministrationClient +The [DocumentModelAdministrationClient][document_model_admin_sync_client] and +[DocumentModelAdministrationAsyncClient][document_model_admin_sync_client] provide both synchronous and asynchronous operations +- Build custom document analysis models to analyze text content, fields and values found in your custom documents. See example [Build a model](#build-a-model). + A `DocumentModel` is returned indicating the document types that the model can analyze, and the fields and schemas it will extract in + each doc type. +- Managing models created in your account by building, listing, deleting, and see how close you are to the limit of + custom models your account can hold. See example [Manage models](#manage-your-models). - Copying a custom model from one Form Recognizer resource to another. -- Creating a composed model from a collection of existing trained models with labels. +- Creating a composed model from a collection of existing built models. +- Listing document model operations associated with the Form Recognizer resource. Please note that models can also be trained using a graphical user interface such as the [Form Recognizer Labeling Tool][fr_labeling_tool]. +Sample code snippets are provided to illustrate using a DocumentModelAdministrationClient [here](#examples "Examples"). -### Long-Running Operations +### Long-running operations Long-running operations are operations which consist of an initial request sent to the service to start an operation, followed by polling the service at intervals to determine whether the operation has completed or failed, and if it has succeeded, to get the result. -Methods that train models or recognize values from forms are modeled as long-running operations. The client exposes -a `begin` method that returns a `SyncPoller` or `PollerFlux` instance. +Methods that build models, analyze values from documents or copy and compose models are modeled as long-running operations. +The client exposes a `begin` method that returns a `SyncPoller` or `PollerFlux` instance. Callers should wait for the operation to completed by calling `getFinalResult()` on the returned operation from the `begin` method. Sample code snippets are provided to illustrate using long-running operations [below](#examples). @@ -237,136 +235,133 @@ Callers should wait for the operation to completed by calling `getFinalResult()` The following section provides several code snippets covering some of the most common Form Recognizer tasks, including: -* [Recognize Forms Using a Custom Model](#recognize-forms-using-a-custom-model "Recognize Forms Using a Custom Model") -* [Recognize Content](#recognize-content "Recognize Content") +* [Extract Layout](#extract-layout "Extract Layout") * [Use Prebuilt Models](#use-prebuilt-models) -* [Train a Model](#train-a-model "Train a model") +* [Build a Model](#build-a-model "Build a model") +* [Analyze Documents using a Custom Model](#analyze-documents-using-a-custom-model "Analyze Documents using a Custom Model") * [Manage Your Models](#manage-your-models "Manage Your Models") -### Recognize Forms Using a Custom Model -Recognize the name/value pairs and table data from forms. These models are trained with your own data, -so they're tailored to your forms. You should only recognize forms of the same form type that the custom model was trained on. - +### Extract Layout +Extract text, table structures and selection marks like radio buttons and check boxes, along with their bounding box +coordinates, from documents, without the need to build a model. + ```java -String formUrl = "{form_url}"; -String modelId = "{custom_trained_model_id}"; -SyncPoller> recognizeFormPoller = - formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl); - -List recognizedForms = recognizeFormPoller.getFinalResult(); - -for (int i = 0; i < recognizedForms.size(); i++) { - RecognizedForm form = recognizedForms.get(i); - System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); - System.out.printf("Form type: %s%n", form.getFormType()); - System.out.printf("Form type confidence: %.2f%n", form.getFormTypeConfidence()); - form.getFields().forEach((label, formField) -> - System.out.printf("Field %s has value %s with confidence score of %f.%n", label, - formField.getValueData().getText(), - formField.getConfidence()) - ); -} -``` +// analyze document layout using file input stream +File layoutDocument = new File("local/file_path/filename.png"); +byte[] fileContent = Files.readAllBytes(layoutDocument.toPath()); +InputStream fileStream = new ByteArrayInputStream(fileContent); + +SyncPoller analyzeLayoutResultPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", fileStream, layoutDocument.length()); + +AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + +// pages +analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); +}); -### Recognize Content -Recognize text, table structures and selection marks like radio buttons and check boxes, along with their bounding box -coordinates, from documents, without the need to train a model. - -```java -// recognize form content using file input stream -File form = new File("local/file_path/filename.png"); -byte[] fileContent = Files.readAllBytes(form.toPath()); -InputStream inputStream = new ByteArrayInputStream(fileContent); - -SyncPoller> recognizeContentPoller = - formRecognizerClient.beginRecognizeContent(inputStream, form.length()); - -List contentPageResults = recognizeContentPoller.getFinalResult(); - -for (int i = 0; i < contentPageResults.size(); i++) { - FormPage formPage = contentPageResults.get(i); - System.out.printf("----Recognizing content info for page %d ----%n", i); - // Table information - System.out.printf("Has width: %f and height: %f, measured with unit: %s.%n", formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - formPage.getTables().forEach(formTable -> { - System.out.printf("Table has %d rows and %d columns.%n", formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach(formTableCell -> - System.out.printf("Cell has text %s.%n", formTableCell.getText())); +// tables +List tables = analyzeLayoutResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); }); - // Selection Mark - formPage.getSelectionMarks().forEach(selectionMark -> System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), selectionMark.getState(), selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence())); + System.out.println(); } ``` ### Use Prebuilt Models -Extract fields from certain types of common forms using prebuilt models provided by the Form Recognizer service. Supported prebuilt models are: -- Business cards. See fields found on a business card [here][service_recognize_business_cards_fields]. -- Invoices. See fields found on an invoice [here][service_recognize_invoices_fields]. -- Identity documents. See fields found on an identity document [here][service_recognize_identity_documents_fields]. -- Sales receipts. See fields found on a receipt [here][service_recognize_receipt_fields]. - -For example, to extract fields from a sales receipt, use the prebuilt Receipt model provided by the `beginRecognizeReceiptsFromUrl` method: -See [StronglyTypedRecognizedForm][strongly_typed_sample] for a suggested approach to extract information from receipts. - - +Extract fields from select document types such as receipts, invoices, business cards, and identity documents using prebuilt models provided by the Form Recognizer service. +Supported prebuilt models are: +- Analyze receipts using the `prebuilt-receipt` model (fields recognized by the service can be found [here][service_analyze_receipt_fields]) +- Analyze business cards using the `prebuilt-businessCard` model (fields recognized by the service can be found [here][service_analyze_business_cards_fields]). +- Analyze invoices using the `prebuilt-invoice` model (fields recognized by the service can be found [here][service_analyze_invoices_fields]). +- Analyze identity documents using the `prebuilt-idDocuments` model (fields recognized by the service can be found [here][service_analyze_identity_documents_fields]). + +For example, to analyze fields from a sales receipt, into the `beginAnalyzeDocument` method: + ```java String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; -SyncPoller> syncPoller = - formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl); -List receiptPageResults = syncPoller.getFinalResult(); - -for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognizing receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + + "/azure-ai-formrecognizer/src/samples/resources/sample-documents/receipts/contoso-allinone.jpg"; + +SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); + +AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + +for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(documentField -> documentField.getValueMap()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == documentField.getType()) { + Float quantity = documentField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); + quantity, documentField.getConfidence()); } } })); @@ -376,81 +371,142 @@ for (int i = 0; i < receiptPageResults.size(); i++) { ``` For more information and samples using prebuilt models see: -- [Business Cards sample][recognize_business_cards_from_url] -- [Identity Documents][recognize_identity_documents_from_url] -- [Invoices][recognize_invoices_from_url] -- [Receipts sample][recognize_receipts_from_url] +- [Business Cards][analyze_business_cards_from_url] +- [Identity Documents][analyze_identity_documents_from_url] +- [Invoices][analyze_invoices_from_url] +- [Receipts sample][analyze_receipts_from_url] -### Train a model -Train a machine-learned model on your own form type. The resulting model will be able to recognize values from the types of forms it was trained on. +### Build a model +Build a machine-learned model on your own document type. The resulting model will be able to analyze values from the types of documents it was built on. Provide a container SAS url to your Azure Storage Blob container where you're storing the training documents. See details on setting this up in the [service quickstart documentation][quickstart_training]. - + +More details on setting up a container and required file structure can be found in the [service documentation][fr_build_training_set]. + + ```java +// Build custom document analysis model String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; -SyncPoller trainingPoller = - formTrainingClient.beginTraining(trainingFilesUrl, - false, - new TrainingOptions() - .setModelName("my model trained without labels"), +// The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. +SyncPoller buildOperationPoller = + documentModelAdminClient.beginBuildModel(trainingFilesUrl, + "my-build-model", + new BuildModelOptions().setDescription("model desc"), Context.NONE); -CustomFormModel customFormModel = trainingPoller.getFinalResult(); +DocumentModel documentModel = buildOperationPoller.getFinalResult(); // Model Info -System.out.printf("Model Id: %s%n", customFormModel.getModelId()); -System.out.printf("Model name given by user: %s%n", customFormModel.getModelName()); -System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); -System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); -System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - -System.out.println("Recognized Fields:"); -// looping through the subModels, which contains the fields they were trained on -// Since the given training documents are unlabeled, we still group them but they do not have a label. -customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n: ", customFormSubmodel.getModelId()); - // Since the training data is unlabeled, we are unable to return the accuracy of this model - customFormSubmodel.getFields().forEach((field, customFormModelField) -> - System.out.printf("Field: %s Field Label: %s%n", - field, customFormModelField.getLabel())); +System.out.printf("Model ID: %s%n", documentModel.getModelId()); +System.out.printf("Model Description: %s%n", documentModel.getDescription()); +System.out.printf("Model created on: %s%n%n", documentModel.getCreatedOn()); +documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + System.out.printf("Document type: %s%n", key); + docTypeInfo.getFieldSchema().forEach((name, documentFieldSchema) -> { + System.out.printf("Document field: %s%n", name); + System.out.printf("Document field type: %s%n", documentFieldSchema.getType().toString()); + System.out.printf("Document field confidence: %.2f%n", docTypeInfo.getFieldConfidence().get(name)); + }); +}); +``` + +### Analyze Documents using a Custom Model +Analyze the key/value pairs and table data from documents. These models are built with your own data, +so they're tailored to your documents. You should only analyze documents of the same doc type that the custom model +was built on. + +```java +String documentUrl = "{document-url}"; +String modelId = "{custom-built-model-ID}"; +SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + +AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + +for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + analyzedDocument.getFields().forEach((key, documentField) -> { + System.out.printf("Document Field content: %s%n", documentField.getContent()); + System.out.printf("Document Field confidence: %.2f%n", documentField.getConfidence()); + System.out.printf("Document Field Type: %.2f%n", documentField.getType().toString()); + System.out.printf("Document Field found within bounding region: %s%n", + documentField.getBoundingRegions().toString()); + }); +} + +analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); }); + +// tables +List tables = analyzeResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} ``` ### Manage your models -Manage the custom models in your Form Recognizer account. - +Manage the models in your Form Recognizer account. + ```java -// First, we see how many custom models we have, and what our limit is -AccountProperties accountProperties = formTrainingClient.getAccountProperties(); -System.out.printf("The account has %d custom models, and we can have at most %d custom models", - accountProperties.getCustomModelCount(), accountProperties.getCustomModelLimit()); +AtomicReference modelId = new AtomicReference<>(); + +// First, we see how many models we have, and what our limit is +AccountProperties accountProperties = documentModelAdminClient.getAccountProperties(); +System.out.printf("The account has %s models, and we can have at most %s models", + accountProperties.getDocumentModelCount(), accountProperties.getDocumentModelLimit()); -// Next, we get a paged list of all of our custom models -PagedIterable customModels = formTrainingClient.listCustomModels(); +// Next, we get a paged list of all of our models +PagedIterable customDocumentModels = documentModelAdminClient.listModels(); System.out.println("We have following models in the account:"); -customModels.forEach(customFormModelInfo -> { - System.out.printf("Model Id: %s%n", customFormModelInfo.getModelId()); - // get specific custom model info - CustomFormModel customModel = formTrainingClient.getCustomModel(customFormModelInfo.getModelId()); - System.out.printf("Model Status: %s%n", customModel.getModelStatus()); - System.out.printf("Training started on: %s%n", customModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n", customModel.getTrainingCompletedOn()); - customModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Custom Model Form type: %s%n", customFormSubmodel.getFormType()); - System.out.printf("Custom Model Accuracy: %f%n", customFormSubmodel.getAccuracy()); - if (customFormSubmodel.getFields() != null) { - customFormSubmodel.getFields().forEach((fieldText, customFormModelField) -> { - System.out.printf("Field Text: %s%n", fieldText); - System.out.printf("Field Accuracy: %f%n", customFormModelField.getAccuracy()); - }); - } +customDocumentModels.forEach(documentModelInfo -> { + System.out.printf("Model ID: %s%n", documentModelInfo.getModelId()); + modelId.set(documentModelInfo.getModelId()); + + // get custom document analysis model info + DocumentModel documentModel = documentModelAdminClient.getModel(documentModelInfo.getModelId()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); }); }); -// Delete Custom Model -formTrainingClient.deleteModel("{modelId}"); +// Delete Model +documentModelAdminClient.deleteModel(modelId.get()); ``` -For more detailed examples, refer to [samples][sample_readme]. +For more detailed examples, refer to [samples][sample_examples]. ## Troubleshooting ### General @@ -459,10 +515,10 @@ to provide an invalid file source URL an `HttpResponseException` would be raised In the following code snippet, the error is handled gracefully by catching the exception and display the additional information about the error. - + ```java try { - formRecognizerClient.beginRecognizeContentFromUrl("invalidSourceUrl"); + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", "invalidSourceUrl"); } catch (HttpResponseException e) { System.out.println(e.getMessage()); } @@ -482,45 +538,46 @@ the client library to use the Netty HTTP client. Configuring or changing the HTT The following section provides several code snippets illustrating common patterns used in the Form Recognizer API. These code samples show common scenario operations with the Azure Form Recognizer client library. -* Recognize business card from a URL: [RecognizeBusinessCardFromUrl][recognize_business_cards_from_url] -* Recognize identity documents from a URL: [RecognizeIdentityDocumentsFromUrl][recognize_identity_documents_from_url] -* Recognize invoice from a URL: [RecognizeInvoiceFromUrl][recognize_invoices_from_url] -* Recognize receipts: [RecognizeReceipts][recognize_receipts] -* Recognize receipts from a URL: [RecognizeReceiptsFromUrl][recognize_receipts_from_url] -* Recognize content: [RecognizeContent][recognize_content] -* Recognize custom forms from a URL: [RecognizeCustomFormsFromUrl][recognize_custom_forms] -* Train a model without labels: [TrainModelWithoutLabels][train_unlabeled_model] -* Train a model with labels: [TrainModelWithLabels][train_labeled_model] +* Analyze business card from a URL: [AnalyzeBusinessCardFromUrl][analyze_business_cards_from_url] +* Analyze identity documents from a URL: [AnalyzeIdentityDocumentsFromUrl][analyze_identity_documents_from_url] +* Analyze invoice from a URL: [AnalyzeInvoiceFromUrl][analyze_invoices_from_url] +* Analyze receipts: [AnalyzeReceipts][analyze_receipts] +* Analyze receipts from a URL: [AnalyzeReceiptsFromUrl][analyze_receipts_from_url] +* Extract layout: [AnalyzeLayout][analyze_layout] +* Analyze custom documents from a URL: [AnalyzeCustomDocumentFromUrl][analyze_custom_documents] +* Build a model: [BuildModel][build_model] * Manage custom models: [ManageCustomModels][manage_custom_models] * Copy a model between Form Recognizer resources: [CopyModel][copy_model] +* Create a composed model from a collection of custom-built models: [CreateComposedModel][create_composed_model] +* Get/List document model operations associated with the Form Recognizer resource: [GetOperation][get_operation] #### Async APIs All the examples shown so far have been using synchronous APIs, but we provide full support for async APIs as well. -You'll need to use `FormRecognizerAsyncClient` - +You'll need to use `DocumentAnalysisAsyncClient` + ```java -FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder() +DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildAsyncClient(); ``` -* Recognize business card from a URL: [RecognizeBusinessCardFromUrlAsync][recognize_business_cards_from_url_async] -* Recognize identity documents from a URL: [RecognizeIdentityDocumentsFromUrlAsync][recognize_identity_documents_from_url_async] -* Recognize invoice: [RecognizeInvoiceAsync][recognize_invoices_async] -* Recognize receipts: [RecognizeReceiptsAsync][recognize_receipts_async] -* Recognize receipts from a URL: [RecognizeReceiptsFromUrlAsync][recognize_receipts_from_url_async] -* Recognize content from a URL: [RecognizeContentFromUrlAsync][recognize_content_from_url_async] -* Recognize custom forms: [RecognizeCustomFormsAsync][recognize_custom_forms_async] -* Train a model without labels: [TrainModelWithoutLabelsAsync][train_unlabeled_model_async] -* Train a model with labels: [TrainModelWithLabelsAsync][train_labeled_model_async] +* Analyze business card from a URL: [AnalyzeBusinessCardFromUrlAsync][analyze_business_cards_from_url_async] +* Analyze identity documents from a URL: [AnalyzeIdentityDocumentsFromUrlAsync][analyze_identity_documents_from_url_async] +* Analyze invoice: [AnalyzeInvoiceAsync][analyze_invoices_async] +* Analyze receipts: [AnalyzeReceiptsAsync][analyze_receipts_async] +* Analyze receipts from a URL: [AnalyzeReceiptsFromUrlAsync][analyze_receipts_from_url_async] +* Extract layout from a URL: [AnalyzeLayoutFromUrlAsync][analyze_layout_from_url_async] +* Analyze custom documents: [AnalyzeCustomDocumentAsync][analyze_custom_documents_async] +* Build a model: [BuildModelAsync][build_model_async] * Manage custom models: [ManageCustomModelsAsync][manage_custom_models_async] * Copy a model between Form Recognizer resources: [CopyModelAsync][copy_model_async] -* Create a composed model from a collection of models trained with labels: [CreateComposedModelAsync][create_composed_model_async] +* Create a composed model from a collection of custom-built models: [CreateComposedModelAsync][create_composed_model_async] +* Get/List document model operations associated with the Form Recognizer resource: [GetOperationAsync][get_operation_async] ### Additional documentation - -For more extensive documentation on Azure Cognitive Services Form Recognizer, see the [Form Recognizer documentation][github_io_docs]. +See the [Sample README][sample_readme] for several code snippets illustrating common patterns used in the Form Recognizer Java SDK. +For more extensive documentation on Azure Cognitive Services Form Recognizer, see the [Form Recognizer documentation][api_reference_doc]. ## Contributing @@ -535,7 +592,6 @@ This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For m [azure_key_credential]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureKeyCredential.java [key]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#get-the-keys-for-your-resource [api_reference_doc]: https://aka.ms/azsdk-java-formrecognizer-ref-docs -[github_io_docs]: https://aka.ms/azsdk-java-formrecognizer-ref-docs [azure_identity_credential_type]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#credentials [azure_cli]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows [azure_cli_endpoint]: https://docs.microsoft.com/cli/azure/cognitiveservices/account?view=azure-cli-latest#az-cognitiveservices-account-show @@ -547,53 +603,55 @@ This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For m [coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ [coc_contact]: mailto:opencode@microsoft.com [create_new_resource]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#create-a-new-azure-cognitive-services-resource -[create_composed_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java -[differentiate_custom_forms_with_labeled_and_unlabeled_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java [form_recognizer_account]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows -[form_recognizer_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java -[form_recognizer_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java -[form_training_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java -[form_training_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java [grant_access]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal [http_clients_wiki]: https://github.com/Azure/azure-sdk-for-java/wiki/HTTP-clients -[fr_labeling_tool]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/label-tool?tabs=v2-1 -[fr_train_without_labels]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/overview#train-without-labels -[fr_train_with_labels]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/overview#train-with-labels [http_response_exception]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core/src/main/java/com/azure/core/exception/HttpResponseException.java [jdk_link]: https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable [logging]: https://github.com/Azure/azure-sdk-for-java/wiki/Logging-with-Azure-SDK [package]: https://mvnrepository.com/artifact/com.azure/azure-ai-formrecognizer [product_documentation]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/overview -[sample_readme]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/ -[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java -[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java -[recognize_business_cards_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrl.java -[recognize_business_cards_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrlAsync.java -[recognize_identity_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrl.java -[recognize_identity_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrlAsync.java -[recognize_invoices_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesAsync.java -[recognize_invoices_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrl.java -[recognize_content]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java -[recognize_content_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java -[recognize_receipts]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceipts.java -[recognize_receipts_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsAsync.java -[recognize_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrl.java -[recognize_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrlAsync.java -[recognize_custom_forms]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java -[recognize_custom_forms_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java [register_AAD_application]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[train_unlabeled_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java -[train_unlabeled_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java -[train_labeled_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java -[train_labeled_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java -[copy_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java -[copy_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModelAsync.java +[fr_labeling_tool]: https://aka.ms/azsdk/formrecognizer/labelingtool +[fr_build_training_set]: https://aka.ms/azsdk/formrecognizer/buildtrainingset +[sample_examples]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples#examples +[sample_readme]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples#readme + +[create_composed_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java +[create_composed_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java +[sample_readme]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/ +[document_analysis_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java +[document_analysis_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java +[document_model_admin_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java +[document_model_admin_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java +[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java +[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java +[analyze_business_cards_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrl.java +[analyze_business_cards_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrlAsync.java +[analyze_identity_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrl.java +[analyze_identity_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrlAsync.java +[analyze_invoices_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesAsync.java +[analyze_invoices_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrl.java +[analyze_layout]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java +[analyze_layout_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java +[analyze_receipts]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceipts.java +[analyze_receipts_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsAsync.java +[analyze_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrl.java +[analyze_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrlAsync.java +[analyze_custom_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java +[analyze_custom_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java +[build_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java +[build_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java +[copy_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java +[copy_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModelAsync.java +[get_operation]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java +[get_operation_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java + [service_access]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows -[service_recognize_business_cards_fields]: https://aka.ms/formrecognizer/businesscardfields -[service_recognize_invoices_fields]: https://aka.ms/formrecognizer/invoicefields -[service_recognize_identity_documents_fields]: https://aka.ms/formrecognizer/iddocumentfields -[service_recognize_receipt_fields]: https://aka.ms/formrecognizer/receiptfields -[strongly_typed_sample]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java +[service_analyze_business_cards_fields]: https://aka.ms/azsdk/formrecognizer/businesscardfieldschema +[service_analyze_invoices_fields]: https://aka.ms/azsdk/formrecognizer/invoicefieldschema +[service_analyze_identity_documents_fields]: https://aka.ms/azsdk/formrecognizer/iddocumentfieldschema +[service_analyze_receipt_fields]: https://aka.ms/azsdk/formrecognizer/receiptfieldschema [source_code]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src [quickstart_training]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/quickstarts/curl-train-extract#train-a-form-recognizer-model [wiki_identity]: https://github.com/Azure/azure-sdk-for-java/wiki/Identity-and-Authentication diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/migration-guide.md b/sdk/formrecognizer/azure-ai-formrecognizer/migration-guide.md new file mode 100644 index 0000000000000..e5cd72672ec15 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/migration-guide.md @@ -0,0 +1,591 @@ +# Guide for migrating to `azure-ai-formrecognizer (4.0.0-beta.1 - above)` from `azure-ai-formrecognizer (3.1.x - below)` + +This guide is intended to assist in the migration to `azure-ai-formrecognizer (4.0.0-beta.1 - above)` from `azure-ai-formrecognizer (3.1.x - below)`. It will focus on side-by-side comparisons for similar operations between the two package versions. + +We assume that you are familiar with the previous SDK `azure-ai-formrecognizer (3.1.x - below)`. If you are new to this library, please refer to the SDK README for [azure-ai-formrecognizer][README] directly rather than this migration guide. + +## Table of contents +- [Migration benefits](#migration-benefits) +- [Important changes](#important-changes) + - [Instantiating clients](#instantiating-clients) + - [Analyze documents](#analyze-documents) + - [Using a prebuilt Model](#using-a-prebuilt-model) + - [Using a layout model](#using-a-layout-model) + - [Using custom model](#using-a-custom-model) + - [Manage models](#manage-models) +- [Additional samples](#additional-samples) + +## Migration benefits + +A natural question to ask when considering whether to adopt a new version of the library is what the benefits of +doing so would be. As Azure Form Recognizer has matured and been embraced by a more diverse group of developers, +we have been focused on learning the patterns and practices to best support developer productivity and add value to our +customers. + +To improve the development experience and address the consistent feedback across the Form Recognizer SDK, this new +version of the library replaces the previously existing clients `FormRecognizerClient` and `FormTrainingClient` with +`DocumentAnalysisClient` and the `DocumentModelAdministrationClient` that provide unified methods for +analyzing documents and provide support for the new features added by the service in +API version `2021-09-30-preview` and later. + +The below table describes the relationship of each client and its supported API version(s): + +|API version|Supported clients +|-|- +|2021-09-30-preview | DocumentAnalysisClient and DocumentModelAdministrationClient +|2.1 | FormRecognizerClient and FormTrainingClient +|2.0 | FormRecognizerClient and FormTrainingClient + +The newer Form Recognizer client library also provides the ability to share in some improvements made to the Azure development experience, such as: + +- A unified method, `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`, for analyzing text and structured data from documents. +This method uses a `modelId` parameter for specifying the type of analysis to perform. +The newly introduced method return type `AnalyzeResult` removes hierarchical dependencies between the previously known `FormElements` +and move them to a more top level and easily accessible position such as `AnalyzeResult.tables` instead of `RecognizedForm.pages.tables`. +The service has further matured to define cross-page elements by using the `BoundingRegion` model and by specifying the content and span information on document fields. +- A unified return type `DocumentModel` indicating the document types the model can analyze and the specific fields it can analyze along with the estimated confidence for each field. +- Specifying a modelId instead of the generated GUID when creating models, copying or composing models along with an optional description. See [here][service_supported_models], for the supported model types. +- Modified `Generate Copy Authorization operation` response to return the target resource information so that it could be used directly when copying custom models method instead of needed to be provided by the user. +- List Models operation now returns a paged list of prebuilt in addition to custom models that are built successfully. +Also, when using the `getModel()` model, users can get the field schema (field names and types that the model can extract) for the model they specified, including for prebuilt models. +- Added methods for getting/listing operations of the past 24 hours, useful to track the status of model creation/copying operations and any resulting errors. + +Please refer to the [README][README] for more information on these new clients. + +## Important changes + +#### Instantiating clients + +In 3.x.x, the `FormRecognizerClient` and the `FormRecognizerAsyncClient` is instantiated via the `FormRecognizerClientBuilder`. + +In 4.x.x, the `FormRecognizerClient` and the `FormRecognizerAsyncClient`, has been replaced by the `DocumentAnalysisClient` and the `DocumentAnalysisAsyncClient` respectively and is instantiated via the [DocumentAnalysisClientBuilder][DocumentAnalysisClientBuilder]. +The sync and async operations are separated to [DocumentAnalysisClient][DocumentAnalysisClient] and [DocumentAnalysisAsyncClient][DocumentAnalysisAsyncClient]. + +Instantiating FormRecognizerClient client with 3.x.x: +```java +FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` + +Instantiating DocumentAnalysisClient client with 4.x.x: + +```java +DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` +Similarly, with 4.x.x, the `FormTrainingClient` and `FormTrainingAsyncClient` has been replaced by the `DocumentModelAdministrationClient` +and `DocumentModelAdministrationAsyncClient`, instantiated via the [DocumentModelAdministrationClientBuilder][DocumentModelAdministrationClientBuilder]. +The sync and async operations are separated to [DocumentModelAdministrationClient][DocumentModelAdministrationClient] and [DocumentModelAdministrationAsyncClient][DocumentModelAdministrationAsyncClient]. + +Instantiating FormRecognizerClient client with 3.x.x: +```java +FormTrainingClient formTrainingClient = new FormTrainingClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` + +Instantiating DocumentModelAdministrationClient client with 4.x.x: + +```java +DocumentModelAdministrationClient documentModelAdminClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` + +#### Analyze documents + +With 4.x.x, the unified method, `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`: +- accepts a string type `modelId` to be any of the prebuilt model IDs or a custom model ID. +- returns the `AnalyzeResult` model now exposes document elements, such as key-value pairs, entities, tables, + document fields and values at the top level of the returned model. As compared to the previously returned model + `RecognizedForm` which included hierarchical relationships between `FormElements` for instance tables were an element + of a `FormPage` and not a top-level element. +- provides the functionality of `beginRecognizeCustomForms`, `beginRecognizeContent`, `beginRecognizeReceipt`, + `beginRecognizeReceipts`, `beginRecognizeInvoices` `beginRecognizeIdentityDocuments` and `beginRecognizeBusinessCards` from the previous (azure-ai-formrecognizer 3.1.X - below) package versions. +- accepts unified `AnalyzeDocumentOptions` to specify pages and locale information for the outgoing request +- the `includeFieldElements` parameter is not supported with the `DocumentAnalysisClient`, text details are automatically included with API version `2021-09-30-preview` and later. +- the `readingOrder` parameter does not exist as the service uses `natural` reading order for the returned data. + +#### Using a prebuilt model +- In 3.x.x, `beginRecognizeReceipts` and `beginRecognizeReceiptsFromUrl` method was used to analyze receipts. +- In 4.x.x, `beginRecognizeReceipts` and `beginRecognizeReceiptsFromUrl` has been replaced with `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl` respectively. +>NOTE: The `beginAnalyzeMethod` and `beginAnalyzeDocumentFromUrl` applies to all prebuilt models listed [here][service_supported_models]. + +Analyze receipt using 3.x.x `beginRecognizeReceipts`: +```java +String receiptUrl = "https://docs.microsoft.com/azure/cognitive-services/form-recognizer/media" + + "/contoso-allinone.jpg"; +SyncPoller> syncPoller = + formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl); +List receiptPageResults = syncPoller.getFinalResult(); + +for (int i = 0; i < receiptPageResults.size(); i++) { + RecognizedForm recognizedForm = receiptPageResults.get(i); + Map recognizedFields = recognizedForm.getFields(); + System.out.printf("----------- Recognizing receipt info for page %d -----------%n", i); + FormField merchantNameField = recognizedFields.get("MerchantName"); + if (merchantNameField != null) { + if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { + String merchantName = merchantNameField.getValue().asString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { + String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + FormField transactionDateField = recognizedFields.get("TransactionDate"); + if (transactionDateField != null) { + if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { + LocalDate transactionDate = transactionDateField.getValue().asDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + FormField receiptItemsField = recognizedFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { + List receiptItems = receiptItemsField.getValue().asList(); + receiptItems.stream() + .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) + .map(formField -> formField.getValue().asMap()) + .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { + if ("Quantity".equals(key)) { + if (FieldValueType.FLOAT == formField.getValue().getValueType()) { + Float quantity = formField.getValue().asFloat(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, formField.getConfidence()); + } + } + })); + } + } +} +``` + +Analyze receipt data using 4.x.x `beginAnalyzeDocumentFromUrl`: + +```java +String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + + "/azure-ai-formrecognizer/src/samples/resources/sample-documents/receipts/contoso-allinone.jpg"; + +SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); + +AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + +for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + DocumentField receiptItemsField = receiptFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); + receiptItems.stream() + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(documentField -> documentField.getValueMap()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.FLOAT == documentField.getType()) { + Float quantity = documentField.getValueFloat(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + })); + } + } +} +``` +#### Using a layout model +Analyze layout using 3.x.x `beginRecognizeContent`: +```java +// recognize form content using file input stream +File form = new File("local/file_path/filename.png"); +byte[] fileContent = Files.readAllBytes(form.toPath()); +InputStream inputStream = new ByteArrayInputStream(fileContent); + +SyncPoller> recognizeContentPoller = + formRecognizerClient.beginRecognizeContent(inputStream, form.length()); + +List contentPageResults = recognizeContentPoller.getFinalResult(); + +for (int i = 0; i < contentPageResults.size(); i++) { + FormPage formPage = contentPageResults.get(i); + System.out.printf("----Recognizing content info for page %d ----%n", i); + // Table information + System.out.printf("Has width: %f and height: %f, measured with unit: %s.%n", formPage.getWidth(), + formPage.getHeight(), + formPage.getUnit()); + formPage.getTables().forEach(formTable -> { + System.out.printf("Table has %d rows and %d columns.%n", formTable.getRowCount(), + formTable.getColumnCount()); + formTable.getCells().forEach(formTableCell -> + System.out.printf("Cell has text %s.%n", formTableCell.getText())); + }); + // Selection Mark + formPage.getSelectionMarks().forEach(selectionMark -> System.out.printf( + "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", + selectionMark.getPageNumber(), selectionMark.getState(), selectionMark.getBoundingBox().toString(), + selectionMark.getConfidence())); +} +``` + +Analyze layout using 4.x.x `beginAnalyzeDocument`: + +```java +// analyze document layout using file input stream +File layoutDocument = new File("local/file_path/filename.png"); +byte[] fileContent = Files.readAllBytes(layoutDocument.toPath()); +InputStream fileStream = new ByteArrayInputStream(fileContent); + +SyncPoller analyzeLayoutResultPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", fileStream, layoutDocument.length()); + +AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + +// pages +analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); +}); + +// tables +List tables = analyzeLayoutResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} +``` + +#### Using a custom model +Analyze custom document using 3.x.x `beginRecognizeCustomFormsFromUrl`: +```java +String formUrl = "{form_url}"; +String modelId = "{custom_trained_model_id}"; +SyncPoller> recognizeFormPoller = + formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl); + +List recognizedForms = recognizeFormPoller.getFinalResult(); + +for (int i = 0; i < recognizedForms.size(); i++) { + RecognizedForm form = recognizedForms.get(i); + System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); + System.out.printf("Form type: %s%n", form.getFormType()); + System.out.printf("Form type confidence: %.2f%n", form.getFormTypeConfidence()); + form.getFields().forEach((label, formField) -> + System.out.printf("Field %s has value %s with confidence score of %f.%n", label, + formField.getValueData().getText(), + formField.getConfidence()) + ); +} +``` + +Analyze custom document using 4.x.x `beginAnalyzeDocumentFromUrl` + +```java +String documentUrl = "{document-url}"; +String modelId = "{custom-built-model-ID}"; +SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + +AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + +for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + analyzedDocument.getFields().forEach((key, documentField) -> { + System.out.printf("Document Field content: %s%n", documentField.getContent()); + System.out.printf("Document Field confidence: %.2f%n", documentField.getConfidence()); + System.out.printf("Document Field Type: %.2f%n", documentField.getType().toString()); + System.out.printf("Document Field found within bounding region: %s%n", + documentField.getBoundingRegions().toString()); + }); +} + +analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); +}); + +// tables +List tables = analyzeResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} +``` + +Analyzing general prebuilt document types with 4.x.x: +> NOTE: Analyzing a document with the prebuilt-document model replaces training without labels in version 3.1.x of the library. + +```java +String documentUrl = "{document-url}"; +String modelId = "prebuilt-document"; +SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + +AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + +for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); +} + +analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); +}); + +// tables +List tables = analyzeResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} + +// Entities +analyzeResult.getEntities().forEach(documentEntity -> { + System.out.printf("Entity category : %s, sub-category %s%n: ", + documentEntity.getCategory(), documentEntity.getSubCategory()); + System.out.printf("Entity content: %s%n: ", documentEntity.getContent()); + System.out.printf("Entity confidence: %.2f%n", documentEntity.getConfidence()); +}); + +// Key-value +analyzeResult.getKeyValuePairs().forEach(documentKeyValuePair -> { + System.out.printf("Key content: %s%n", documentKeyValuePair.getKey().getContent()); + System.out.printf("Key content bounding region: %s%n", + documentKeyValuePair.getKey().getBoundingRegions().toString()); + + System.out.printf("Value content: %s%n", documentKeyValuePair.getValue().getContent()); + System.out.printf("Value content bounding region: %s%n", documentKeyValuePair.getValue().getBoundingRegions().toString()); +}); +``` + +#### Build a custom document analysis model +- In 3.x.x, creating a custom model required specifying `useTrainingLabels` to indicate whether to use labeled data when creating the custom model with the `beginTraining` method. +- In 4.x.x, we introduced the new general document model (prebuilt-document) to replace the train without labels +functionality from 3.x.x which extracts entities, key-value pairs, and layout from a document with the `beginBuildModel` method. +In 4.x.x the `beginBuildModel` always returns labeled data otherwise. + +Train a custom model using 3.x.x `beginTraining`: +```java +String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; +SyncPoller trainingPoller = + formTrainingClient.beginTraining(trainingFilesUrl, + false, + new TrainingOptions() + .setModelName("my model trained without labels"), + Context.NONE); + +CustomFormModel customFormModel = trainingPoller.getFinalResult(); + +// Model Info +System.out.printf("Model Id: %s%n", customFormModel.getModelId()); +System.out.printf("Model name given by user: %s%n", customFormModel.getModelName()); +System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); +System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); +System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); + +System.out.println("Recognized Fields:"); +// looping through the subModels, which contains the fields they were trained on +// Since the given training documents are unlabeled we still group them but, they do not have a label. +customFormModel.getSubmodels().forEach(customFormSubmodel -> { + System.out.printf("Submodel Id: %s%n: ", customFormSubmodel.getModelId()); + // Since the training data is unlabeled, we are unable to return the accuracy of this model + customFormSubmodel.getFields().forEach((field, customFormModelField) -> + System.out.printf("Field: %s Field Label: %s%n", + field, customFormModelField.getLabel())); +}); + +System.out.println(); +customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { + System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); + System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); + System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); + if (!trainingDocumentInfo.getErrors().isEmpty()) { + System.out.println("Document Errors:"); + trainingDocumentInfo.getErrors().forEach(formRecognizerError -> + System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), + formRecognizerError.getMessage())); + } +}); +``` + +Build a custom document model using 4.x.x `beginBuildModel`: + +```java +// Build custom document analysis model +String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; +// The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. +SyncPoller buildOperationPoller = + documentModelAdminClient.beginBuildModel(trainingFilesUrl, + "my-build-model", + new BuildModelOptions().setDescription("model desc"), + Context.NONE); + +DocumentModel documentModel = buildOperationPoller.getFinalResult(); + +// Model Info +System.out.printf("Model ID: %s%n", documentModel.getModelId()); +System.out.printf("Model Description: %s%n", documentModel.getDescription()); +System.out.printf("Model created on: %s%n%n", documentModel.getCreatedOn()); +documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + System.out.printf("Document type: %s%n", key); + docTypeInfo.getFieldSchema().forEach((name, documentFieldSchema) -> { + System.out.printf("Document field: %s%n", name); + System.out.printf("Document field type: %s%n", documentFieldSchema.getType().toString()); + System.out.printf("Document field confidence: %.2f%n", docTypeInfo.getFieldConfidence().get(name)); + }); +}); +``` + +### Manage models +In 3.x.x, listing models returned only the custom trained models using the `listCustomModel` method. + +With 4.x.x, list Models operation `listModels`: +- returns a paged list of prebuilt in addition to custom models. +- no longer includes submodels, instead a model can analyze different document types. +- Only returns custom models that are built successfully. +Unsuccessful model operations can be viewed with the get and list operation methods (note that document model operation data persists for only 24 hours). +- In version `3.1.x` of the library, models that had not succeeded were still created, had to be deleted by the user, +and were returned in the list models response. + +## Additional samples + +For additional samples please take a look at the [Form Recognizer samples][README-Samples] + + +[DocumentAnalysisClientBuilder]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClientBuilder.java +[DocumentAnalysisClient]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java +[DocumentAnalysisAsyncClient]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java +[DocumentModelAdministrationClientBuilder]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientBuilder.java +[DocumentModelAdministrationClient]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java +[DocumentModelAdministrationAsyncClient]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java +[Guidelines]: https://azure.github.io/azure-sdk/general_introduction.html +[GuidelinesJava]: https://azure.github.io/azure-sdk/java_introduction.html +[GuidelinesJavaDesign]: https://azure.github.io/azure-sdk/java_introduction.html#namespaces +[README-Samples]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/README.md +[README]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/README.md + + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fformrecognizer%2Fazure-ai-formrecognizer%2Fmigration-guide.png) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/pom.xml b/sdk/formrecognizer/azure-ai-formrecognizer/pom.xml index c57fed2add743..5474591714b25 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/pom.xml +++ b/sdk/formrecognizer/azure-ai-formrecognizer/pom.xml @@ -13,7 +13,7 @@ com.azure azure-ai-formrecognizer - 3.2.0-beta.1 + 4.0.0-beta.1 Microsoft Azure client library for Form Recognizer This package contains the Microsoft Azure Cognitive Services Form Recognizer SDK. @@ -36,8 +36,8 @@ --add-exports com.azure.core/com.azure.core.implementation.http=ALL-UNNAMED - --add-opens com.azure.ai.formrecognizer/com.azure.ai.formrecognizer=ALL-UNNAMED + --add-opens com.azure.ai.formrecognizer/com.azure.ai.formrecognizer.administration=ALL-UNNAMED @@ -45,25 +45,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java new file mode 100644 index 0000000000000..ee3459f553829 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClient.java @@ -0,0 +1,327 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeDocumentRequest; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeResultOperation; +import com.azure.ai.formrecognizer.implementation.models.OperationStatus; +import com.azure.ai.formrecognizer.implementation.models.StringIndexType; +import com.azure.ai.formrecognizer.implementation.util.Transforms; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollResponse; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingContext; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.nio.ByteBuffer; +import java.util.Objects; +import java.util.function.Function; + +import static com.azure.ai.formrecognizer.implementation.util.Constants.DEFAULT_POLL_INTERVAL; +import static com.azure.ai.formrecognizer.implementation.util.Utility.activationOperation; +import static com.azure.core.util.FluxUtil.monoError; + +/** + * This class provides an asynchronous client that contains the operations that apply to Azure Form Recognizer. + * Operations allowed by the client are analyzing information from documents and images using custom-built document + * analysis models, prebuilt models for invoices, receipts, identity documents and business cards, and the layout model. + * + *

Instantiating an asynchronous Document Analysis Client

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.instantiation} + * + * @see DocumentAnalysisClientBuilder + */ +@ServiceClient(builder = DocumentAnalysisClientBuilder.class, isAsync = true) +public final class DocumentAnalysisAsyncClient { + private final ClientLogger logger = new ClientLogger(DocumentAnalysisAsyncClient.class); + private final FormRecognizerClientImpl service; + private final DocumentAnalysisServiceVersion serviceVersion; + + /** + * Create a {@link DocumentAnalysisAsyncClient} that sends requests to the Form recognizer service's endpoint. Each + * service call goes through the {@link DocumentAnalysisClientBuilder#pipeline(HttpPipeline)} http pipeline}. + * + * @param service The proxy service used to perform REST calls. + * @param serviceVersion The versions of Azure Form Recognizer service supported by this client library. + */ + DocumentAnalysisAsyncClient(FormRecognizerClientImpl service, DocumentAnalysisServiceVersion serviceVersion) { + this.service = service; + this.serviceVersion = serviceVersion; + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param documentUrl The URL of the document to analyze. + * + * @return A {@link PollerFlux} that polls the progress of the analyze document operation until it has completed, has failed, + * or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}.. + * @throws NullPointerException If {@code documentUrl} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux + beginAnalyzeDocumentFromUrl(String modelId, String documentUrl) { + return beginAnalyzeDocumentFromUrl(modelId, documentUrl, null); + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param documentUrl The source URL to the input form. + * @param analyzeDocumentOptions The additional configurable {@link AnalyzeDocumentOptions options} + * that may be passed when analyzing documents. + * @return A {@link PollerFlux} that polls progress of the analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}. + * @throws NullPointerException If {@code documentUrl} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux + beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, + AnalyzeDocumentOptions analyzeDocumentOptions) { + return beginAnalyzeDocumentFromUrl(documentUrl, modelId, analyzeDocumentOptions, Context.NONE); + } + + PollerFlux + beginAnalyzeDocumentFromUrl(String documentUrl, String modelId, + AnalyzeDocumentOptions analyzeDocumentOptions, + Context context) { + try { + Objects.requireNonNull(documentUrl, "'documentUrl' is required and cannot be null."); + Objects.requireNonNull(modelId, "'modelId' is required and cannot be null."); + + final AnalyzeDocumentOptions finalAnalyzeDocumentOptions + = getAnalyzeDocumentOptions(analyzeDocumentOptions); + return new PollerFlux<>( + DEFAULT_POLL_INTERVAL, + activationOperation(() -> + service.analyzeDocumentWithResponseAsync(modelId, + CoreUtils.isNullOrEmpty(finalAnalyzeDocumentOptions.getPages()) + ? null : String.join(",", finalAnalyzeDocumentOptions.getPages()), + finalAnalyzeDocumentOptions.getLocale() == null ? null + : finalAnalyzeDocumentOptions.getLocale(), + StringIndexType.UTF16CODE_UNIT, + new AnalyzeDocumentRequest().setUrlSource(documentUrl), + context) + .map(analyzeDocumentResponse -> + Transforms.toFormRecognizerOperationResult( + analyzeDocumentResponse.getDeserializedHeaders().getOperationLocation())), + logger), + pollingOperation(resultId -> + service.getAnalyzeDocumentResultWithResponseAsync(modelId, resultId, context)), + (activationResponse, pollingContext) -> + Mono.error(new RuntimeException("Cancellation is not supported")), + fetchingOperation(resultId -> + service.getAnalyzeDocumentResultWithResponseAsync( + modelId, + resultId, + context)) + .andThen(after -> after + .map(modelSimpleResponse -> + Transforms.toAnalyzeResultOperation(modelSimpleResponse.getValue().getAnalyzeResult())) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists))); + } catch (RuntimeException ex) { + return PollerFlux.error(ex); + } + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ *

+ * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the + * {@code Flux} must produce the same data each time it is subscribed to. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param document The data of the document to analyze information from. + * @param length The exact length of the data. + * + * @return A {@link PollerFlux} that polls the progress of the analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}. + * @throws NullPointerException If {@code document} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux + beginAnalyzeDocument(String modelId, Flux document, long length) { + return beginAnalyzeDocument(modelId, document, length, null); + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ *

+ * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the + * {@code Flux} must produce the same data each time it is subscribed to. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long-AnalyzeDocumentOptions} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param document The data of the document to analyze information from. + * @param length The exact length of the data. + * @param analyzeDocumentOptions The additional configurable {@link AnalyzeDocumentOptions options} that may be + * passed when analyzing documents. + * + * @return A {@link PollerFlux} that polls the progress of the analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}.. + * @throws NullPointerException If {@code document} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux + beginAnalyzeDocument(String modelId, Flux document, long length, + AnalyzeDocumentOptions analyzeDocumentOptions) { + return beginAnalyzeDocument(modelId, document, length, analyzeDocumentOptions, Context.NONE); + } + + PollerFlux + beginAnalyzeDocument(String modelId, Flux document, long length, + AnalyzeDocumentOptions analyzeDocumentOptions, Context context) { + try { + Objects.requireNonNull(document, "'document' is required and cannot be null."); + Objects.requireNonNull(modelId, "'modelId' is required and cannot be null."); + + final AnalyzeDocumentOptions finalAnalyzeDocumentOptions + = getAnalyzeDocumentOptions(analyzeDocumentOptions); + + return new PollerFlux<>( + DEFAULT_POLL_INTERVAL, + activationOperation(() -> + service.analyzeDocumentWithResponseAsync(modelId, + null, + CoreUtils.isNullOrEmpty(finalAnalyzeDocumentOptions.getPages()) + ? null : String.join(",", finalAnalyzeDocumentOptions.getPages()), + finalAnalyzeDocumentOptions.getLocale() == null ? null + : finalAnalyzeDocumentOptions.getLocale(), + StringIndexType.UTF16CODE_UNIT, + document, + length, + context) + .map(analyzeDocumentResponse -> Transforms.toFormRecognizerOperationResult( + analyzeDocumentResponse.getDeserializedHeaders().getOperationLocation())), + logger), + pollingOperation( + resultId -> service.getAnalyzeDocumentResultWithResponseAsync( + modelId, resultId, context)), + (activationResponse, pollingContext) -> + Mono.error(new RuntimeException("Cancellation is not supported")), + fetchingOperation(resultId -> service.getAnalyzeDocumentResultWithResponseAsync( + modelId, resultId, context)) + .andThen(after -> after.map(modelSimpleResponse -> + Transforms.toAnalyzeResultOperation(modelSimpleResponse.getValue().getAnalyzeResult())) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists))); + } catch (RuntimeException ex) { + return PollerFlux.error(ex); + } + } + + /* + * Poller's POLLING operation. + */ + private Function, Mono>> + pollingOperation( + Function>> pollingFunction) { + return pollingContext -> { + try { + final PollResponse operationResultPollResponse + = pollingContext.getLatestResponse(); + final String resultId = operationResultPollResponse.getValue().getResultId(); + return pollingFunction.apply(resultId) + .flatMap(modelResponse -> processAnalyzeModelResponse(modelResponse, operationResultPollResponse)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + /* + * Poller's FETCHING operation. + */ + private Function, Mono>> + fetchingOperation( + Function>> fetchingFunction) { + return pollingContext -> { + try { + final String resultId = pollingContext.getLatestResponse().getValue().getResultId(); + return fetchingFunction.apply(resultId); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + private Mono> processAnalyzeModelResponse( + Response analyzeResultOperationResponse, + PollResponse operationResultPollResponse) { + LongRunningOperationStatus status; + switch (analyzeResultOperationResponse.getValue().getStatus()) { + case NOT_STARTED: + case RUNNING: + status = LongRunningOperationStatus.IN_PROGRESS; + break; + case SUCCEEDED: + status = LongRunningOperationStatus.SUCCESSFULLY_COMPLETED; + break; + case FAILED: + // TODO (Revisit error logic https://github.com/Azure/azure-sdk-for-java-pr/issues/1337) + throw logger.logExceptionAsError( + Transforms.toDocumentAnalysisException(analyzeResultOperationResponse.getValue().getError())); + default: + status = LongRunningOperationStatus.fromString( + analyzeResultOperationResponse.getValue().getStatus().toString(), true); + break; + } + return Mono.just(new PollResponse<>(status, operationResultPollResponse.getValue())); + } + + private static AnalyzeDocumentOptions getAnalyzeDocumentOptions(AnalyzeDocumentOptions userProvidedOptions) { + return userProvidedOptions == null ? new AnalyzeDocumentOptions() : userProvidedOptions; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java new file mode 100644 index 0000000000000..a56d6bb67189b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClient.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeResultOperation; +import com.azure.ai.formrecognizer.implementation.models.OperationStatus; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; +import reactor.core.publisher.Flux; + +import java.io.InputStream; +import java.nio.ByteBuffer; + +import static com.azure.ai.formrecognizer.implementation.util.Utility.toFluxByteBuffer; + +/** + * This class provides a synchronous client that contains the operations that apply to Azure Form Recognizer. + * Operations allowed by the client are analyzing information from documents and images using custom-built document + * analysis models, prebuilt models for invoices, receipts, identity documents and business cards, and the layout model. + * + *

Instantiating a synchronous Document Analysis Client

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.instantiation} + * + * @see DocumentAnalysisClientBuilder + */ +@ServiceClient(builder = DocumentAnalysisClientBuilder.class) +public final class DocumentAnalysisClient { + private final DocumentAnalysisAsyncClient client; + + /** + * Create a {@link DocumentAnalysisClient client} that sends requests to the Document Analysis service's endpoint. + * Each service call goes through the {@link DocumentAnalysisClientBuilder#pipeline http pipeline}. + * + * @param client The {@link DocumentAnalysisClient} that the client routes its request through. + */ + DocumentAnalysisClient(DocumentAnalysisAsyncClient client) { + this.client = client; + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an error message + * indicating absence of cancellation support

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param documentUrl The URL of the document to analyze. + * + * @return A {@link SyncPoller} to poll the progress of the analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}.. + * @throws NullPointerException If {@code documentUrl} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller + beginAnalyzeDocumentFromUrl(String modelId, String documentUrl) { + return beginAnalyzeDocumentFromUrl(modelId, documentUrl, null, Context.NONE); + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions-Context} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param documentUrl The source URL to the input document. + * @param analyzeDocumentOptions The additional configurable {@link AnalyzeDocumentOptions options} that may be + * passed when analyzing documents. + * @param context Additional context that is passed through the HTTP pipeline during the service call. + * + * @return A {@link SyncPoller} to poll the progress of the analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation}returns + * with an {@link OperationStatus#FAILED}. + * @throws NullPointerException If {@code documentUrl} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller + beginAnalyzeDocumentFromUrl(String modelId, String documentUrl, + AnalyzeDocumentOptions analyzeDocumentOptions, Context context) { + return client.beginAnalyzeDocumentFromUrl(documentUrl, modelId, + analyzeDocumentOptions, context).getSyncPoller(); + } + + /** + * Analyzes data from documents using optical character recognition (OCR) using any of the prebuilt models or + * a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param document The data of the document to analyze information from. + * @param length The exact length of the data. + * + * @return A {@link SyncPoller} that polls the of progress of analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation}returns + * with an {@link OperationStatus#FAILED}. + * @throws NullPointerException If {@code document} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller + beginAnalyzeDocument(String modelId, InputStream document, long length) { + return beginAnalyzeDocument(modelId, document, length, null, Context.NONE); + } + + /** + * Analyzes data from documents with optical character recognition (OCR) and semantic values from a given document + * using any of the prebuilt models or a custom-built analysis model. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long-AnalyzeDocumentOptions-Context} + * + * @param modelId The unique model ID to be used or the supported prebuilt models - "prebuilt-receipt", + * "prebuilt-businessCard", "prebuilt-idDocument", "prebuilt-document", "prebuilt-invoice", "prebuilt-layout". + * @param document The data of the document to analyze information from. + * @param length The exact length of the data. + * @param analyzeDocumentOptions The additional configurable {@link AnalyzeDocumentOptions options} that may be + * passed when analyzing documents. + * @param context Additional context that is passed through the HTTP pipeline during the service call. + * + * @return A {@link SyncPoller} that polls the of progress of analyze document operation until it has completed, + * has failed, or has been cancelled. The completed operation returns an {@link AnalyzeResult}. + * @throws DocumentAnalysisException If analyze operation fails and the {@link AnalyzeResultOperation} returns + * with an {@link OperationStatus#FAILED}. + * @throws NullPointerException If {@code document} or {@code modelId} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller + beginAnalyzeDocument(String modelId, InputStream document, long length, + AnalyzeDocumentOptions analyzeDocumentOptions, Context context) { + Flux buffer = toFluxByteBuffer(document); + return client.beginAnalyzeDocument(modelId, buffer, length, + analyzeDocumentOptions, context).getSyncPoller(); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilder.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClientBuilder.java similarity index 63% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilder.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClientBuilder.java index d5278b52e1165..beaa70d1a2f47 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilder.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisClientBuilder.java @@ -3,9 +3,10 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.implementation.Constants; import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImplBuilder; +import com.azure.ai.formrecognizer.implementation.util.Constants; +import com.azure.ai.formrecognizer.implementation.util.Utility; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.credential.TokenCredential; @@ -26,43 +27,41 @@ import java.util.List; import java.util.Objects; -import static com.azure.ai.formrecognizer.implementation.Utility.buildHttpPipeline; - /** - * This class provides a fluent builder API to help instantiation of {@link FormRecognizerClient FormRecognizerClients} - * and {@link FormRecognizerAsyncClient FormRecognizerAsyncClients}, call {@link #buildClient()} buildClient} and + * This class provides a fluent builder API to help instantiation of {@link DocumentAnalysisClient DocumentAnalysisClients} + * and {@link DocumentAnalysisAsyncClient DocumentAnalysisAsyncClients}, call {@link #buildClient()} buildClient} and * {@link #buildAsyncClient() buildAsyncClient} respectively to construct an instance of the desired client. * *

- * The client needs the service endpoint of the Azure Form Recognizer to access the resource service. + * The client needs the service endpoint of the Azure Document Analysis to access the resource service. * {@link #credential(AzureKeyCredential)} or {@link #credential(TokenCredential) credential(TokenCredential)} gives * the builder access credential. *

* - *

Instantiating an asynchronous Form Recognizer Client

+ *

Instantiating an asynchronous Document Analysis Client

* - * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.instantiation} + * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.instantiation} * - *

Instantiating a synchronous Form Recognizer Client

+ *

Instantiating a synchronous Document Analysis Client

* - * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.instantiation} + * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.instantiation} * *

* Another way to construct the client is using a {@link HttpPipeline}. The pipeline gives the client an * authenticated way to communicate with the service. Set the pipeline with {@link #pipeline(HttpPipeline) this} and * set the service endpoint with {@link #endpoint(String) this}. Using a - * pipeline requires additional setup but allows for finer control on how the {@link FormRecognizerClient} and - * {@link FormRecognizerAsyncClient} is built. + * pipeline requires additional setup but allows for finer control on how the {@link DocumentAnalysisClient} and + * {@link DocumentAnalysisAsyncClient} is built. *

* - * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.pipeline.instantiation} + * {@codesnippet com.azure.ai.formrecognizer.DocumentAnalysisClient.pipeline.instantiation} * - * @see FormRecognizerAsyncClient - * @see FormRecognizerClient + * @see DocumentAnalysisAsyncClient + * @see DocumentAnalysisClient */ -@ServiceClientBuilder(serviceClients = {FormRecognizerAsyncClient.class, FormRecognizerClient.class}) -public final class FormRecognizerClientBuilder { - private final ClientLogger logger = new ClientLogger(FormRecognizerClientBuilder.class); +@ServiceClientBuilder(serviceClients = {DocumentAnalysisAsyncClient.class, DocumentAnalysisClient.class}) +public final class DocumentAnalysisClientBuilder { + private final ClientLogger logger = new ClientLogger(DocumentAnalysisClientBuilder.class); private final List perCallPolicies = new ArrayList<>(); private final List perRetryPolicies = new ArrayList<>(); @@ -76,43 +75,43 @@ public final class FormRecognizerClientBuilder { private Configuration configuration; private RetryPolicy retryPolicy; private TokenCredential tokenCredential; - private FormRecognizerServiceVersion version; + private DocumentAnalysisServiceVersion version; /** - * Creates a {@link FormRecognizerClient} based on options set in the builder. Every time - * {@code buildClient()} is called a new instance of {@link FormRecognizerClient} is created. + * Creates a {@link DocumentAnalysisClient} based on options set in the builder. Every time + * {@code buildClient()} is called a new instance of {@link DocumentAnalysisClient} is created. * *

* If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and - * {@link #endpoint(String) endpoint} are used to create the {@link FormRecognizerClient client}. All other builder + * {@link #endpoint(String) endpoint} are used to create the {@link DocumentAnalysisClient client}. All other builder * settings are ignored. *

* - * @return A FormRecognizerClient with the options set from the builder. + * @return A DocumentAnalysisClient with the options set from the builder. * @throws NullPointerException if {@link #endpoint(String) endpoint} or * {@link #credential(AzureKeyCredential)} has not been set. * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL. */ - public FormRecognizerClient buildClient() { - return new FormRecognizerClient(buildAsyncClient()); + public DocumentAnalysisClient buildClient() { + return new DocumentAnalysisClient(buildAsyncClient()); } /** - * Creates a {@link FormRecognizerAsyncClient} based on options set in the builder. Every time - * {@code buildAsyncClient()} is called a new instance of {@link FormRecognizerAsyncClient} is created. + * Creates a {@link DocumentAnalysisAsyncClient} based on options set in the builder. Every time + * {@code buildAsyncClient()} is called a new instance of {@link DocumentAnalysisAsyncClient} is created. * *

* If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and - * {@link #endpoint(String) endpoint} are used to create the {@link FormRecognizerClient client}. All other builder + * {@link #endpoint(String) endpoint} are used to create the {@link DocumentAnalysisClient client}. All other builder * settings are ignored. *

* - * @return A FormRecognizerAsyncClient with the options set from the builder. + * @return A DocumentAnalysisAsyncClient with the options set from the builder. * @throws NullPointerException if {@link #endpoint(String) endpoint} or {@link #credential(AzureKeyCredential)} * has not been set. * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL. */ - public FormRecognizerAsyncClient buildAsyncClient() { + public DocumentAnalysisAsyncClient buildAsyncClient() { // Endpoint cannot be null, which is required in request authentication Objects.requireNonNull(endpoint, "'Endpoint' is required and can not be null."); @@ -121,34 +120,34 @@ public FormRecognizerAsyncClient buildAsyncClient() { ? Configuration.getGlobalConfiguration().clone() : configuration; // Service Version - final FormRecognizerServiceVersion serviceVersion = - version != null ? version : FormRecognizerServiceVersion.getLatest(); + final DocumentAnalysisServiceVersion serviceVersion = + version != null ? version : DocumentAnalysisServiceVersion.getLatest(); HttpPipeline pipeline = httpPipeline; // Create a default Pipeline if it is not given if (pipeline == null) { - pipeline = buildHttpPipeline(clientOptions, httpLogOptions, buildConfiguration, + pipeline = Utility.buildHttpPipeline(clientOptions, httpLogOptions, buildConfiguration, retryPolicy, credential, tokenCredential, perCallPolicies, perRetryPolicies, httpClient); } final FormRecognizerClientImpl formRecognizerAPI = new FormRecognizerClientImplBuilder() - .endpoint(endpoint) - .apiVersion(serviceVersion.getVersion()) - .pipeline(pipeline) - .buildClient(); + .endpoint(endpoint) + .apiVersion(serviceVersion.getVersion()) + .pipeline(pipeline) + .buildClient(); - return new FormRecognizerAsyncClient(formRecognizerAPI, serviceVersion); + return new DocumentAnalysisAsyncClient(formRecognizerAPI, serviceVersion); } /** - * Sets the service endpoint for the Azure Form Recognizer instance. + * Sets the service endpoint for the Azure Document Analysis instance. * - * @param endpoint The URL of the Azure Form Recognizer instance service requests to and receive responses from. + * @param endpoint The URL of the Azure Document Analysis instance service requests to and receive responses from. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. * @throws NullPointerException if {@code endpoint} is null * @throws IllegalArgumentException if {@code endpoint} cannot be parsed into a valid URL. */ - public FormRecognizerClientBuilder endpoint(String endpoint) { + public DocumentAnalysisClientBuilder endpoint(String endpoint) { Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); try { @@ -168,15 +167,15 @@ public FormRecognizerClientBuilder endpoint(String endpoint) { /** * Sets the {@link AzureKeyCredential} to use when authenticating HTTP requests for this - * FormRecognizerClientBuilder. + * DocumentAnalysisClientBuilder. * - * @param apiKeyCredential {@link AzureKeyCredential} API key credential + * @param azureKeyCredential {@link AzureKeyCredential} API key credential * - * @return The updated FormRecognizerClientBuilder object. - * @throws NullPointerException If {@code apiKeyCredential} is null. + * @return The updated DocumentAnalysisClientBuilder object. + * @throws NullPointerException If {@code azureKeyCredential} is null. */ - public FormRecognizerClientBuilder credential(AzureKeyCredential apiKeyCredential) { - this.credential = Objects.requireNonNull(apiKeyCredential, "'apiKeyCredential' cannot be null."); + public DocumentAnalysisClientBuilder credential(AzureKeyCredential azureKeyCredential) { + this.credential = Objects.requireNonNull(azureKeyCredential, "'azureKeyCredential' cannot be null."); return this; } @@ -184,10 +183,10 @@ public FormRecognizerClientBuilder credential(AzureKeyCredential apiKeyCredentia * Sets the {@link TokenCredential} used to authenticate HTTP requests. * * @param tokenCredential {@link TokenCredential} used to authenticate HTTP requests. - * @return The updated {@link FormRecognizerClientBuilder} object. + * @return The updated {@link DocumentAnalysisClientBuilder} object. * @throws NullPointerException If {@code tokenCredential} is null. */ - public FormRecognizerClientBuilder credential(TokenCredential tokenCredential) { + public DocumentAnalysisClientBuilder credential(TokenCredential tokenCredential) { this.tokenCredential = Objects.requireNonNull(tokenCredential, "'tokenCredential' cannot be null."); return this; } @@ -200,15 +199,15 @@ public FormRecognizerClientBuilder credential(TokenCredential tokenCredential) { * * @param logOptions The logging configuration to use when sending and receiving HTTP requests/responses. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder httpLogOptions(HttpLogOptions logOptions) { + public DocumentAnalysisClientBuilder httpLogOptions(HttpLogOptions logOptions) { this.httpLogOptions = logOptions; return this; } /** - * Gets the default Azure Form Recognizer client headers and query parameters that are logged by default if + * Gets the default Azure Document Analysis client headers and query parameters that are logged by default if * HTTP logging is enabled. * * @return The default {@link HttpLogOptions} allow list. @@ -221,9 +220,9 @@ public static HttpLogOptions getDefaultLogOptions() { * Sets the client options such as application ID and custom headers to set on a request. * * @param clientOptions The client options. - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder clientOptions(ClientOptions clientOptions) { + public DocumentAnalysisClientBuilder clientOptions(ClientOptions clientOptions) { this.clientOptions = clientOptions; return this; } @@ -233,10 +232,10 @@ public FormRecognizerClientBuilder clientOptions(ClientOptions clientOptions) { * * @param policy The retry policy for service requests. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. * @throws NullPointerException If {@code policy} is null. */ - public FormRecognizerClientBuilder addPolicy(HttpPipelinePolicy policy) { + public DocumentAnalysisClientBuilder addPolicy(HttpPipelinePolicy policy) { Objects.requireNonNull(policy, "'policy' cannot be null."); if (policy.getPipelinePosition() == HttpPipelinePosition.PER_CALL) { @@ -252,9 +251,9 @@ public FormRecognizerClientBuilder addPolicy(HttpPipelinePolicy policy) { * * @param client The HTTP client to use for requests. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder httpClient(HttpClient client) { + public DocumentAnalysisClientBuilder httpClient(HttpClient client) { if (this.httpClient != null && client == null) { logger.info("HttpClient is being set to 'null' when it was previously configured."); } @@ -267,14 +266,14 @@ public FormRecognizerClientBuilder httpClient(HttpClient client) { * Sets the HTTP pipeline to use for the service client. *

* If {@code pipeline} is set, all other settings are ignored, aside from - * {@link FormRecognizerClientBuilder#endpoint(String) endpoint} to build {@link FormRecognizerAsyncClient} or - * {@link FormRecognizerClient}. + * {@link DocumentAnalysisClientBuilder#endpoint(String) endpoint} to build {@link DocumentAnalysisAsyncClient} or + * {@link DocumentAnalysisClient}. * * @param httpPipeline The HTTP pipeline to use for sending service requests and receiving responses. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder pipeline(HttpPipeline httpPipeline) { + public DocumentAnalysisClientBuilder pipeline(HttpPipeline httpPipeline) { if (this.httpPipeline != null && httpPipeline == null) { logger.info("HttpPipeline is being set to 'null' when it was previously configured."); } @@ -291,9 +290,9 @@ public FormRecognizerClientBuilder pipeline(HttpPipeline httpPipeline) { * * @param configuration The configuration store used to. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder configuration(Configuration configuration) { + public DocumentAnalysisClientBuilder configuration(Configuration configuration) { this.configuration = configuration; return this; } @@ -301,30 +300,30 @@ public FormRecognizerClientBuilder configuration(Configuration configuration) { /** * Sets the {@link RetryPolicy#RetryPolicy()} that is used when each request is sent. *

- * The default retry policy will be used if not provided {@link FormRecognizerClientBuilder#buildAsyncClient()} - * to build {@link FormRecognizerAsyncClient} or {@link FormRecognizerClient}. + * The default retry policy will be used if not provided {@link DocumentAnalysisClientBuilder#buildAsyncClient()} + * to build {@link DocumentAnalysisAsyncClient} or {@link DocumentAnalysisClient}. * * @param retryPolicy user's retry policy applied to each request. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder retryPolicy(RetryPolicy retryPolicy) { + public DocumentAnalysisClientBuilder retryPolicy(RetryPolicy retryPolicy) { this.retryPolicy = retryPolicy; return this; } /** - * Sets the {@link FormRecognizerServiceVersion} that is used when making API requests. + * Sets the {@link DocumentAnalysisServiceVersion} that is used when making API requests. *

* If a service version is not provided, the service version that will be used will be the latest known service * version based on the version of the client library being used. If no service version is specified, updating to a * newer version the client library will have the result of potentially moving to a newer service version. * - * @param version {@link FormRecognizerServiceVersion} of the service to be used when making requests. + * @param version {@link DocumentAnalysisServiceVersion} of the service to be used when making requests. * - * @return The updated FormRecognizerClientBuilder object. + * @return The updated DocumentAnalysisClientBuilder object. */ - public FormRecognizerClientBuilder serviceVersion(FormRecognizerServiceVersion version) { + public DocumentAnalysisClientBuilder serviceVersion(DocumentAnalysisServiceVersion version) { this.version = version; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerServiceVersion.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisServiceVersion.java similarity index 62% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerServiceVersion.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisServiceVersion.java index 6e96a06e81862..46b8fafca1863 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerServiceVersion.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/DocumentAnalysisServiceVersion.java @@ -8,13 +8,12 @@ /** * The versions of Azure Form Recognizer supported by this client library. */ -public enum FormRecognizerServiceVersion implements ServiceVersion { - V2_0("v2.0"), - V2_1("v2.1"); +public enum DocumentAnalysisServiceVersion implements ServiceVersion { + V2021_09_30_PREVIEW("2021-09-30-preview"); private final String version; - FormRecognizerServiceVersion(String version) { + DocumentAnalysisServiceVersion(String version) { this.version = version; } @@ -29,9 +28,9 @@ public String getVersion() { /** * Gets the latest service version supported by this client library * - * @return the latest {@link FormRecognizerServiceVersion} + * @return the latest {@link DocumentAnalysisServiceVersion} */ - public static FormRecognizerServiceVersion getLatest() { - return V2_1; + public static DocumentAnalysisServiceVersion getLatest() { + return V2021_09_30_PREVIEW; } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java deleted file mode 100644 index 928dbd1f4c6b9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClient.java +++ /dev/null @@ -1,1287 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; -import com.azure.ai.formrecognizer.implementation.Utility; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeOperationResult; -import com.azure.ai.formrecognizer.implementation.models.ContentType; -import com.azure.ai.formrecognizer.implementation.models.Language; -import com.azure.ai.formrecognizer.implementation.models.Locale; -import com.azure.ai.formrecognizer.implementation.models.OperationStatus; -import com.azure.ai.formrecognizer.implementation.models.SourcePath; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.annotation.ReturnType; -import com.azure.core.annotation.ServiceClient; -import com.azure.core.annotation.ServiceMethod; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.rest.Response; -import com.azure.core.util.Context; -import com.azure.core.util.logging.ClientLogger; -import com.azure.core.util.polling.LongRunningOperationStatus; -import com.azure.core.util.polling.PollResponse; -import com.azure.core.util.polling.PollerFlux; -import com.azure.core.util.polling.PollingContext; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.nio.ByteBuffer; -import java.util.List; -import java.util.Objects; -import java.util.UUID; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static com.azure.ai.formrecognizer.Transforms.toRecognizedForm; -import static com.azure.ai.formrecognizer.Transforms.toRecognizedLayout; -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; -import static com.azure.ai.formrecognizer.implementation.Utility.detectContentType; -import static com.azure.ai.formrecognizer.implementation.Utility.parseModelId; -import static com.azure.ai.formrecognizer.implementation.Utility.urlActivationOperation; -import static com.azure.core.util.FluxUtil.monoError; - -/** - * This class provides an asynchronous client that contains all the operations that apply to Azure Form Recognizer. - * Operations allowed by the client are recognizing receipt, business card, invoice and identity document data from - * input documents, extracting layout information, analyzing custom forms for predefined data. - * - *

Instantiating an asynchronous Form Recognizer Client

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.instantiation} - * - * @see FormRecognizerClientBuilder - */ -@ServiceClient(builder = FormRecognizerClientBuilder.class, isAsync = true) -public final class FormRecognizerAsyncClient { - private final ClientLogger logger = new ClientLogger(FormRecognizerAsyncClient.class); - private final FormRecognizerClientImpl service; - private final FormRecognizerServiceVersion serviceVersion; - - /** - * Create a {@link FormRecognizerAsyncClient} that sends requests to the Form Recognizer service's endpoint. Each - * service call goes through the {@link FormRecognizerClientBuilder#pipeline(HttpPipeline)} http pipeline}. - * - * @param service The proxy service used to perform REST calls. - * @param serviceVersion The versions of Azure Form Recognizer supported by this client library. - */ - FormRecognizerAsyncClient(FormRecognizerClientImpl service, FormRecognizerServiceVersion serviceVersion) { - this.service = service; - this.serviceVersion = serviceVersion; - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model with or without labels. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param formUrl The URL of the form to analyze. - * - * @return A {@link PollerFlux} that polls the recognize custom form operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeCustomFormsFromUrl(String modelId, String formUrl) { - return beginRecognizeCustomFormsFromUrl(modelId, formUrl, null); - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param formUrl The source URL to the input form. - * @param recognizeCustomFormsOptions The additional configurable - * {@link RecognizeCustomFormsOptions options} that may be passed when recognizing custom forms. - * - * @return A {@link PollerFlux} that polls the recognize custom form operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, - RecognizeCustomFormsOptions recognizeCustomFormsOptions) { - return beginRecognizeCustomFormsFromUrl(formUrl, modelId, recognizeCustomFormsOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeCustomFormsFromUrl(String formUrl, String modelId, - RecognizeCustomFormsOptions recognizeCustomFormsOptions, - Context context) { - try { - Objects.requireNonNull(formUrl, "'formUrl' is required and cannot be null."); - Objects.requireNonNull(modelId, "'modelId' is required and cannot be null."); - - final RecognizeCustomFormsOptions finalRecognizeCustomFormsOptions - = getRecognizeCustomFormOptions(recognizeCustomFormsOptions); - final boolean isFieldElementsIncluded = finalRecognizeCustomFormsOptions.isFieldElementsIncluded(); - return new PollerFlux<>( - finalRecognizeCustomFormsOptions.getPollInterval(), - urlActivationOperation(() -> - service.analyzeWithCustomModelWithResponseAsync(UUID.fromString(modelId), - isFieldElementsIncluded, - finalRecognizeCustomFormsOptions.getPages(), - new SourcePath().setSource(formUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultUid -> - service.getAnalyzeFormResultWithResponseAsync(UUID.fromString(modelId), resultUid, context)), - (activationResponse, pollingContext) -> - Mono.error(new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeFormResultWithResponseAsync( - UUID.fromString(modelId), resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - modelId)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model with or without labels. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param form The data of the form to recognize form information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} that polls the recognize custom form operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeCustomForms(String modelId, Flux form, long length) { - return beginRecognizeCustomForms(modelId, form, length, null); - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model with or without labels. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long-RecognizeCustomFormsOptions} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param form The data of the form to recognize form information from. - * @param length The exact length of the data. - * @param recognizeCustomFormsOptions The additional configurable - * {@link RecognizeCustomFormsOptions options} that may be passed when recognizing custom forms. - * - * @return A {@link PollerFlux} that polls the recognize custom form operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeCustomForms(String modelId, Flux form, long length, - RecognizeCustomFormsOptions recognizeCustomFormsOptions) { - return beginRecognizeCustomForms(modelId, form, length, recognizeCustomFormsOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeCustomForms(String modelId, Flux form, long length, - RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context) { - try { - Objects.requireNonNull(form, "'form' is required and cannot be null."); - Objects.requireNonNull(modelId, "'modelId' is required and cannot be null."); - - final RecognizeCustomFormsOptions finalRecognizeCustomFormsOptions - = getRecognizeCustomFormOptions(recognizeCustomFormsOptions); - final boolean isFieldElementsIncluded = finalRecognizeCustomFormsOptions.isFieldElementsIncluded(); - return new PollerFlux<>( - finalRecognizeCustomFormsOptions.getPollInterval(), - streamActivationOperation( - contentType -> service.analyzeWithCustomModelWithResponseAsync(UUID.fromString(modelId), - ContentType.fromString(contentType.toString()), - isFieldElementsIncluded, - finalRecognizeCustomFormsOptions.getPages(), - form, - length, - context) - .map(response -> - new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - form, finalRecognizeCustomFormsOptions.getContentType()), - pollingOperation( - resultUuid -> service.getAnalyzeFormResultWithResponseAsync( - UUID.fromString(modelId), resultUuid, context)), - (activationResponse, pollingContext) -> - Mono.error(new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeFormResultWithResponseAsync( - UUID.fromString(modelId), resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - modelId)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes content/layout data from documents using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string} - * - * @param formUrl The URL of the form to analyze. - * - * @return A {@link PollerFlux} that polls the recognize content operation until it has completed, has failed, or - * has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeContentFromUrl(String formUrl) { - return beginRecognizeContentFromUrl(formUrl, null); - } - - /** - * Recognizes layout data from documents using optical character recognition (OCR) and a custom trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Content recognition supports auto language identification and multilanguage documents, so only - * provide a language code if you would like to force the documented to be processed as - * that specific language in the {@link RecognizeContentOptions options}.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions} - * - * @param formUrl The source URL to the input form. - * @param recognizeContentOptions The additional configurable {@link RecognizeContentOptions options} - * that may be passed when recognizing content/layout on a form. - * - * @return A {@link PollerFlux} that polls the recognized content/layout operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions) { - return beginRecognizeContentFromUrl(formUrl, recognizeContentOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeContentFromUrl(String formUrl, RecognizeContentOptions recognizeContentOptions, Context context) { - try { - Objects.requireNonNull(formUrl, "'formUrl' is required and cannot be null."); - - RecognizeContentOptions finalRecognizeContentOptions = getRecognizeContentOptions(recognizeContentOptions); - return new PollerFlux<>( - finalRecognizeContentOptions.getPollInterval(), - urlActivationOperation( - () -> service.analyzeLayoutAsyncWithResponseAsync( - finalRecognizeContentOptions.getPages(), - finalRecognizeContentOptions.getLanguage() == null - ? null : Language.fromString(finalRecognizeContentOptions.getLanguage().toString()), - finalRecognizeContentOptions.getReadingOrder() != null - ? com.azure.ai.formrecognizer.implementation.models.ReadingOrder.fromString( - finalRecognizeContentOptions.getReadingOrder().toString()) - : null, - new SourcePath().setSource(formUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultId -> service.getAnalyzeLayoutResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> - monoError(logger, new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeLayoutResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedLayout(modelSimpleResponse.getValue().getAnalyzeResult(), true)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes content/layout data using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long} - * - * @param form The data of the form to recognize content information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} polls the recognize content operation until it has completed, has failed, or has - * been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeContent( - Flux form, long length) { - return beginRecognizeContent(form, length, null); - } - - /** - * Recognizes content/layout data using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code data} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Content recognition supports auto language identification and multilanguage documents, so only - * provide a language code if you would like to force the documented to be processed as - * that specific language in the {@link RecognizeContentOptions options}.

- - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long-RecognizeContentOptions} - * - * @param form The data of the form to recognize content information from. - * @param length The exact length of the data. - * @param recognizeContentOptions The additional configurable {@link RecognizeContentOptions options} - * that may be passed when recognizing content/layout on a form. - * - * @return A {@link PollerFlux} polls the recognize content operation until it has completed, has failed, or has - * been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeContent(Flux form, - long length, RecognizeContentOptions recognizeContentOptions) { - return beginRecognizeContent(form, length, recognizeContentOptions, Context.NONE); - } - - PollerFlux> beginRecognizeContent(Flux form, long length, - RecognizeContentOptions recognizeContentOptions, Context context) { - try { - Objects.requireNonNull(form, "'form' is required and cannot be null."); - RecognizeContentOptions finalRecognizeContentOptions = getRecognizeContentOptions(recognizeContentOptions); - return new PollerFlux<>( - finalRecognizeContentOptions.getPollInterval(), - streamActivationOperation( - contentType -> service.analyzeLayoutAsyncWithResponseAsync(contentType, - finalRecognizeContentOptions.getPages(), - finalRecognizeContentOptions.getLanguage() == null - ? null : Language.fromString(finalRecognizeContentOptions.getLanguage().toString()), - finalRecognizeContentOptions.getReadingOrder() != null - ? com.azure.ai.formrecognizer.implementation.models.ReadingOrder.fromString( - finalRecognizeContentOptions.getReadingOrder().toString()) - : null, - form, - length, - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - form, finalRecognizeContentOptions.getContentType()), - pollingOperation(resultId -> service.getAnalyzeLayoutResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> - monoError(logger, new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeLayoutResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedLayout(modelSimpleResponse.getValue().getAnalyzeResult(), true)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes receipt data using optical character recognition (OCR) and a prebuilt receipt trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a receipt. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string} - * - * @param receiptUrl The URL of the receipt to analyze. - * - * @return A {@link PollerFlux} that polls the recognize receipt operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receiptUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeReceiptsFromUrl(String receiptUrl) { - return beginRecognizeReceiptsFromUrl(receiptUrl, null); - } - - /** - * Recognizes receipt data using optical character recognition (OCR) and a prebuilt receipt trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions} - * - * @param receiptUrl The source URL to the input receipt. - * @param recognizeReceiptsOptions The additional configurable {@link RecognizeReceiptsOptions options} - * that may be passed when analyzing a receipt. - * - * @return A {@link PollerFlux} that polls the recognize receipt operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receiptUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeReceiptsFromUrl(String receiptUrl, RecognizeReceiptsOptions recognizeReceiptsOptions) { - return beginRecognizeReceiptsFromUrl(receiptUrl, recognizeReceiptsOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeReceiptsFromUrl(String receiptUrl, - RecognizeReceiptsOptions recognizeReceiptsOptions, Context context) { - try { - Objects.requireNonNull(receiptUrl, "'receiptUrl' is required and cannot be null."); - - final RecognizeReceiptsOptions finalRecognizeReceiptsOptions - = getRecognizeReceiptOptions(recognizeReceiptsOptions); - final boolean isFieldElementsIncluded = finalRecognizeReceiptsOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeReceiptsOptions.getLocale(); - return new PollerFlux<>( - finalRecognizeReceiptsOptions.getPollInterval(), - urlActivationOperation( - () -> service.analyzeReceiptAsyncWithResponseAsync(isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeReceiptsOptions.getPages(), - new SourcePath().setSource(receiptUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultId -> service.getAnalyzeReceiptResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeReceiptResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes receipt data using optical character recognition (OCR) and a prebuilt receipt - * trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a receipt. - * - * Note that the {@code receipt} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long} - * - * @param receipt The data of the document to recognize receipt information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} that polls the recognize receipt operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receipt} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeReceipts( - Flux receipt, long length) { - return beginRecognizeReceipts(receipt, length, null); - } - - /** - * Recognizes receipt data from documents using optical character recognition (OCR) - * and a prebuilt receipt trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a receipt. - * - * Note that the {@code receipt} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long-RecognizeReceiptsOptions} - * - * @param receipt The data of the document to recognize receipt information from. - * @param length The exact length of the data. - * @param recognizeReceiptsOptions The additional configurable {@link RecognizeReceiptsOptions options} - * that may be passed when analyzing a receipt. - * - * @return A {@link PollerFlux} that polls the recognize receipt operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receipt} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeReceipts(Flux receipt, long length, - RecognizeReceiptsOptions recognizeReceiptsOptions) { - return beginRecognizeReceipts(receipt, length, recognizeReceiptsOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeReceipts(Flux receipt, long length, - RecognizeReceiptsOptions recognizeReceiptsOptions, - Context context) { - try { - Objects.requireNonNull(receipt, "'receipt' is required and cannot be null."); - final RecognizeReceiptsOptions finalRecognizeReceiptsOptions - = getRecognizeReceiptOptions(recognizeReceiptsOptions); - final boolean isFieldElementsIncluded = finalRecognizeReceiptsOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeReceiptsOptions.getLocale(); - return new PollerFlux<>( - finalRecognizeReceiptsOptions.getPollInterval(), - streamActivationOperation( - (contentType -> service.analyzeReceiptAsyncWithResponseAsync( - contentType, - isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeReceiptsOptions.getPages(), - receipt, - length, - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation())))), - receipt, finalRecognizeReceiptsOptions.getContentType()), - pollingOperation(resultId -> service.getAnalyzeReceiptResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeReceiptResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes business card data using optical character recognition (OCR) and a prebuilt business card trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string} - * - * @param businessCardUrl The source URL to the input business card. - * - * @return A {@link PollerFlux} that polls the recognize business card operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCardUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeBusinessCardsFromUrl( - String businessCardUrl) { - return beginRecognizeBusinessCardsFromUrl(businessCardUrl, null); - } - - /** - * Recognizes business card data using optical character recognition (OCR) and a prebuilt business card trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions} - * - * @param businessCardUrl The source URL to the input business card. - * @param recognizeBusinessCardsOptions The additional configurable {@link RecognizeBusinessCardsOptions options} - * that may be passed when analyzing a business card. - * - * @return A {@link PollerFlux} that polls the recognize business card operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCardUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeBusinessCardsFromUrl( - String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions) { - return beginRecognizeBusinessCardsFromUrl(businessCardUrl, recognizeBusinessCardsOptions, Context.NONE); - } - - PollerFlux> beginRecognizeBusinessCardsFromUrl( - String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context) { - try { - Objects.requireNonNull(businessCardUrl, "'businessCardUrl' is required and cannot be null."); - - final RecognizeBusinessCardsOptions finalRecognizeBusinessCardsOptions - = getRecognizeBusinessCardsOptions(recognizeBusinessCardsOptions); - final boolean isFieldElementsIncluded = finalRecognizeBusinessCardsOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeBusinessCardsOptions.getLocale(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - urlActivationOperation( - () -> service.analyzeBusinessCardAsyncWithResponseAsync(isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeBusinessCardsOptions.getPages(), - new SourcePath().setSource(businessCardUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultId -> service.getAnalyzeBusinessCardResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeBusinessCardResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> toRecognizedForm( - modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes business card data using optical character recognition (OCR) and a prebuilt business card - * trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a business card. - * - * Note that the {@code businessCard} passed must be replayable if retries are enabled (the default). - * In other words, the {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long} - * - * @param businessCard The data of the document to recognize business card information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} that polls the recognize business card operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCard} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeBusinessCards( - Flux businessCard, long length) { - return beginRecognizeBusinessCards(businessCard, length, null); - } - - /** - * Recognizes business card data from documents using optical character recognition (OCR) - * and a prebuilt business card trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a business card. - * - * Note that the {@code businessCard} passed must be replayable if retries are enabled (the default). - * In other words, the {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long-RecognizeBusinessCardsOptions} - * - * @param businessCard The data of the document to recognize business card information from. - * @param length The exact length of the data. - * @param recognizeBusinessCardsOptions The additional configurable {@link RecognizeBusinessCardsOptions options} - * that may be passed when analyzing a business card. - * - * @return A {@link PollerFlux} that polls the recognize business card operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCard} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeBusinessCards( - Flux businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions) { - return beginRecognizeBusinessCards(businessCard, length, recognizeBusinessCardsOptions, Context.NONE); - } - - PollerFlux> beginRecognizeBusinessCards( - Flux businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, - Context context) { - try { - Objects.requireNonNull(businessCard, "'businessCard' is required and cannot be null."); - final RecognizeBusinessCardsOptions finalRecognizeBusinessCardsOptions - = getRecognizeBusinessCardsOptions(recognizeBusinessCardsOptions); - final boolean isFieldElementsIncluded = finalRecognizeBusinessCardsOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeBusinessCardsOptions.getLocale(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - streamActivationOperation( - (contentType -> service.analyzeBusinessCardAsyncWithResponseAsync( - contentType, - isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeBusinessCardsOptions.getPages(), - businessCard, - length, - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation())))), - businessCard, finalRecognizeBusinessCardsOptions.getContentType()), - pollingOperation(resultId -> service.getAnalyzeBusinessCardResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeBusinessCardResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> toRecognizedForm( - modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string} - * - * @param identityDocumentUrl The source URL to the input identity document. - * - * @return A {@link PollerFlux} that polls the recognize identity document operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocumentUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeIdentityDocumentsFromUrl( - String identityDocumentUrl) { - return beginRecognizeIdentityDocumentsFromUrl(identityDocumentUrl, null); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions} - * - * @param identityDocumentUrl The source URL to the input identity document. - * @param recognizeIdentityDocumentOptions The additional configurable - * {@link RecognizeIdentityDocumentOptions options} that may be passed when analyzing an identity document. - * - * @return A {@link PollerFlux} that polls the analyze identity document operation until it has completed, has - * failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocumentUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeIdentityDocumentsFromUrl( - String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions) { - return beginRecognizeIdentityDocumentsFromUrl(identityDocumentUrl, recognizeIdentityDocumentOptions, - Context.NONE); - } - - PollerFlux> beginRecognizeIdentityDocumentsFromUrl( - String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, - Context context) { - try { - Objects.requireNonNull(identityDocumentUrl, "'identityDocumentUrl' is required and cannot be null."); - - final RecognizeIdentityDocumentOptions finalRecognizeIdentityDocumentOptions - = getRecognizeIdentityDocumentOptions(recognizeIdentityDocumentOptions); - final boolean isFieldElementsIncluded = finalRecognizeIdentityDocumentOptions.isFieldElementsIncluded(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - urlActivationOperation( - () -> service.analyzeIdDocumentAsyncWithResponseAsync(isFieldElementsIncluded, - finalRecognizeIdentityDocumentOptions.getPages(), - new SourcePath().setSource(identityDocumentUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultId -> service.getAnalyzeIdDocumentResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeIdDocumentResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> toRecognizedForm( - modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code identityDocument} passed must be replayable if retries are enabled (the default). - * In other words, the {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long} - * - * @param identityDocument The data of the document to recognize identity document information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} that polls the recognize identity document operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocument} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeIdentityDocuments( - Flux identityDocument, long length) { - return beginRecognizeIdentityDocuments(identityDocument, length, null); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - * Note that the {@code identityDocument} passed must be replayable if retries are enabled (the default). - * In other words, the {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long-RecognizeIdentityDocumentOptions} - * - * @param identityDocument The data of the document to recognize identity document information from. - * @param length The exact length of the data. - * @param recognizeIdentityDocumentOptions The additional configurable - * {@link RecognizeIdentityDocumentOptions options} that may be passed when analyzing an identity document. - * - * @return A {@link PollerFlux} that polls the recognize identity document operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocument} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeIdentityDocuments( - Flux identityDocument, long length, - RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions) { - return beginRecognizeIdentityDocuments(identityDocument, length, recognizeIdentityDocumentOptions, - Context.NONE); - } - - PollerFlux> beginRecognizeIdentityDocuments( - Flux identityDocument, long length, - RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, Context context) { - try { - Objects.requireNonNull(identityDocument, "'identityDocument' is required and cannot be null."); - final RecognizeIdentityDocumentOptions finalRecognizeIdentityDocumentOptions - = getRecognizeIdentityDocumentOptions(recognizeIdentityDocumentOptions); - final boolean isFieldElementsIncluded = finalRecognizeIdentityDocumentOptions.isFieldElementsIncluded(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - streamActivationOperation( - (contentType -> service.analyzeIdDocumentAsyncWithResponseAsync( - contentType, - isFieldElementsIncluded, - finalRecognizeIdentityDocumentOptions.getPages(), - identityDocument, - length, - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation())))), - identityDocument, finalRecognizeIdentityDocumentOptions.getContentType()), - pollingOperation(resultId -> service.getAnalyzeIdDocumentResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeIdDocumentResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> toRecognizedForm( - modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /* - * Poller's ACTIVATION operation that takes stream as input. - */ - private Function, Mono> - streamActivationOperation( - Function> activationOperation, Flux form, - FormContentType contentType) { - return pollingContext -> { - try { - Objects.requireNonNull(form, "'form' is required and cannot be null."); - if (contentType != null) { - return activationOperation.apply(ContentType.fromString(contentType.toString())) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } else { - return detectContentType(form) - .flatMap(activationOperation::apply) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - /* - * Poller's POLLING operation. - */ - private Function, Mono>> - pollingOperation( - Function>> pollingFunction) { - return pollingContext -> { - try { - final PollResponse operationResultPollResponse = - pollingContext.getLatestResponse(); - final UUID resultUuid = UUID.fromString(operationResultPollResponse.getValue().getResultId()); - return pollingFunction.apply(resultUuid) - .flatMap(modelResponse -> processAnalyzeModelResponse(modelResponse, - operationResultPollResponse)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - /* - * Poller's FETCHING operation. - */ - private Function, Mono>> - fetchingOperation( - Function>> fetchingFunction) { - return pollingContext -> { - try { - final UUID resultUuid = UUID.fromString(pollingContext.getLatestResponse().getValue().getResultId()); - return fetchingFunction.apply(resultUuid); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - private Mono> processAnalyzeModelResponse( - Response analyzeOperationResultResponse, - PollResponse operationResultPollResponse) { - LongRunningOperationStatus status; - switch (analyzeOperationResultResponse.getValue().getStatus()) { - case NOT_STARTED: - case RUNNING: - status = LongRunningOperationStatus.IN_PROGRESS; - break; - case SUCCEEDED: - status = LongRunningOperationStatus.SUCCESSFULLY_COMPLETED; - break; - case FAILED: - throw logger.logExceptionAsError(new FormRecognizerException("Analyze operation failed", - analyzeOperationResultResponse.getValue().getAnalyzeResult().getErrors().stream() - .map(errorInformation -> - new FormRecognizerErrorInformation(errorInformation.getCode(), - errorInformation.getMessage())) - .collect(Collectors.toList()))); - default: - status = LongRunningOperationStatus.fromString( - analyzeOperationResultResponse.getValue().getStatus().toString(), true); - break; - } - return Mono.just(new PollResponse<>(status, operationResultPollResponse.getValue())); - } - - /** - * Recognizes invoice data using optical character recognition (OCR) and a prebuilt invoice trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a invoice. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string} - * - * @param invoiceUrl The URL of the invoice to analyze. - * - * @return A {@link PollerFlux} that polls the recognize invoice operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoiceUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeInvoicesFromUrl(String invoiceUrl) { - return beginRecognizeInvoicesFromUrl(invoiceUrl, null); - } - - /** - * Recognizes invoice data using optical character recognition (OCR) and a prebuilt invoice trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions} - * - * @param invoiceUrl The source URL to the input invoice. - * @param recognizeInvoicesOptions The additional configurable {@link RecognizeInvoicesOptions options} - * that may be passed when analyzing a invoice. - * - * @return A {@link PollerFlux} that polls the recognize invoice operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoiceUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeInvoicesFromUrl(String invoiceUrl, RecognizeInvoicesOptions recognizeInvoicesOptions) { - return beginRecognizeInvoicesFromUrl(invoiceUrl, recognizeInvoicesOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeInvoicesFromUrl(String invoiceUrl, - RecognizeInvoicesOptions recognizeInvoicesOptions, Context context) { - try { - Objects.requireNonNull(invoiceUrl, "'invoiceUrl' is required and cannot be null."); - - final RecognizeInvoicesOptions finalRecognizeInvoicesOptions - = getRecognizeInvoicesOptions(recognizeInvoicesOptions); - final boolean isFieldElementsIncluded = finalRecognizeInvoicesOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeInvoicesOptions.getLocale(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - urlActivationOperation( - () -> service.analyzeInvoiceAsyncWithResponseAsync(isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeInvoicesOptions.getPages(), - new SourcePath().setSource(invoiceUrl), - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))), - logger), - pollingOperation(resultId -> service.getAnalyzeInvoiceResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeInvoiceResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - /** - * Recognizes invoice data using optical character recognition (OCR) and a prebuilt invoice - * trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a invoice. - * - * Note that the {@code invoice} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long} - * - * @param invoice The data of the document to recognize invoice information from. - * @param length The exact length of the data. - * - * @return A {@link PollerFlux} that polls the recognize invoice operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoice} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> beginRecognizeInvoices( - Flux invoice, long length) { - return beginRecognizeInvoices(invoice, length, null); - } - - /** - * Recognizes invoice data from documents using optical character recognition (OCR) - * and a prebuilt invoice trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here for fields found on a invoice. - * - * Note that the {@code invoice} passed must be replayable if retries are enabled (the default). In other words, the - * {@code Flux} must produce the same data each time it is subscribed to. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long-RecognizeInvoicesOptions} - * - * @param invoice The data of the document to recognize invoice information from. - * @param length The exact length of the data. - * @param recognizeInvoicesOptions The additional configurable {@link RecognizeInvoicesOptions options} - * that may be passed when analyzing a invoice. - * - * @return A {@link PollerFlux} that polls the recognize invoice operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoice} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux> - beginRecognizeInvoices(Flux invoice, long length, - RecognizeInvoicesOptions recognizeInvoicesOptions) { - return beginRecognizeInvoices(invoice, length, recognizeInvoicesOptions, Context.NONE); - } - - PollerFlux> - beginRecognizeInvoices(Flux invoice, long length, - RecognizeInvoicesOptions recognizeInvoicesOptions, - Context context) { - try { - Objects.requireNonNull(invoice, "'invoice' is required and cannot be null."); - final RecognizeInvoicesOptions finalRecognizeInvoicesOptions - = getRecognizeInvoicesOptions(recognizeInvoicesOptions); - final boolean isFieldElementsIncluded = finalRecognizeInvoicesOptions.isFieldElementsIncluded(); - final FormRecognizerLocale localeInfo = finalRecognizeInvoicesOptions.getLocale(); - return new PollerFlux<>( - DEFAULT_POLL_INTERVAL, - streamActivationOperation( - (contentType -> service.analyzeInvoiceAsyncWithResponseAsync( - contentType, - isFieldElementsIncluded, - localeInfo == null ? null : Locale.fromString(localeInfo.toString()), - finalRecognizeInvoicesOptions.getPages(), - invoice, - length, - context) - .map(response -> new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation())))), - invoice, finalRecognizeInvoicesOptions.getContentType()), - pollingOperation(resultId -> service.getAnalyzeInvoiceResultWithResponseAsync(resultId, context)), - (activationResponse, pollingContext) -> monoError(logger, - new RuntimeException("Cancellation is not supported")), - fetchingOperation(resultId -> service.getAnalyzeInvoiceResultWithResponseAsync(resultId, context)) - .andThen(after -> after.map(modelSimpleResponse -> - toRecognizedForm(modelSimpleResponse.getValue().getAnalyzeResult(), - isFieldElementsIncluded, - null)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists))); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - private static RecognizeCustomFormsOptions - getRecognizeCustomFormOptions(RecognizeCustomFormsOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeCustomFormsOptions() : userProvidedOptions; - } - - private static RecognizeContentOptions - getRecognizeContentOptions(RecognizeContentOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeContentOptions() : userProvidedOptions; - } - - private static RecognizeReceiptsOptions - getRecognizeReceiptOptions(RecognizeReceiptsOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeReceiptsOptions() : userProvidedOptions; - } - - private static RecognizeBusinessCardsOptions getRecognizeBusinessCardsOptions( - RecognizeBusinessCardsOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeBusinessCardsOptions() : userProvidedOptions; - } - - private static RecognizeInvoicesOptions - getRecognizeInvoicesOptions(RecognizeInvoicesOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeInvoicesOptions() : userProvidedOptions; - } - - private static RecognizeIdentityDocumentOptions getRecognizeIdentityDocumentOptions( - RecognizeIdentityDocumentOptions userProvidedOptions) { - return userProvidedOptions == null ? new RecognizeIdentityDocumentOptions() : userProvidedOptions; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java deleted file mode 100644 index 07dfe7df5ca3b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/FormRecognizerClient.java +++ /dev/null @@ -1,695 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.implementation.models.AnalyzeOperationResult; -import com.azure.ai.formrecognizer.implementation.models.OperationStatus; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.annotation.ReturnType; -import com.azure.core.annotation.ServiceClient; -import com.azure.core.annotation.ServiceMethod; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; -import reactor.core.publisher.Flux; - -import java.io.InputStream; -import java.nio.ByteBuffer; -import java.util.List; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * This class provides a synchronous client that contains all the operations that apply to Azure Form Recognizer. - * Operations allowed by the client are recognizing receipt, business card, invoice and identity document data from - * input documents, recognizing layout information and analyzing custom forms for predefined data. - * - *

Instantiating a synchronous Form Recognizer Client

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.instantiation} - * - * @see FormRecognizerClientBuilder - */ -@ServiceClient(builder = FormRecognizerClientBuilder.class) -public final class FormRecognizerClient { - private final FormRecognizerAsyncClient client; - - /** - * Create a {@link FormRecognizerClient client} that sends requests to the Form Recognizer service's endpoint. - * Each service call goes through the {@link FormRecognizerClientBuilder#pipeline http pipeline}. - * - * @param client The {@link FormRecognizerClient} that the client routes its request through. - */ - FormRecognizerClient(FormRecognizerAsyncClient client) { - this.client = client; - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model with or without labels. - *

The service does not support cancellation of the long running operation and returns with an error message - * indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param formUrl The URL of the form to analyze. - * - * @return A {@link SyncPoller} to poll the progress of the recognize custom form operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeCustomFormsFromUrl(String modelId, String formUrl) { - return beginRecognizeCustomFormsFromUrl(modelId, formUrl, null, Context.NONE); - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) - * and a custom trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions-Context} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param formUrl The source URL to the input form. - * @param recognizeCustomFormsOptions The additional configurable - * {@link RecognizeCustomFormsOptions options} that may be passed when recognizing custom forms. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} to poll the progress of the recognize custom form operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeCustomFormsFromUrl(String modelId, String formUrl, - RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context) { - return client.beginRecognizeCustomFormsFromUrl(formUrl, modelId, - recognizeCustomFormsOptions, context).getSyncPoller(); - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model with or without labels. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long} - * - * @param modelId The UUID string format custom trained model Id to be used. - * - * @param form The data of the form to recognize form information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize custom form operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeCustomForms(String modelId, InputStream form, long length) { - return beginRecognizeCustomForms(modelId, form, length, null, Context.NONE); - } - - /** - * Recognizes form data from documents using optical character recognition (OCR) and a custom trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long-RecognizeCustomFormsOptions-Context} - * - * @param modelId The UUID string format custom trained model Id to be used. - * @param form The data of the form to recognize form information from. - * @param length The exact length of the data. - * @param recognizeCustomFormsOptions The additional configurable - * {@link RecognizeCustomFormsOptions options} that may be passed when recognizing custom forms. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize custom form operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form}, {@code modelId} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeCustomForms(String modelId, InputStream form, long length, - RecognizeCustomFormsOptions recognizeCustomFormsOptions, Context context) { - Flux buffer = toFluxByteBuffer(form); - return client.beginRecognizeCustomForms(modelId, buffer, length, - recognizeCustomFormsOptions, context).getSyncPoller(); - } - - /** - * Recognizes content/layout data from documents using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string} - * - * @param formUrl The URL of the form to analyze. - * - * @return A {@link SyncPoller} that polls the recognize content form operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeContentFromUrl(String formUrl) { - return beginRecognizeContentFromUrl(formUrl, null, Context.NONE); - } - - /** - * Recognizes content/layout data using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Content recognition supports auto language identification and multilanguage documents, so only - * provide a language code if you would like to force the documented to be processed as - * that specific language in the {@link RecognizeContentOptions options}.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions-Context} - * - * @param formUrl The source URL to the input form. - * @param recognizeContentOptions The additional configurable {@link RecognizeContentOptions options} - * that may be passed when recognizing content/layout on a form. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize layout operation until it has completed, has - * failed, or has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code formUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeContentFromUrl(String formUrl, - RecognizeContentOptions recognizeContentOptions, Context context) { - return client.beginRecognizeContentFromUrl(formUrl, recognizeContentOptions, context).getSyncPoller(); - } - - /** - * Recognizes layout data using optical character recognition (OCR) and a custom trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long} - * - * @param form The data of the form to recognize content information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize content operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeContent(InputStream form, long length) { - return beginRecognizeContent(form, length, null, Context.NONE); - } - - /** - * Recognizes content/layout data from the provided document data using optical character recognition (OCR). - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Content recognition supports auto language identification and multilanguage documents, so only - * provide a language code if you would like to force the documented to be processed as - * that specific language in the {@link RecognizeContentOptions options}.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long-RecognizeContentOptions-Context} - * - * @param form The data of the form to recognize content information from. - * @param length The exact length of the data. - * @param recognizeContentOptions The additional configurable {@link RecognizeContentOptions options} - * that may be passed when recognizing content/layout on a form. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize content operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link FormPage}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code form} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeContent(InputStream form, - long length, RecognizeContentOptions recognizeContentOptions, Context context) { - Flux buffer = toFluxByteBuffer(form); - return client.beginRecognizeContent(buffer, length, recognizeContentOptions, context).getSyncPoller(); - } - - /** - * Recognizes receipt data from document using optical character recognition (OCR) and a prebuilt receipt trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a receipt. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string} - * - * @param receiptUrl The URL of the receipt to analyze. - * - * @return A {@link SyncPoller} to poll the progress of the recognize receipt operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receiptUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeReceiptsFromUrl(String receiptUrl) { - return beginRecognizeReceiptsFromUrl(receiptUrl, null, Context.NONE); - } - - /** - * Recognizes receipt data from documents using optical character recognition (OCR) and a - * prebuilt receipt trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions-Context} - * - * @param receiptUrl The source URL to the input receipt. - * @param recognizeReceiptsOptions The additional configurable {@link RecognizeReceiptsOptions options} - * that may be passed when analyzing a receipt. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} to poll the progress of the recognize receipt operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receiptUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeReceiptsFromUrl(String receiptUrl, - RecognizeReceiptsOptions recognizeReceiptsOptions, Context context) { - return client.beginRecognizeReceiptsFromUrl(receiptUrl, recognizeReceiptsOptions, context).getSyncPoller(); - } - - /** - * Recognizes data from the provided document data using optical character recognition (OCR) - * and a prebuilt trained receipt model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a receipt. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long} - * - * @param receipt The data of the receipt to recognize receipt information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize receipt operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receipt} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeReceipts(InputStream receipt, long length) { - return beginRecognizeReceipts(receipt, length, null, Context.NONE); - } - - /** - * Recognizes data from the provided document data using optical character recognition (OCR) and a prebuilt - * trained receipt model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a receipt. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long-RecognizeReceiptsOptions-Context} - * - * @param receipt The data of the receipt to recognize receipt information from. - * @param length The exact length of the data. - * @param recognizeReceiptsOptions The additional configurable {@link RecognizeReceiptsOptions options} - * that may be passed when analyzing a receipt. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize receipt operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code receipt} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeReceipts(InputStream receipt, long length, - RecognizeReceiptsOptions recognizeReceiptsOptions, Context context) { - Flux buffer = toFluxByteBuffer(receipt); - return client.beginRecognizeReceipts(buffer, length, recognizeReceiptsOptions, context).getSyncPoller(); - } - - /** - * Recognizes business card data from document using optical character recognition (OCR) and a prebuilt - * business card trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string} - * - * @param businessCardUrl The source URL to the input business card. - * - * @return A {@link SyncPoller} to poll the progress of the recognize business card operation until it has - * completed, has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCardUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeBusinessCardsFromUrl( - String businessCardUrl) { - return beginRecognizeBusinessCardsFromUrl(businessCardUrl, null, Context.NONE); - } - - /** - * Recognizes business card data from documents using optical character recognition (OCR) and a - * prebuilt business card trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions-Context} - * - * @param businessCardUrl The source URL to the input business card. - * @param recognizeBusinessCardsOptions The additional configurable {@link RecognizeBusinessCardsOptions options} - * that may be passed when analyzing a business card. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} to poll the progress of the recognize business card operation until it has - * completed, has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCardUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeBusinessCardsFromUrl( - String businessCardUrl, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, Context context) { - return client.beginRecognizeBusinessCardsFromUrl(businessCardUrl, recognizeBusinessCardsOptions, context) - .getSyncPoller(); - } - - /** - * Recognizes business card data from the provided document data using optical character recognition (OCR) - * and a prebuilt trained business card model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long} - * - * @param businessCard The data of the business card to recognize business card information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize business card operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCard} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeBusinessCards( - InputStream businessCard, long length) { - return beginRecognizeBusinessCards(businessCard, length, null, Context.NONE); - } - - /** - * Recognizes business card data from the provided document data using optical character recognition (OCR) - * and a prebuilt trained business card model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a business card. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long-RecognizeBusinessCardsOptions-Context} - * - * @param businessCard The data of the business card to recognize business card information from. - * @param length The exact length of the data. - * @param recognizeBusinessCardsOptions The additional configurable {@link RecognizeBusinessCardsOptions options} - * that may be passed when analyzing a business card. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize business card operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code businessCard} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeBusinessCards( - InputStream businessCard, long length, RecognizeBusinessCardsOptions recognizeBusinessCardsOptions, - Context context) { - return client.beginRecognizeBusinessCards(toFluxByteBuffer(businessCard), length, - recognizeBusinessCardsOptions, context).getSyncPoller(); - } - - /** - * Recognizes invoice data from document using optical character recognition (OCR) and a prebuilt invoice trained - * model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on an invoice. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string} - * - * @param invoiceUrl The URL of the invoice document to analyze. - * - * @return A {@link SyncPoller} to poll the progress of the recognize invoice operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoiceUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeInvoicesFromUrl(String invoiceUrl) { - return beginRecognizeInvoicesFromUrl(invoiceUrl, null, Context.NONE); - } - - /** - * Recognizes invoice data from documents using optical character recognition (OCR) and a - * prebuilt invoice trained model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions-Context} - * - * @param invoiceUrl The source URL to the input invoice document. - * @param recognizeInvoicesOptions The additional configurable {@link RecognizeInvoicesOptions options} - * that may be passed when analyzing an invoice. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} to poll the progress of the recognize invoice operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoiceUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeInvoicesFromUrl(String invoiceUrl, - RecognizeInvoicesOptions recognizeInvoicesOptions, Context context) { - return client.beginRecognizeInvoicesFromUrl(invoiceUrl, recognizeInvoicesOptions, context).getSyncPoller(); - } - - /** - * Recognizes data from the provided document data using optical character recognition (OCR) - * and a prebuilt trained invoice model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a invoice. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long} - * - * @param invoice The data of the invoice to recognize invoice related information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize invoice operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoice} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> - beginRecognizeInvoices(InputStream invoice, long length) { - return beginRecognizeInvoices(invoice, length, null, Context.NONE); - } - - /** - * Recognizes data from the provided document data using optical character recognition (OCR) and a prebuilt - * trained invoice model. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * See here for fields found on a invoice. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long-RecognizeInvoicesOptions-Context} - * - * @param invoice The data of the invoice to recognize invoice related information from. - * @param length The exact length of the data. - * @param recognizeInvoicesOptions The additional configurable {@link RecognizeInvoicesOptions options} - * that may be passed when analyzing a invoice. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize invoice operation until it has completed, has failed, - * or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code invoice} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeInvoices(InputStream invoice, - long length, RecognizeInvoicesOptions recognizeInvoicesOptions, Context context) { - Flux buffer = toFluxByteBuffer(invoice); - return client.beginRecognizeInvoices(buffer, length, recognizeInvoicesOptions, context).getSyncPoller(); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string} - * - * @param identityDocumentUrl The source URL to the input identity document. - * - * @return A {@link SyncPoller} to poll the progress of the recognize identity document operation until it has - * completed, has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocumentUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeIdentityDocumentsFromUrl( - String identityDocumentUrl) { - return beginRecognizeIdentityDocumentsFromUrl(identityDocumentUrl, null, Context.NONE); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions-Context} - * - * @param identityDocumentUrl The source URL to the input identity Document. - * @param recognizeIdentityDocumentOptions The additional configurable - * {@link RecognizeIdentityDocumentOptions options} that may be passed when analyzing an identity document. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} to poll the progress of the recognize identity document operation until it has - * completed, has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocumentUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeIdentityDocumentsFromUrl( - String identityDocumentUrl, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, - Context context) { - return client.beginRecognizeIdentityDocumentsFromUrl(identityDocumentUrl, recognizeIdentityDocumentOptions, - context).getSyncPoller(); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long} - * - * @param identityDocument The data of the identity document to recognize identity document information from. - * @param length The exact length of the data. - * - * @return A {@link SyncPoller} that polls the recognize identity Document operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocument} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeIdentityDocuments( - InputStream identityDocument, long length) { - return beginRecognizeIdentityDocuments(identityDocument, length, null, Context.NONE); - } - - /** - * Analyze identity documents using optical character recognition (OCR) and a prebuilt model trained on identity - * documents model to extract key information from passports and US driver licenses. - * See here for fields found on an identity document. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long-RecognizeIdentityDocumentOptions-Context} - * - * @param identityDocument The data of the identity document to recognize information from. - * @param length The exact length of the data. - * @param recognizeIdentityDocumentOptions The additional configurable - * {@link RecognizeIdentityDocumentOptions options} that may be passed when analyzing an identity document. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the recognize identity document operation until it has completed, - * has failed, or has been cancelled. The completed operation returns a list of {@link RecognizedForm}. - * @throws FormRecognizerException If recognize operation fails and the {@link AnalyzeOperationResult} returned with - * an {@link OperationStatus#FAILED}. - * @throws NullPointerException If {@code identityDocument} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller> beginRecognizeIdentityDocuments( - InputStream identityDocument, long length, RecognizeIdentityDocumentOptions recognizeIdentityDocumentOptions, - Context context) { - return client.beginRecognizeIdentityDocuments(toFluxByteBuffer(identityDocument), length, - recognizeIdentityDocumentOptions, context).getSyncPoller(); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/Transforms.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/Transforms.java deleted file mode 100644 index 583a74c00ee2a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/Transforms.java +++ /dev/null @@ -1,630 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.implementation.FormLineHelper; -import com.azure.ai.formrecognizer.implementation.FormPageHelper; -import com.azure.ai.formrecognizer.implementation.FormSelectionMarkHelper; -import com.azure.ai.formrecognizer.implementation.FormTableHelper; -import com.azure.ai.formrecognizer.implementation.RecognizedFormHelper; -import com.azure.ai.formrecognizer.implementation.TextAppearanceHelper; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeResult; -import com.azure.ai.formrecognizer.implementation.models.DocumentResult; -import com.azure.ai.formrecognizer.implementation.models.FieldValue; -import com.azure.ai.formrecognizer.implementation.models.FieldValueSelectionMark; -import com.azure.ai.formrecognizer.implementation.models.KeyValuePair; -import com.azure.ai.formrecognizer.implementation.models.PageResult; -import com.azure.ai.formrecognizer.implementation.models.ReadResult; -import com.azure.ai.formrecognizer.implementation.models.SelectionMarkState; -import com.azure.ai.formrecognizer.implementation.models.TextLine; -import com.azure.ai.formrecognizer.implementation.models.TextWord; -import com.azure.ai.formrecognizer.models.FieldBoundingBox; -import com.azure.ai.formrecognizer.models.FieldData; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormElement; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormLine; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormPageRange; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.ai.formrecognizer.models.FormTableCell; -import com.azure.ai.formrecognizer.models.FormWord; -import com.azure.ai.formrecognizer.models.LengthUnit; -import com.azure.ai.formrecognizer.models.Point; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.models.TextAppearance; -import com.azure.ai.formrecognizer.models.TextStyleName; -import com.azure.core.util.CoreUtils; -import com.azure.core.util.logging.ClientLogger; - -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import static com.azure.ai.formrecognizer.implementation.Utility.forEachWithIndex; -import static com.azure.ai.formrecognizer.implementation.models.FieldValueType.ARRAY; - -/** - * Helper class to convert service level models to SDK exposed models. - */ -final class Transforms { - private static final ClientLogger LOGGER = new ClientLogger(Transforms.class); - // Pattern match to find all non-digits in the provided string. - private static final Pattern NON_DIGIT_PATTERN = Pattern.compile("[^0-9]+"); - private static final float DEFAULT_CONFIDENCE_VALUE = 1.0f; - private static final int DEFAULT_TABLE_SPAN = 1; - - private Transforms() { - } - - /** - * Helper method to transform the service returned {@link AnalyzeResult} to SDK model {@link RecognizedForm}. - * - * @param analyzeResult The service returned result for analyze custom forms. - * @param includeFieldElements Boolean to indicate if to set reference elements data on fields. - * - * @param modelId the unlabeled model Id used for recognition. - * @return The List of {@code RecognizedForm}. - */ - static List toRecognizedForm(AnalyzeResult analyzeResult, boolean includeFieldElements, - String modelId) { - List readResults = analyzeResult.getReadResults(); - List documentResults = analyzeResult.getDocumentResults(); - List pageResults = analyzeResult.getPageResults(); - List extractedFormList; - - List formPages = toRecognizedLayout(analyzeResult, includeFieldElements); - - if (!CoreUtils.isNullOrEmpty(documentResults)) { - extractedFormList = new ArrayList<>(); - for (DocumentResult documentResultItem : documentResults) { - FormPageRange formPageRange; - List documentPageRange = documentResultItem.getPageRange(); - if (documentPageRange.size() == 2) { - formPageRange = new FormPageRange(documentPageRange.get(0), documentPageRange.get(1)); - } else { - formPageRange = new FormPageRange(1, 1); - } - - Map extractedFieldMap = getLabeledFieldMap(documentResultItem, readResults); - final RecognizedForm recognizedForm = new RecognizedForm( - extractedFieldMap, - documentResultItem.getDocType(), - formPageRange, - formPages.subList(formPageRange.getFirstPageNumber() - 1, formPageRange.getLastPageNumber())); - - RecognizedFormHelper.setFormTypeConfidence(recognizedForm, documentResultItem.getDocTypeConfidence()); - if (documentResultItem.getModelId() != null) { - RecognizedFormHelper.setModelId(recognizedForm, documentResultItem.getModelId().toString()); - } - extractedFormList.add(recognizedForm); - } - } else { - extractedFormList = new ArrayList<>(); - if (!CoreUtils.isNullOrEmpty(pageResults)) { - forEachWithIndex(pageResults, ((index, pageResultItem) -> { - StringBuilder formType = new StringBuilder("form-"); - int pageNumber = pageResultItem.getPage(); - Integer clusterId = pageResultItem.getClusterId(); - if (clusterId != null) { - formType.append(clusterId); - } - Map extractedFieldMap = getUnlabeledFieldMap(includeFieldElements, readResults, - pageResultItem, pageNumber); - - final RecognizedForm recognizedForm = new RecognizedForm( - extractedFieldMap, - formType.toString(), - new FormPageRange(pageNumber, pageNumber), - Collections.singletonList(formPages.get(index))); - - RecognizedFormHelper.setModelId(recognizedForm, modelId); - extractedFormList.add(recognizedForm); - })); - } - } - return extractedFormList; - } - - /** - * Helper method to transform the service returned {@link AnalyzeResult} to SDK model {@link FormPage}. - * - * @param analyzeResult The service returned result for analyze layouts. - * @param includeFieldElements Boolean to indicate if to set reference elements data on fields. - * - * @return The List of {@code FormPage}. - */ - static List toRecognizedLayout(AnalyzeResult analyzeResult, boolean includeFieldElements) { - List readResults = analyzeResult.getReadResults(); - List pageResults = analyzeResult.getPageResults(); - List formPages = new ArrayList<>(); - boolean pageResultsIsNullOrEmpty = CoreUtils.isNullOrEmpty(pageResults); - - forEachWithIndex(readResults, ((index, readResultItem) -> { - List perPageTableList = new ArrayList<>(); - - // add form tables - if (!pageResultsIsNullOrEmpty) { - PageResult pageResultItem = pageResults.get(index); - if (pageResultItem != null) { - perPageTableList = getPageTables(pageResultItem, readResults, pageResultItem.getPage()); - } - } - - // add form lines - List perPageFormLineList = new ArrayList<>(); - if (includeFieldElements && !CoreUtils.isNullOrEmpty(readResultItem.getLines())) { - perPageFormLineList = getReadResultFormLines(readResultItem); - } - - // add selection marks - List perPageFormSelectionMarkList = new ArrayList<>(); - if (includeFieldElements && !CoreUtils.isNullOrEmpty(readResultItem.getSelectionMarks())) { - PageResult pageResultItem = pageResults.get(index); - perPageFormSelectionMarkList = getReadResultFormSelectionMarks(readResultItem, - pageResultItem.getPage()); - } - - formPages.add(getFormPage(readResultItem, perPageTableList, perPageFormLineList, - perPageFormSelectionMarkList)); - })); - - return formPages; - } - - /** - * Helper method to convert the per page {@link ReadResult} item to {@link FormSelectionMark}. - * - * @param readResultItem The per page text extraction item result returned by the service. - * @param pageNumber The page number. - * - * @return A list of {@code FormSelectionMark}. - */ - static List getReadResultFormSelectionMarks(ReadResult readResultItem, int pageNumber) { - return readResultItem.getSelectionMarks().stream() - .map(selectionMark -> { - final FormSelectionMark formSelectionMark = new FormSelectionMark( - null, toBoundingBox(selectionMark.getBoundingBox()), pageNumber); - final SelectionMarkState selectionMarkStateImpl = selectionMark.getState(); - com.azure.ai.formrecognizer.models.SelectionMarkState selectionMarkState; - if (SelectionMarkState.SELECTED.equals(selectionMarkStateImpl)) { - selectionMarkState = com.azure.ai.formrecognizer.models.SelectionMarkState.SELECTED; - } else if (SelectionMarkState.UNSELECTED.equals(selectionMarkStateImpl)) { - selectionMarkState = com.azure.ai.formrecognizer.models.SelectionMarkState.UNSELECTED; - } else { - throw LOGGER.logThrowableAsError(new RuntimeException( - String.format("%s, unsupported selection mark state.", selectionMarkStateImpl))); - } - FormSelectionMarkHelper.setConfidence(formSelectionMark, selectionMark.getConfidence()); - FormSelectionMarkHelper.setState(formSelectionMark, selectionMarkState); - return formSelectionMark; - }) - .collect(Collectors.toList()); - } - - /** - * Helper method to get per-page table information. - * - * @param pageResultItem The extracted page level information returned by the service. - * @param readResults The text extraction result returned by the service. - * @param pageNumber The 1 based page number on which these fields exist. - * - * @return The list of per page {@code FormTable}. - */ - static List getPageTables(PageResult pageResultItem, List readResults, int pageNumber) { - if (pageResultItem.getTables() == null) { - return new ArrayList<>(); - } else { - return pageResultItem.getTables().stream() - .map(dataTable -> { - FormTable formTable = new FormTable(dataTable.getRows(), dataTable.getColumns(), - dataTable.getCells() - .stream() - .map(dataTableCell -> new FormTableCell( - dataTableCell.getRowIndex(), dataTableCell.getColumnIndex(), - dataTableCell.getRowSpan() == null ? DEFAULT_TABLE_SPAN : dataTableCell.getRowSpan(), - dataTableCell.getColumnSpan() == null - ? DEFAULT_TABLE_SPAN : dataTableCell.getColumnSpan(), - dataTableCell.getText(), toBoundingBox(dataTableCell.getBoundingBox()), - dataTableCell.getConfidence(), - dataTableCell.isHeader() != null && dataTableCell.isHeader(), - dataTableCell.isFooter() != null && dataTableCell.isFooter(), - pageNumber, setReferenceElements(dataTableCell.getElements(), readResults))) - .collect(Collectors.toList()), pageNumber); - - FormTableHelper.setBoundingBox(formTable, toBoundingBox(dataTable.getBoundingBox())); - return formTable; - }) - .collect(Collectors.toList()); - } - } - - /** - * Helper method to convert the per page {@link ReadResult} item to {@link FormLine}. - * - * @param readResultItem The per page text extraction item result returned by the service. - * - * @return The list of {@code FormLine}. - */ - static List getReadResultFormLines(ReadResult readResultItem) { - return readResultItem.getLines().stream() - .map(textLine -> { - FormLine formLine = new FormLine( - textLine.getText(), - toBoundingBox(textLine.getBoundingBox()), - readResultItem.getPage(), - toWords(textLine.getWords(), readResultItem.getPage())); - - FormLineHelper.setAppearance(formLine, getTextAppearance(textLine)); - return formLine; - }) - .collect(Collectors.toList()); - } - - /** - * Private method to get the appearance from the service side text line object. - * - * @param textLine The service side text line object. - * @return the custom type TextAppearance model. - */ - private static TextAppearance getTextAppearance(TextLine textLine) { - TextAppearance textAppearance = new TextAppearance(); - if (textLine.getAppearance() != null && textLine.getAppearance().getStyle() != null) { - if (textLine.getAppearance().getStyle().getName() != null) { - TextAppearanceHelper.setStyleName(textAppearance, - TextStyleName.fromString(textLine.getAppearance().getStyle().getName().toString())); - } - TextAppearanceHelper.setStyleConfidence(textAppearance, - textLine.getAppearance().getStyle().getConfidence()); - } else { - return null; - } - return textAppearance; - } - - /** - * The field map returned on analyze with an unlabeled model id. - * - * @param documentResultItem The extracted document level information. - * @param readResults The text extraction result returned by the service. - * @return The {@link RecognizedForm#getFields}. - */ - private static Map getLabeledFieldMap(DocumentResult documentResultItem, - List readResults) { - Map recognizedFieldMap = new LinkedHashMap<>(); - // add receipt fields - if (!CoreUtils.isNullOrEmpty(documentResultItem.getFields())) { - documentResultItem.getFields().forEach((key, fieldValue) -> { - if (fieldValue != null) { - List formElementList = setReferenceElements(fieldValue.getElements(), readResults); - FieldData valueData; - // Bounding box and page are not returned by the service in two scenarios: - // - When this field is global and not associated with a specific page (e.g. ReceiptType). - // - When this field is a collection, such as a list or dictionary. - // - // In these scenarios we do not set a ValueData. - if (fieldValue.getPage() == null && CoreUtils.isNullOrEmpty(fieldValue.getBoundingBox())) { - valueData = null; - } else { - valueData = new FieldData(fieldValue.getText(), toBoundingBox(fieldValue.getBoundingBox()), - fieldValue.getPage(), formElementList); - } - recognizedFieldMap.put(key, setFormField(key, valueData, fieldValue, readResults)); - } else { - recognizedFieldMap.put(key, new FormField(key, null, null, null, - DEFAULT_CONFIDENCE_VALUE)); - } - }); - } - return recognizedFieldMap; - } - - /** - * Helper method that converts the incoming service field value to one of the strongly typed SDK level - * {@link FormField} with reference elements set when {@code includeFieldElements} is set to true. - * - * @param name The name of the field. - * @param valueData The value text of the field. - * @param fieldValue The named field values returned by the service. - * @param readResults The text extraction result returned by the service. - * - * @return The strongly typed {@link FormField} for the field input. - */ - private static FormField setFormField(String name, FieldData valueData, FieldValue fieldValue, - List readResults) { - com.azure.ai.formrecognizer.models.FieldValue value; - switch (fieldValue.getType()) { - case PHONE_NUMBER: - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValuePhoneNumber(), - FieldValueType.PHONE_NUMBER); - break; - case STRING: - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValueString(), - FieldValueType.STRING); - break; - case TIME: - if (fieldValue.getValueTime() != null) { - LocalTime fieldTime = LocalTime.parse(fieldValue.getValueTime(), - DateTimeFormatter.ofPattern("HH:mm:ss")); - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldTime, FieldValueType.TIME); - } else { - value = new com.azure.ai.formrecognizer.models.FieldValue(null, FieldValueType.TIME); - } - break; - case DATE: - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValueDate(), - FieldValueType.DATE); - break; - case INTEGER: - if (fieldValue.getValueInteger() != null) { - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValueInteger().longValue(), - FieldValueType.LONG); - } else { - value = new com.azure.ai.formrecognizer.models.FieldValue(null, FieldValueType.LONG); - } - break; - case NUMBER: - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValueNumber(), - FieldValueType.FLOAT); - break; - case ARRAY: - if (fieldValue.getValueArray() != null) { - value = new com.azure.ai.formrecognizer.models.FieldValue( - toFieldValueArray(fieldValue.getValueArray(), readResults), FieldValueType.LIST); - } else { - value = new com.azure.ai.formrecognizer.models.FieldValue(null, FieldValueType.LIST); - } - break; - case OBJECT: - if (fieldValue.getValueObject() != null) { - value = new com.azure.ai.formrecognizer.models.FieldValue( - toFieldValueObject(fieldValue.getValueObject(), readResults), FieldValueType.MAP); - } else { - value = new com.azure.ai.formrecognizer.models.FieldValue(null, FieldValueType.MAP); - } - - break; - case SELECTION_MARK: - if (fieldValue.getValueSelectionMark() != null) { - com.azure.ai.formrecognizer.models.SelectionMarkState selectionMarkState; - final FieldValueSelectionMark fieldValueSelectionMarkState = fieldValue.getValueSelectionMark(); - if (FieldValueSelectionMark.SELECTED.equals(fieldValueSelectionMarkState)) { - selectionMarkState = com.azure.ai.formrecognizer.models.SelectionMarkState.SELECTED; - } else if (FieldValueSelectionMark.UNSELECTED.equals(fieldValueSelectionMarkState)) { - selectionMarkState = com.azure.ai.formrecognizer.models.SelectionMarkState.UNSELECTED; - } else { - selectionMarkState = com.azure.ai.formrecognizer.models.SelectionMarkState.fromString( - fieldValue.getValueSelectionMark().toString()); - } - value = new com.azure.ai.formrecognizer.models.FieldValue(selectionMarkState, - FieldValueType.SELECTION_MARK_STATE); - } else { - value = new com.azure.ai.formrecognizer.models.FieldValue(null, FieldValueType.SELECTION_MARK_STATE); - } - break; - case COUNTRY_REGION: - value = new com.azure.ai.formrecognizer.models.FieldValue(fieldValue.getValueCountryRegion(), - FieldValueType.COUNTRY_REGION); - break; - default: - throw LOGGER.logExceptionAsError(new RuntimeException("FieldValue Type not supported")); - } - - return new FormField(name, null, valueData, value, - setDefaultConfidenceValue(fieldValue.getConfidence())); - } - - /** - * Helper method to set default confidence value if confidence returned by service is null. - * - * @param confidence the confidence returned by service. - * - * @return the field confidence value. - */ - private static float setDefaultConfidenceValue(Float confidence) { - return confidence == null ? DEFAULT_CONFIDENCE_VALUE : confidence; - } - - /** - * Helper method to convert the service returned - * {@link com.azure.ai.formrecognizer.implementation.models.FieldValue#getValueObject()} - * to a SDK level map of {@link FormField}. - * - * @param valueObject The array of field values returned by the service in {@link FieldValue#getValueObject()}. - * - * @return The Map of {@link FormField}. - */ - private static Map toFieldValueObject(Map valueObject, - List readResults) { - Map fieldValueObjectMap = new TreeMap<>(); - valueObject.forEach((key, fieldValue) -> { - - FieldData valueData = null; - // has ho value data when bounding box and page info is null. - if (fieldValue.getPage() != null && fieldValue.getBoundingBox() != null) { - valueData = new FieldData(fieldValue.getText(), toBoundingBox(fieldValue.getBoundingBox()), - fieldValue.getPage(), - setReferenceElements(fieldValue.getElements(), readResults)); - } - fieldValueObjectMap.put(key, setFormField(key, valueData, fieldValue, readResults)); - }); - - return fieldValueObjectMap; - } - - /** - * Helper method to convert the service returned - * {@link com.azure.ai.formrecognizer.implementation.models.FieldValue#getValueArray()} - * to a SDK level List of {@link FormField}. - * - * @param valueArray The array of field values returned by the service in {@link FieldValue#getValueArray()}. - * @param readResults The text extraction result returned by the service. - * @return The List of {@link FormField}. - */ - private static List toFieldValueArray(List valueArray, List readResults) { - return valueArray.stream() - .map(fieldValue -> { - FieldData valueData = null; - // ARRAY has ho value data, such as bounding box. - if (ARRAY != fieldValue.getType() - && (fieldValue.getPage() != null && fieldValue.getBoundingBox() != null)) { - valueData = new FieldData(fieldValue.getText(), toBoundingBox(fieldValue.getBoundingBox()), - fieldValue.getPage(), - setReferenceElements(fieldValue.getElements(), readResults)); - } - return setFormField(null, valueData, fieldValue, readResults); - }) - .collect(Collectors.toList()); - } - - /** - * Helper method to convert the page results to {@code FormPage form pages}. - * - * @param readResultItem The per page text extraction item result returned by the service. - * @param perPageTableList The per page tables list. - * @param perPageLineList The per page form lines. - * @param perPageSelectionMarkList The per page selection marks. - * - * @return The per page {@code FormPage}. - */ - private static FormPage getFormPage(ReadResult readResultItem, List perPageTableList, - List perPageLineList, List perPageSelectionMarkList) { - FormPage formPage = new FormPage( - readResultItem.getHeight(), - readResultItem.getAngle(), - LengthUnit.fromString(readResultItem.getUnit().toString()), - readResultItem.getWidth(), - perPageLineList, - perPageTableList, - readResultItem.getPage()); - FormPageHelper.setSelectionMarks(formPage, perPageSelectionMarkList); - return formPage; - } - - /** - * Helper method to set the {@link RecognizedForm#getFields() fields} from unlabeled result returned from the - * service. - * - * @param includeFieldElements Boolean to indicate if to set reference elements data on fields. - * @param readResults The text extraction result returned by the service. - * @param pageResultItem The extracted page level information returned by the service. - * @param pageNumber The 1 based page number on which these fields exist. - * - * @return The fields populated on {@link RecognizedForm#getFields() fields}. - */ - private static Map getUnlabeledFieldMap(boolean includeFieldElements, - List readResults, - PageResult pageResultItem, int pageNumber) { - Map formFieldMap = new LinkedHashMap<>(); - List keyValuePairs = pageResultItem.getKeyValuePairs(); - forEachWithIndex(keyValuePairs, ((index, keyValuePair) -> { - List formKeyContentList = new ArrayList<>(); - List formValueContentList = new ArrayList<>(); - if (includeFieldElements) { - formKeyContentList = setReferenceElements(keyValuePair.getKey().getElements(), readResults); - formValueContentList = setReferenceElements(keyValuePair.getValue().getElements(), readResults - ); - } - FieldData labelData = new FieldData(keyValuePair.getKey().getText(), - toBoundingBox(keyValuePair.getKey().getBoundingBox()), pageNumber, formKeyContentList); - FieldData valueData = new FieldData(keyValuePair.getValue().getText(), - toBoundingBox(keyValuePair.getValue().getBoundingBox()), pageNumber, formValueContentList); - - String fieldName = "field-" + index; - FormField formField = new FormField(fieldName, labelData, valueData, - new com.azure.ai.formrecognizer.models.FieldValue(keyValuePair.getValue().getText(), - FieldValueType.STRING), - setDefaultConfidenceValue(keyValuePair.getConfidence()) - ); - formFieldMap.put(fieldName, formField); - })); - return formFieldMap; - } - - /** - * Helper method to set the text reference elements on FieldValue/fields when {@code includeFieldElements} set to - * true. - * - * @return The list if referenced elements. - */ - private static List setReferenceElements(List elements, - List readResults) { - if (CoreUtils.isNullOrEmpty(elements)) { - return new ArrayList<>(); - } - List formElementList = new ArrayList<>(); - elements.forEach(elementString -> { - String[] indices = NON_DIGIT_PATTERN.matcher(elementString).replaceAll(" ").trim().split(" "); - - if (indices.length < 2) { - throw LOGGER.logExceptionAsError(new RuntimeException("Cannot find corresponding reference elements " - + "for the field value.")); - } - - int readResultIndex = Integer.parseInt(indices[0]); - int lineIndex = Integer.parseInt(indices[1]); - - if (indices.length == 3) { - int wordIndex = Integer.parseInt(indices[2]); - TextWord textWord = - readResults.get(readResultIndex).getLines().get(lineIndex).getWords().get(wordIndex); - FormWord wordElement = new FormWord(textWord.getText(), toBoundingBox(textWord.getBoundingBox()), - readResultIndex + 1, setDefaultConfidenceValue(textWord.getConfidence())); - formElementList.add(wordElement); - } else { - TextLine textLine = readResults.get(readResultIndex).getLines().get(lineIndex); - FormLine lineElement = new FormLine(textLine.getText(), toBoundingBox(textLine.getBoundingBox()), - readResultIndex + 1, toWords(textLine.getWords(), readResultIndex + 1)); - FormLineHelper.setAppearance(lineElement, getTextAppearance(textLine)); - formElementList.add(lineElement); - } - }); - return formElementList; - } - - /** - * Helper method to convert the service level {@link TextWord} to list of SDK level model {@link FormWord}. - * - * @param words A list of word reference elements returned by the service. - * @param pageNumber The 1 based page number on which this word element exists. - * - * @return The list of {@code FormWord words}. - */ - private static List toWords(List words, int pageNumber) { - return words.stream() - .map(textWord -> new FormWord( - textWord.getText(), - toBoundingBox(textWord.getBoundingBox()), - pageNumber, - setDefaultConfidenceValue(textWord.getConfidence())) - ).collect(Collectors.toList()); - } - - /** - * Helper method to convert the service level modeled eight numbers representing the four points to SDK level - * {@link FieldBoundingBox}. - * - * @param serviceBoundingBox A list of eight numbers representing the four points of a box. - * - * @return A {@link FieldBoundingBox}. - */ - private static FieldBoundingBox toBoundingBox(List serviceBoundingBox) { - if (CoreUtils.isNullOrEmpty(serviceBoundingBox) || (serviceBoundingBox.size() % 2) != 0) { - return null; - } - List pointList = new ArrayList<>(); - for (int i = 0; i < serviceBoundingBox.size(); i++) { - pointList.add(new Point(serviceBoundingBox.get(i), serviceBoundingBox.get(++i))); - } - return new FieldBoundingBox(pointList); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java new file mode 100644 index 0000000000000..54c30bdbc87a7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClient.java @@ -0,0 +1,800 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient; +import com.azure.ai.formrecognizer.DocumentAnalysisClientBuilder; +import com.azure.ai.formrecognizer.DocumentAnalysisServiceVersion; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorizationOptions; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationInfo; +import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; +import com.azure.ai.formrecognizer.implementation.models.AuthorizeCopyRequest; +import com.azure.ai.formrecognizer.implementation.models.AzureBlobContentSource; +import com.azure.ai.formrecognizer.implementation.models.BuildDocumentModelRequest; +import com.azure.ai.formrecognizer.implementation.models.ComponentModelInfo; +import com.azure.ai.formrecognizer.implementation.models.ComposeDocumentModelRequest; +import com.azure.ai.formrecognizer.implementation.models.GetOperationResponse; +import com.azure.ai.formrecognizer.implementation.models.OperationStatus; +import com.azure.ai.formrecognizer.implementation.util.Transforms; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollResponse; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingContext; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static com.azure.ai.formrecognizer.implementation.util.Constants.DEFAULT_POLL_INTERVAL; +import static com.azure.core.util.FluxUtil.monoError; +import static com.azure.core.util.FluxUtil.withContext; + +/** + * This class provides an asynchronous client that contains model management operations + * that apply to Azure Form Recognizer. + * Operations allowed by the client are creating, building of custom document analysis models, deleting models, + * listing models, copying a custom-built model to another Form Recognizer account, composing models from + * component models, getting operation information and getting account information. + * + *

Instantiating an asynchronous Document Model Administration Client

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.initialization} + * + * @see DocumentModelAdministrationClientBuilder + * @see DocumentModelAdministrationAsyncClient + */ +@ServiceClient(builder = DocumentModelAdministrationClientBuilder.class, isAsync = true) +public final class DocumentModelAdministrationAsyncClient { + + private final ClientLogger logger = new ClientLogger(DocumentModelAdministrationAsyncClient.class); + private final FormRecognizerClientImpl service; + private final DocumentAnalysisServiceVersion serviceVersion; + + /** + * Create a {@link DocumentModelAdministrationAsyncClient} that sends requests to the Form Recognizer service's endpoint. + * Each service call goes through the {@link DocumentModelAdministrationClientBuilder#pipeline http pipeline}. + * + * @param service The proxy service used to perform REST calls. + * @param serviceVersion The versions of Azure Form Recognizer supported by this client library. + */ + DocumentModelAdministrationAsyncClient(FormRecognizerClientImpl service, DocumentAnalysisServiceVersion serviceVersion) { + this.service = service; + this.serviceVersion = serviceVersion; + } + + /** + * Creates a new {@link DocumentAnalysisAsyncClient} object. The new {@code DocumentTrainingAsyncClient} + * uses the same request policy pipeline as the {@code DocumentTrainingAsyncClient}. + * + * @return A new {@link DocumentAnalysisAsyncClient} object. + */ + public DocumentAnalysisAsyncClient getDocumentAnalysisAsyncClient() { + return new DocumentAnalysisClientBuilder().endpoint(getEndpoint()).pipeline(getHttpPipeline()) + .buildAsyncClient(); + } + + /** + * Gets the pipeline the client is using. + * + * @return the pipeline the client is using. + */ + HttpPipeline getHttpPipeline() { + return service.getHttpPipeline(); + } + + /** + * Gets the endpoint the client is using. + * + * @return the endpoint the client is using. + */ + String getEndpoint() { + return service.getEndpoint(); + } + + /** + * Builds a custom document analysis model. + * Models are built using documents that are of the following content type - + * 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. + * Other type of content is ignored. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * See here + * for information on building your own administration data set. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String} + * + * @param trainingFilesUrl source URL parameter that is an externally accessible Azure + * storage blob container Url (preferably a Shared Access Signature Url). + * @param modelId unique model identifier. If not specified, a model ID will be created for you. + * + * @return A {@link PollerFlux} that polls the building model operation until it has completed, has failed, or has + * been cancelled. The completed operation returns the trained {@link DocumentModel custom document analysis model}. + * @throws DocumentAnalysisException If building a model fails with {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If {@code trainingFilesUrl} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildModel(String trainingFilesUrl, + String modelId) { + return beginBuildModel(trainingFilesUrl, modelId, null); + } + + /** + * Builds a custom document analysis model. + * Models are built using documents that are of the following content type - + * 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. + * Other type of content is ignored. + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * See here + * for information on building your own administration data set. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String-BuildModelOptions} + * + * @param trainingFilesUrl source URL parameter that is an externally accessible Azure + * storage blob container Url (preferably a Shared Access Signature Url). + * @param modelId unique model identifier. If not specified, a model ID will be created for you. + * @param buildModelOptions The configurable {@link BuildModelOptions options} to pass when + * building a custom document analysis model. + * + * @return A {@link PollerFlux} that polls the building model operation until it has completed, has failed, or has + * been cancelled. The completed operation returns the trained {@link DocumentModel custom document analysis model}. + * @throws DocumentAnalysisException If building a model fails with {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If {@code trainingFilesUrl} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildModel(String trainingFilesUrl, + String modelId, BuildModelOptions buildModelOptions) { + return beginBuildModel(trainingFilesUrl, modelId, buildModelOptions, Context.NONE); + } + + PollerFlux beginBuildModel(String trainingFilesUrl, + String modelId, BuildModelOptions buildModelOptions, Context context) { + + buildModelOptions = buildModelOptions == null ? new BuildModelOptions() : buildModelOptions; + return new PollerFlux( + DEFAULT_POLL_INTERVAL, + buildModelActivationOperation(trainingFilesUrl, modelId, buildModelOptions, context), + createModelPollOperation(context), + (activationResponse, pollingContext) -> Mono.error(new RuntimeException("Cancellation is not supported")), + fetchModelResultOperation(context)); + } + + /** + * Get account information of the Form Recognizer account. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountProperties} + * + * @return The requested account information details. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAccountProperties() { + return getAccountPropertiesWithResponse().flatMap(FluxUtil::toMono); + } + + /** + * Get account information of the Form Recognizer account with a Http response. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountPropertiesWithResponse} + * + * @return A {@link Response} containing the requested account information details. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAccountPropertiesWithResponse() { + try { + return withContext(this::getAccountPropertiesWithResponse); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + } + + Mono> getAccountPropertiesWithResponse(Context context) { + return service.getInfoWithResponseAsync(context) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(response -> new SimpleResponse<>(response, Transforms.toAccountProperties(response.getValue()))); + } + + /** + * Deletes the specified custom document analysis model. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModel#string} + * + * @param modelId The unique model identifier. + * + * @return An empty Mono. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteModel(String modelId) { + return deleteModelWithResponse(modelId).flatMap(FluxUtil::toMono); + } + + /** + * Deletes the specified custom document analysis model. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModelWithResponse#string} + * + * @param modelId The unique model identifier. + * + * @return A {@link Response} containing the status code and HTTP headers. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteModelWithResponse(String modelId) { + try { + return withContext(context -> deleteModelWithResponse(modelId, context)); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + } + + Mono> deleteModelWithResponse(String modelId, Context context) { + if (CoreUtils.isNullOrEmpty(modelId)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'modelId' is required and cannot" + + " be null or empty")); + } + return service.deleteModelWithResponseAsync(modelId, context) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(response -> new SimpleResponse<>(response, null)); + } + + /** + * Generate authorization for copying a custom document analysis model into the target Form Recognizer resource. + *

This should be called by the target resource (where the model will be copied to) and the output can be passed as + * the target parameter into {@link DocumentModelAdministrationAsyncClient#beginCopyModel(String, CopyAuthorization)}. + *

+ * + * @param modelId A unique ID for your copied model. If not specified, a model ID will be created for you. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorization#string} + * + * @return The {@link CopyAuthorization} that could be used to authorize copying model between resources. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCopyAuthorization(String modelId) { + return getCopyAuthorizationWithResponse(modelId, null).flatMap(FluxUtil::toMono); + } + + /** + * Generate authorization for copying a custom document analysis model into the target Form Recognizer resource. + *

This should be called by the target resource (where the model will be copied to) and the output can be passed as + * the target parameter into {@link DocumentModelAdministrationAsyncClient#beginCopyModel(String, CopyAuthorization)}. + *

+ * + * @param modelId A unique ID for your copied model. If not specified, a model ID will be created for you. + * @param copyAuthorizationOptions The configurable {@link CopyAuthorizationOptions options} to pass when + * copying a model. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions} + * + * @return The {@link CopyAuthorization} that could be used to authorize copying model between resources. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCopyAuthorizationWithResponse(String modelId, + CopyAuthorizationOptions copyAuthorizationOptions) { + try { + return withContext(context -> getCopyAuthorizationWithResponse(modelId, copyAuthorizationOptions, context)); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + } + + Mono> getCopyAuthorizationWithResponse(String modelId, + CopyAuthorizationOptions copyAuthorizationOptions, Context context) { + copyAuthorizationOptions = copyAuthorizationOptions == null + ? new CopyAuthorizationOptions() : copyAuthorizationOptions; + modelId = modelId == null ? Utility.generateRandomModelID() : modelId; + AuthorizeCopyRequest authorizeCopyRequest = new AuthorizeCopyRequest().setModelId(modelId).setDescription( + copyAuthorizationOptions.getDescription()); + + return service.authorizeCopyDocumentModelWithResponseAsync(authorizeCopyRequest, context) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(response -> new SimpleResponse<>(response, Transforms.toCopyAuthorization(response.getValue()))); + } + + /** + * Create a composed model from the provided list of existing models in the account. + * + *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String} + * + * @param modelIDs The list of component models to compose. + * @param modelId The unique model identifier for the composed model. + * + * @return A {@link PollerFlux} that polls the create composed model operation until it has completed, has failed, + * or has been cancelled. The completed operation returns the created {@link DocumentModel composed model}. + * @throws DocumentAnalysisException If create composed model operation fails and model with + * {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If the list of {@code modelIDs} or {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateComposedModel( + List modelIDs, String modelId) { + return beginCreateComposedModel(modelIDs, modelId, null, null); + } + + /** + * Create a composed model from the provided list of existing models in the account. + * + *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String-createComposedModelOptions} + * + * @param modelIDs The list of component models to compose. + * @param modelId The unique model identifier for the composed model. + * @param createComposedModelOptions The configurable {@link CreateComposedModelOptions options} to pass when + * creating a composed model. + * + * @return A {@link PollerFlux} that polls the create composed model operation until it has completed, has failed, + * or has been cancelled. The completed operation returns the copied model {@link DocumentModel}. + * @throws DocumentAnalysisException If create composed model operation fails and model with + * {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If the list of {@code modelIDs} is null or empty. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateComposedModel(List modelIDs, + String modelId, CreateComposedModelOptions createComposedModelOptions) { + return beginCreateComposedModel(modelIDs, modelId, createComposedModelOptions, Context.NONE); + } + + PollerFlux beginCreateComposedModel(List modelIDs, + String modelId, CreateComposedModelOptions createComposedModelOptions, Context context) { + try { + if (CoreUtils.isNullOrEmpty(modelIDs)) { + throw logger.logExceptionAsError(new NullPointerException("'modelIDs' cannot be null or empty")); + } else if (CoreUtils.isNullOrEmpty(modelId)) { + throw logger.logExceptionAsError(new NullPointerException("'modelId' cannot be null or empty")); + } + createComposedModelOptions = getCreateComposeModelOptions(createComposedModelOptions); + + final ComposeDocumentModelRequest composeRequest = new ComposeDocumentModelRequest() + .setComponentModels(modelIDs.stream() + .map(modelIdString -> new ComponentModelInfo().setModelId(modelIdString)) + .collect(Collectors.toList())) + .setModelId(modelId) + .setDescription(createComposedModelOptions.getDescription()); + + return new PollerFlux( + DEFAULT_POLL_INTERVAL, + Utility.activationOperation(() -> service.composeDocumentModelWithResponseAsync(composeRequest, context) + .map(response -> Transforms.toFormRecognizerOperationResult( + response.getDeserializedHeaders().getOperationLocation())), logger), + createModelPollOperation(context), + (activationResponse, pollingContext) + -> Mono.error(new RuntimeException("Cancellation is not supported")), + fetchModelResultOperation(context)); + } catch (RuntimeException ex) { + return PollerFlux.error(ex); + } + } + + /** + * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. + * + *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). + * The target parameter should be supplied from the target resource's output from + * {@link DocumentModelAdministrationAsyncClient#getCopyAuthorization(String)} method. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCopyModel#string-copyAuthorization} + * + * @param modelId Model identifier of the model to copy to target resource. + * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be + * generated from the target resource's call to {@link DocumentModelAdministrationAsyncClient#getCopyAuthorization(String)} + * + * @return A {@link PollerFlux} that polls the copy model operation until it has completed, has failed, + * or has been cancelled. The completed operation returns the copied model {@link DocumentModel}. + * @throws DocumentAnalysisException If copy operation fails and model with {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If {@code modelId} or {@code target} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCopyModel(String modelId, + CopyAuthorization target) { + return beginCopyModel(modelId, target, null); + } + + PollerFlux beginCopyModel(String modelId, + CopyAuthorization target, Context context) { + return new PollerFlux( + DEFAULT_POLL_INTERVAL, + getCopyActivationOperation(modelId, target, context), + createModelPollOperation(context), + (activationResponse, pollingContext) -> Mono.error(new RuntimeException("Cancellation is not supported")), + fetchModelResultOperation(context)); + } + + /** + * List information for each model on the Form Recognizer account that were built successfully. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listModels} + * + * @return {@link PagedFlux} of {@link DocumentModelInfo}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listModels() { + try { + return new PagedFlux<>(() -> withContext(this::listFirstPageModelInfo), + continuationToken -> withContext(context -> listNextPageModelInfo(continuationToken, context))); + } catch (RuntimeException ex) { + return new PagedFlux<>(() -> monoError(logger, ex)); + } + } + + /** + * List information for each model on the Form Recognizer account that were built successfully with a Http response + * and a specified {@link Context}. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listModels} + * + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return {@link PagedFlux} of {@link DocumentModelInfo}. + */ + PagedFlux listModels(Context context) { + return new PagedFlux<>(() -> listFirstPageModelInfo(context), + continuationToken -> listNextPageModelInfo(continuationToken, context)); + } + + /** + * Get detailed information for a specified model ID. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModel#string} + * + * @param modelId The unique model identifier. + * + * @return The detailed information for the specified model. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getModel(String modelId) { + return getModelWithResponse(modelId).flatMap(FluxUtil::toMono); + } + + /** + * Get detailed information for a specified model ID with Http response. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModelWithResponse#string} + * + * @param modelId The unique model identifier. + * + * @return A {@link Response} containing the requested {@link DocumentModel model}. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getModelWithResponse(String modelId) { + try { + return withContext(context -> getModelWithResponse(modelId, context)); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + } + + Mono> getModelWithResponse(String modelId, Context context) { + if (CoreUtils.isNullOrEmpty(modelId)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'modelId' is required and cannot" + + " be null or empty")); + } + return service.getModelWithResponseAsync(modelId, context) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(response -> new SimpleResponse<>(response, Transforms.toDocumentModel(response.getValue()))); + } + + /** + * Get detailed operation information for the specified ID. + *

This operations fails if the operation ID used is past 24 hours.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperation#string} + * + * @param operationId Unique operation ID. + * + * @return detailed operation information for the specified ID. + * @throws IllegalArgumentException If {@code operationId} is null or empty. + * @throws HttpResponseException If the {@code operationId} is past 24 hours. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getOperation(String operationId) { + return getOperationWithResponse(operationId).flatMap(FluxUtil::toMono); + } + + /** + * Get detailed operation information for the specified ID with Http response. + *

This operations fails if the operation ID used is past 24 hours.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperationWithResponse#string} + * + * @param operationId Unique operation ID. + * + * @return A {@link Response} containing the requested {@link ModelOperation}. + * @throws IllegalArgumentException If {@code operationId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponse(String operationId) { + try { + return withContext(context -> getOperationWithResponse(operationId, context)); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + } + + Mono> getOperationWithResponse(String operationId, Context context) { + if (CoreUtils.isNullOrEmpty(operationId)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'operationId' is required and cannot" + + " be null or empty")); + } + return service.getOperationWithResponseAsync(operationId, context) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(response -> new SimpleResponse<>(response, Transforms.toModelOperation(response.getValue()))); + } + + /** + * List information for each model operation on the Form Recognizer account in the past 24 hours. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listOperations} + * + * @return {@link PagedFlux} of {@link ModelOperationInfo}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listOperations() { + try { + return new PagedFlux<>(() -> withContext(this::listFirstPageOperationInfo), + continuationToken -> withContext(context -> listNextPageOperationInfo(continuationToken, context))); + } catch (RuntimeException ex) { + return new PagedFlux<>(() -> monoError(logger, ex)); + } + } + + /** + * List information for each operation on the Form Recognizer account with a Http response and a specified + * {@link Context}. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listOperations} + * + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return {@link PagedFlux} of {@link ModelOperationInfo}. + */ + PagedFlux listOperations(Context context) { + return new PagedFlux<>(() -> listFirstPageOperationInfo(context), + continuationToken -> listNextPageOperationInfo(continuationToken, context)); + } + + private Function, Mono> + fetchModelResultOperation(Context context) { + return (pollingContext) -> { + try { + final String modelId = pollingContext.getLatestResponse().getValue().getResultId(); + return service.getOperationAsync(modelId, context) + .map(modelSimpleResponse -> Transforms.toDocumentModel(modelSimpleResponse.getResult())) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + private Function, Mono>> + createModelPollOperation(Context context) { + return (pollingContext) -> { + try { + PollResponse operationResultPollResponse = + pollingContext.getLatestResponse(); + String modelId = operationResultPollResponse.getValue().getResultId(); + return service.getOperationAsync(modelId, context) + .flatMap(modelSimpleResponse -> + processBuildingModelResponse(modelSimpleResponse, operationResultPollResponse)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (HttpResponseException ex) { + return monoError(logger, ex); + } + }; + } + + private Function, Mono> + buildModelActivationOperation( + String trainingFilesUrl, String modelId, BuildModelOptions buildModelOptions, Context context) { + if (modelId == null) { + modelId = Utility.generateRandomModelID(); + } + String finalModelId = modelId; + return (pollingContext) -> { + try { + Objects.requireNonNull(trainingFilesUrl, "'trainingFilesUrl' cannot be null."); + BuildDocumentModelRequest buildDocumentModelRequest = new BuildDocumentModelRequest() + .setModelId(finalModelId) + .setAzureBlobSource(new AzureBlobContentSource() + .setContainerUrl(trainingFilesUrl) + .setPrefix(buildModelOptions.getPrefix())) + .setDescription(buildModelOptions.getDescription()); + + return service.buildDocumentModelWithResponseAsync(buildDocumentModelRequest, context) + .map(response -> + Transforms.toFormRecognizerOperationResult( + response.getDeserializedHeaders().getOperationLocation())) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + private Mono> processBuildingModelResponse( + GetOperationResponse getOperationResponse, + PollResponse trainingModelOperationResponse) { + LongRunningOperationStatus status; + switch (getOperationResponse.getStatus()) { + case NOT_STARTED: + case RUNNING: + status = LongRunningOperationStatus.IN_PROGRESS; + break; + case SUCCEEDED: + status = LongRunningOperationStatus.SUCCESSFULLY_COMPLETED; + break; + case FAILED: + // TODO (Revisit error logic https://github.com/Azure/azure-sdk-for-java-pr/issues/1337) + throw logger.logExceptionAsError( + Transforms.toDocumentAnalysisException(getOperationResponse.getError())); + case CANCELED: + default: + status = LongRunningOperationStatus.fromString( + getOperationResponse.getStatus().toString(), true); + break; + } + return Mono.just(new PollResponse<>(status, + trainingModelOperationResponse.getValue())); + } + + private Function, Mono> + getCopyActivationOperation( + String modelId, CopyAuthorization target, Context context) { + return (pollingContext) -> { + try { + Objects.requireNonNull(modelId, "'modelId' cannot be null."); + Objects.requireNonNull(target, "'target' cannot be null."); + com.azure.ai.formrecognizer.implementation.models.CopyAuthorization copyRequest + = new com.azure.ai.formrecognizer.implementation.models.CopyAuthorization() + .setTargetModelLocation(target.getTargetModelLocation()) + .setTargetResourceId(target.getTargetResourceId()) + .setTargetResourceRegion(target.getTargetResourceRegion()) + .setTargetModelId(target.getTargetModelId()) + .setAccessToken(target.getAccessToken()) + .setExpirationDateTime(target.getExpiresOn()); + return service.copyDocumentModelToWithResponseAsync(modelId, copyRequest, context) + .map(response -> + Transforms.toFormRecognizerOperationResult( + response.getDeserializedHeaders().getOperationLocation())) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + private Mono> listFirstPageModelInfo(Context context) { + return service.getModelsSinglePageAsync(context) + .doOnRequest(ignoredValue -> logger.info("Listing information for all models")) + .doOnSuccess(response -> logger.info("Listed all models")) + .doOnError(error -> logger.warning("Failed to list all models information", error)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(res -> new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + Transforms.toDocumentModelInfo(res.getValue()), + res.getContinuationToken(), + null)); + } + + private Mono> listNextPageModelInfo(String nextPageLink, Context context) { + if (CoreUtils.isNullOrEmpty(nextPageLink)) { + return Mono.empty(); + } + return service.getModelsNextSinglePageAsync(nextPageLink, context) + .doOnSubscribe(ignoredValue -> logger.info("Retrieving the next listing page - Page {}", nextPageLink)) + .doOnSuccess(response -> logger.info("Retrieved the next listing page - Page {}", nextPageLink)) + .doOnError(error -> logger.warning("Failed to retrieve the next listing page - Page {}", nextPageLink, + error)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(res -> new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + Transforms.toDocumentModelInfo(res.getValue()), + res.getContinuationToken(), + null)); + } + + private Mono> listFirstPageOperationInfo(Context context) { + return service.getOperationsSinglePageAsync(context) + .doOnRequest(ignoredValue -> logger.info("Listing information for all operations")) + .doOnSuccess(response -> logger.info("Listed all operations")) + .doOnError(error -> logger.warning("Failed to list all operations information", error)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(res -> new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + Transforms.toModelOperationInfo(res.getValue()), + res.getContinuationToken(), + null)); + } + + private Mono> listNextPageOperationInfo(String nextPageLink, Context context) { + if (CoreUtils.isNullOrEmpty(nextPageLink)) { + return Mono.empty(); + } + return service.getOperationsNextSinglePageAsync(nextPageLink, context) + .doOnSubscribe(ignoredValue -> logger.info("Retrieving the next listing page - Page {}", nextPageLink)) + .doOnSuccess(response -> logger.info("Retrieved the next listing page - Page {}", nextPageLink)) + .doOnError(error -> logger.warning("Failed to retrieve the next listing page - Page {}", nextPageLink, + error)) + .onErrorMap(Transforms::mapToHttpResponseExceptionIfExists) + .map(res -> new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + Transforms.toModelOperationInfo(res.getValue()), + res.getContinuationToken(), + null)); + } + + private static CreateComposedModelOptions + getCreateComposeModelOptions(CreateComposedModelOptions userProvidedOptions) { + return userProvidedOptions == null ? new CreateComposedModelOptions() : userProvidedOptions; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java new file mode 100644 index 0000000000000..3b5e143ec18d6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClient.java @@ -0,0 +1,467 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.DocumentAnalysisClient; +import com.azure.ai.formrecognizer.DocumentAnalysisClientBuilder; +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.implementation.models.OperationStatus; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorizationOptions; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationInfo; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; + +import java.util.List; + +/** + * This class provides a synchronous client that contains model management the operations that apply + * to Azure Form Recognizer. + * Operations allowed by the client are creating, building of custom document analysis models, deleting models, + * listing models, copying a custom-built model to another Form Recognizer account, composing models from + * component models, getting operation information and getting account information. + * + *

Instantiating a synchronous Document Model Administration Client

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.initialization} + * + * @see DocumentModelAdministrationClientBuilder + * @see DocumentModelAdministrationClient + */ +@ServiceClient(builder = DocumentModelAdministrationClientBuilder.class) +public final class DocumentModelAdministrationClient { + + private final DocumentModelAdministrationAsyncClient client; + + /** + * Create a {@link DocumentModelAdministrationClient} that sends requests to the Form Recognizer service's endpoint. + * Each service call goes through the {@link DocumentModelAdministrationClientBuilder#pipeline http pipeline}. + * + * @param documentAnalysisTrainingAsyncClient The {@link DocumentModelAdministrationAsyncClient} that the client routes its request through. + */ + DocumentModelAdministrationClient(DocumentModelAdministrationAsyncClient documentAnalysisTrainingAsyncClient) { + this.client = documentAnalysisTrainingAsyncClient; + } + + /** + * Creates a new {@link DocumentAnalysisClient} object. The new {@link DocumentAnalysisClient} + * uses the same request policy pipeline as the {@link DocumentAnalysisClient}. + * + * @return A new {@link DocumentAnalysisClient} object. + */ + public DocumentAnalysisClient getDocumentAnalysisClient() { + return new DocumentAnalysisClientBuilder().endpoint(client.getEndpoint()).pipeline(client.getHttpPipeline()) + .buildClient(); + } + + /** + * Builds a custom document analysis model. + *

Models are built using documents that are of the following content + * type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. + * Other type of content is ignored. + *

+ *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#String-String} + * + * @param trainingFilesUrl an externally accessible Azure storage blob container Url (preferably a Shared Access + * Signature Url). + * For instructions on setting up forms for administration in an Azure Storage Blob Container, see + * here. + * @param modelId unique model identifier. If not specified, a model ID will be created for you. + * + * @return A {@link SyncPoller} that polls the building model operation until it has completed, has failed, or has + * been cancelled. The completed operation returns the trained {@link DocumentModel custom document analysis model}. + * @throws DocumentAnalysisException If building model fails with {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If {@code trainingFilesUrl} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildModel( + String trainingFilesUrl, String modelId) { + return beginBuildModel(trainingFilesUrl, modelId, null, Context.NONE); + } + + /** + * Builds a custom document analysis model. + *

Models are built using documents that are of the following content + * type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. + * Other type of content is ignored. + *

+ *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#string-String-BuildModelOptions-Context} + * + * @param trainingFilesUrl an externally accessible Azure storage blob container Url (preferably a Shared Access + * Signature Url). + * For instructions on setting up forms for administration in an Azure Storage Blob Container, see + * here. + * @param modelId unique model identifier. If not specified, a model ID will be created for you. + * @param buildModelOptions The configurable {@link BuildModelOptions options} to pass when + * building a custom document analysis model. + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return A {@link SyncPoller} that polls the building model operation until it has completed, has failed, or has + * been cancelled. The completed operation returns the built {@link DocumentModel custom document analysis model}. + * @throws DocumentAnalysisException If building the model fails with {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If {@code trainingFilesUrl} is null. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildModel( + String trainingFilesUrl, String modelId, BuildModelOptions buildModelOptions, Context context) { + return client.beginBuildModel(trainingFilesUrl, modelId, buildModelOptions, context) + .getSyncPoller(); + } + + /** + * Get account information of the Form Recognizer account. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountProperties} + * + * @return The requested account information of the Form Recognizer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccountProperties getAccountProperties() { + return getAccountPropertiesWithResponse(Context.NONE).getValue(); + } + + /** + * Get account information of the Form Recognizer account with an Http response and a + * specified {@link Context}. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountPropertiesWithResponse#Context} + * + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return The requested account information of the Form Recognizer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAccountPropertiesWithResponse(Context context) { + return client.getAccountPropertiesWithResponse(context).block(); + } + + /** + * Deletes the specified custom document analysis model. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModel#string} + * + * @param modelId The unique model identifier. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteModel(String modelId) { + deleteModelWithResponse(modelId, Context.NONE); + } + + /** + * Deletes the specified custom document analysis model. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModelWithResponse#string-Context} + * + * @param modelId The unique model identifier. + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return A {@link Response} containing containing status code and HTTP headers. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteModelWithResponse(String modelId, Context context) { + return client.deleteModelWithResponse(modelId, context).block(); + } + + /** + * Generate authorization for copying a custom model into the target Form Recognizer resource. + *

This should be called by the target resource (where the model will be copied to) and the output can be passed as + * the target parameter into {@link DocumentModelAdministrationClient#beginCopyModel(String, CopyAuthorization)}. + *

+ * + * @param modelId A unique ID for your copied model. If not specified, a model ID will be created for you. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorization#string} + * + * @return The {@link CopyAuthorization} + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public CopyAuthorization getCopyAuthorization(String modelId) { + return getCopyAuthorizationWithResponse(modelId, null, Context.NONE).getValue(); + } + + /** + * Generate authorization for copying a custom model into the target Form Recognizer resource. + *

This should be called by the target resource (where the model will be copied to) and the output can be passed as + * the target parameter into {@link DocumentModelAdministrationClient#beginCopyModel(String, CopyAuthorization)}. + *

+ * + * @param modelId A unique ID for your copied model. If not specified, a model ID will be created for you. + * @param copyAuthorizationOptions The configurable {@link CopyAuthorizationOptions options} to pass when + * copying a model. + * @param context Additional context that is passed through the Http pipeline during the service call. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions-Context} + * + * @return A {@link Response} containing the {@link CopyAuthorization} + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCopyAuthorizationWithResponse(String modelId, + CopyAuthorizationOptions copyAuthorizationOptions, Context context) { + return client.getCopyAuthorizationWithResponse(modelId, copyAuthorizationOptions, context).block(); + } + + /** + * Create a composed model from the provided list of existing models in the account. + * + *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String} + * + * @param modelIDs The list of models IDs to form the composed model. + * @param modelId A unique ID for your composed model. If not specified, a model ID will be created for you. + * + * @return A {@link SyncPoller} that polls the create composed model operation until it has completed, has failed, + * or has been cancelled. The completed operation returns the {@link DocumentModel composed model}. + * @throws DocumentAnalysisException If create composed model operation fails and model with + * {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If the list of {@code modelIDs} is null or empty. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateComposedModel( + List modelIDs, String modelId) { + return beginCreateComposedModel(modelIDs, modelId, null, Context.NONE); + } + + /** + * Create a composed model from the provided list of existing models in the account. + * + *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String-CreateComposedModelOptions-Context} + * + * @param modelIDs The list of models IDs to form the composed model. + * @param modelId A unique ID for your composed model. If not specified, a model ID will be created for you. + * @param createComposedModelOptions The configurable {@link CreateComposedModelOptions options} to pass when + * creating a composed model. + * @param context Additional context that is passed through the HTTP pipeline during the service call. + * + * @return A {@link SyncPoller} that polls the create composed model operation until it has completed, has failed, + * or has been cancelled. The completed operation returns the {@link DocumentModel composed model}. + * @throws DocumentAnalysisException If create composed model operation fails and model with + * {@link OperationStatus#FAILED} is created. + * @throws NullPointerException If the list of {@code modelIDs} is null or empty. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateComposedModel( + List modelIDs, String modelId, CreateComposedModelOptions createComposedModelOptions, Context context) { + return client.beginCreateComposedModel(modelIDs, modelId, createComposedModelOptions, context).getSyncPoller(); + } + + /** + * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. + * + *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). + * The target parameter should be supplied from the target resource's output from + * {@link DocumentModelAdministrationClient#getCopyAuthorization(String)} method. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization} + * + * @param modelId Model identifier of the model to copy to target resource. + * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be + * generated from the target resource's call to {@link DocumentModelAdministrationClient#getCopyAuthorization(String)} + * + * @return A {@link SyncPoller} that polls the copy model operation until it has completed, has failed, + * or has been cancelled. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModel(String modelId, + CopyAuthorization target) { + return beginCopyModel(modelId, target, Context.NONE); + } + + /** + * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. + * + *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). + * The target parameter should be supplied from the target resource's output from + * {@link DocumentModelAdministrationClient#getCopyAuthorization(String)} method. + *

+ * + *

The service does not support cancellation of the long running operation and returns with an + * error message indicating absence of cancellation support.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization-Context} + * + * @param modelId Model identifier of the model to copy to target resource. + * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be + * generated from the target resource's call to {@link DocumentModelAdministrationClient#getCopyAuthorization(String)}. + * @param context Additional context that is passed through the HTTP pipeline during the service call. + * + * @return A {@link SyncPoller} that polls the copy model operation until it has completed, has failed, + * or has been cancelled. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModel(String modelId, + CopyAuthorization target, Context context) { + return client.beginCopyModel(modelId, target, context).getSyncPoller(); + } + + /** + * List information for each model on the Form Recognizer account that were built successfully. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels} + * + * @return {@link PagedIterable} of {@link DocumentModelInfo} custom form model information. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listModels() { + return new PagedIterable<>(client.listModels(Context.NONE)); + } + + /** + * List information for each model on the Form Recognizer account that were built successfully with a Http + * response and a specified {@link Context}. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels#Context} + * + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return {@link PagedIterable} of {@link DocumentModelInfo} custom form model information. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listModels(Context context) { + return new PagedIterable<>(client.listModels(context)); + } + + /** + * Get detailed information for a specified model ID. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModel#string} + * + * @param modelId The unique model identifier. + * + * @return The detailed information for the specified model. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public DocumentModel getModel(String modelId) { + return getModelWithResponse(modelId, Context.NONE).getValue(); + } + + /** + * Get detailed information for a specified model ID. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModelWithResponse#string-Context} + * + * @param modelId The unique model identifier. + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return The detailed information for the specified model. + * @throws IllegalArgumentException If {@code modelId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getModelWithResponse(String modelId, Context context) { + return client.getModelWithResponse(modelId, context).block(); + } + + /** + * Get detailed operation information for the specified ID with Http response. + *

This operations fails if the operation ID used is past 24 hours.

+ *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperation#string} + * + * @param operationId Unique operation ID. + * + * @return The detailed information for the specified operation. + * @throws IllegalArgumentException If {@code operationId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public ModelOperation getOperation(String operationId) { + return getOperationWithResponse(operationId, Context.NONE).getValue(); + } + + /** + * Get detailed operation information for the specified ID with Http response. + *

This operations fails if the operation ID used is past 24 hours.

+ * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperationWithResponse#string-Context} + * + * @param operationId Unique operation ID. + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return The detailed information for the specified operation. + * @throws IllegalArgumentException If {@code operationId} is null or empty. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getOperationWithResponse(String operationId, Context context) { + return client.getOperationWithResponse(operationId, context).block(); + } + + /** + * List information for each model operation on the Form Recognizer account in the past 24 hours. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations} + * + * @return {@link PagedIterable} of {@link ModelOperationInfo} custom form model information. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOperations() { + return new PagedIterable<>(client.listOperations(Context.NONE)); + } + + /** + * List information for each operation on the Form Recognizer account in the past 24 hours with an HTTP response and + * a specified {@link Context}. + * + *

Code sample

+ * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations#Context} + * + * @param context Additional context that is passed through the Http pipeline during the service call. + * + * @return {@link PagedIterable} of {@link ModelOperationInfo} custom form model information. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOperations(Context context) { + return new PagedIterable<>(client.listOperations(context)); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClientBuilder.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientBuilder.java similarity index 63% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClientBuilder.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientBuilder.java index f76335763abf7..ce4e373112740 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClientBuilder.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientBuilder.java @@ -1,12 +1,13 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.ai.formrecognizer.training; +package com.azure.ai.formrecognizer.administration; -import com.azure.ai.formrecognizer.FormRecognizerServiceVersion; -import com.azure.ai.formrecognizer.implementation.Constants; +import com.azure.ai.formrecognizer.DocumentAnalysisServiceVersion; +import com.azure.ai.formrecognizer.implementation.util.Utility; import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImplBuilder; +import com.azure.ai.formrecognizer.implementation.util.Constants; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.credential.TokenCredential; @@ -27,11 +28,9 @@ import java.util.List; import java.util.Objects; -import static com.azure.ai.formrecognizer.implementation.Utility.buildHttpPipeline; - /** - * This class provides a fluent builder API to help instantiation of {@link FormTrainingClient FormTrainingClient} - * and {@link FormTrainingAsyncClient FormTrainingAsyncClient}, call {@link #buildClient()} buildClient} and + * This class provides a fluent builder API to help instantiation of {@link DocumentModelAdministrationClient FormRecognizerAdminClient} + * and {@link DocumentModelAdministrationAsyncClient DocumentTrainingAsyncClient}, call {@link #buildClient()} buildClient} and * {@link #buildAsyncClient() buildAsyncClient} respectively to construct an instance of the desired client. * *

@@ -40,30 +39,30 @@ * the builder access credential. *

* - *

Instantiating an asynchronous Form Training Client

+ *

Instantiating an asynchronous Document Analysis Training Client

* - * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.initialization} + * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.initialization} * - *

Instantiating a synchronous Form Training Client

+ *

Instantiating a synchronous Document Analysis Training Client

* - * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.initialization} + * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.initialization} * *

* Another way to construct the client is using a {@link HttpPipeline}. The pipeline gives the client an * authenticated way to communicate with the service. Set the pipeline with {@link #pipeline(HttpPipeline) this} and * set the service endpoint with {@link #endpoint(String) this}. Using a - * pipeline requires additional setup but allows for finer control on how the {@link FormTrainingClient} and - * {@link FormTrainingAsyncClient} is built. + * pipeline requires additional setup but allows for finer control on how the {@link DocumentModelAdministrationClient} and + * {@link DocumentModelAdministrationAsyncClient} is built. *

* - * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.pipeline.instantiation} + * {@codesnippet com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.pipeline.instantiation} * - * @see FormTrainingAsyncClient - * @see FormTrainingClient + * @see DocumentModelAdministrationAsyncClient + * @see DocumentModelAdministrationClient */ -@ServiceClientBuilder(serviceClients = {FormTrainingAsyncClient.class, FormTrainingClient.class}) -public final class FormTrainingClientBuilder { - private final ClientLogger logger = new ClientLogger(FormTrainingClientBuilder.class); +@ServiceClientBuilder(serviceClients = {DocumentModelAdministrationAsyncClient.class, DocumentModelAdministrationClient.class}) +public final class DocumentModelAdministrationClientBuilder { + private final ClientLogger logger = new ClientLogger(DocumentModelAdministrationClientBuilder.class); private final List perCallPolicies = new ArrayList<>(); private final List perRetryPolicies = new ArrayList<>(); @@ -77,43 +76,43 @@ public final class FormTrainingClientBuilder { private Configuration configuration; private RetryPolicy retryPolicy; private TokenCredential tokenCredential; - private FormRecognizerServiceVersion version; + private DocumentAnalysisServiceVersion version; /** - * Creates a {@link FormTrainingClient} based on options set in the builder. Every time - * {@code buildClient()} is called a new instance of {@link FormTrainingClient} is created. + * Creates a {@link DocumentModelAdministrationClient} based on options set in the builder. Every time + * {@code buildClient()} is called a new instance of {@link DocumentModelAdministrationClient} is created. * *

* If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and - * {@link #endpoint(String) endpoint} are used to create the {@link FormTrainingClient client}. All other builder + * {@link #endpoint(String) endpoint} are used to create the {@link DocumentModelAdministrationClient client}. All other builder * settings are ignored. *

* - * @return A FormTrainingClient with the options set from the builder. + * @return A FormRecognizerAdminClient with the options set from the builder. * @throws NullPointerException if {@link #endpoint(String) endpoint} or * {@link #credential(AzureKeyCredential)} has not been set. * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL. */ - public FormTrainingClient buildClient() { - return new FormTrainingClient(buildAsyncClient()); + public DocumentModelAdministrationClient buildClient() { + return new DocumentModelAdministrationClient(buildAsyncClient()); } /** - * Creates a {@link FormTrainingAsyncClient} based on options set in the builder. Every time - * {@code buildAsyncClient()} is called a new instance of {@link FormTrainingAsyncClient} is created. + * Creates a {@link DocumentModelAdministrationAsyncClient} based on options set in the builder. Every time + * {@code buildAsyncClient()} is called a new instance of {@link DocumentModelAdministrationAsyncClient} is created. * *

* If {@link #pipeline(HttpPipeline) pipeline} is set, then the {@code pipeline} and - * {@link #endpoint(String) endpoint} are used to create the {@link FormTrainingClient client}. All other builder + * {@link #endpoint(String) endpoint} are used to create the {@link DocumentModelAdministrationClient client}. All other builder * settings are ignored. *

* - * @return A FormTrainingAsyncClient with the options set from the builder. + * @return A DocumentTrainingAsyncClient with the options set from the builder. * @throws NullPointerException if {@link #endpoint(String) endpoint} or {@link #credential(AzureKeyCredential)} * has not been set. * @throws IllegalArgumentException if {@link #endpoint(String) endpoint} cannot be parsed into a valid URL. */ - public FormTrainingAsyncClient buildAsyncClient() { + public DocumentModelAdministrationAsyncClient buildAsyncClient() { // Endpoint cannot be null, which is required in request authentication Objects.requireNonNull(endpoint, "'Endpoint' is required and can not be null."); @@ -122,22 +121,22 @@ public FormTrainingAsyncClient buildAsyncClient() { (configuration == null) ? Configuration.getGlobalConfiguration().clone() : configuration; // Service Version - final FormRecognizerServiceVersion serviceVersion = - version != null ? version : FormRecognizerServiceVersion.getLatest(); + final DocumentAnalysisServiceVersion serviceVersion = + version != null ? version : DocumentAnalysisServiceVersion.getLatest(); HttpPipeline pipeline = httpPipeline; // Create a default Pipeline if it is not given if (pipeline == null) { - pipeline = buildHttpPipeline(clientOptions, httpLogOptions, buildConfiguration, + pipeline = Utility.buildHttpPipeline(clientOptions, httpLogOptions, buildConfiguration, retryPolicy, credential, tokenCredential, perCallPolicies, perRetryPolicies, httpClient); } final FormRecognizerClientImpl formRecognizerAPI = new FormRecognizerClientImplBuilder() - .endpoint(endpoint) - .apiVersion(serviceVersion.getVersion()) - .pipeline(pipeline) - .buildClient(); + .endpoint(endpoint) + .apiVersion(serviceVersion.getVersion()) + .pipeline(pipeline) + .buildClient(); - return new FormTrainingAsyncClient(formRecognizerAPI, serviceVersion); + return new DocumentModelAdministrationAsyncClient(formRecognizerAPI, serviceVersion); } /** @@ -145,11 +144,11 @@ public FormTrainingAsyncClient buildAsyncClient() { * * @param endpoint The URL of the Azure Form Recognizer instance service requests to and receive responses from. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. * @throws NullPointerException if {@code endpoint} is null. * @throws IllegalArgumentException if {@code endpoint} cannot be parsed into a valid URL. */ - public FormTrainingClientBuilder endpoint(String endpoint) { + public DocumentModelAdministrationClientBuilder endpoint(String endpoint) { Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); try { @@ -169,15 +168,15 @@ public FormTrainingClientBuilder endpoint(String endpoint) { /** * Sets the {@link AzureKeyCredential} to use when authenticating HTTP requests for this - * FormTrainingClientBuilder. + * DocumentModelAdministrationClientBuilder. * - * @param apiKeyCredential {@link AzureKeyCredential} API key credential. + * @param azureKeyCredential {@link AzureKeyCredential} API key credential. * - * @return The updated FormTrainingClientBuilder object. - * @throws NullPointerException If {@code apiKeyCredential} is null. + * @return The updated DocumentModelAdministrationClientBuilder object. + * @throws NullPointerException If {@code azureKeyCredential} is null. */ - public FormTrainingClientBuilder credential(AzureKeyCredential apiKeyCredential) { - this.credential = Objects.requireNonNull(apiKeyCredential, "'apiKeyCredential' cannot be null."); + public DocumentModelAdministrationClientBuilder credential(AzureKeyCredential azureKeyCredential) { + this.credential = Objects.requireNonNull(azureKeyCredential, "'azureKeyCredential' cannot be null."); return this; } @@ -185,10 +184,10 @@ public FormTrainingClientBuilder credential(AzureKeyCredential apiKeyCredential) * Sets the {@link TokenCredential} used to authenticate HTTP requests. * * @param tokenCredential {@link TokenCredential} used to authenticate HTTP requests. - * @return The updated {@link FormTrainingClientBuilder} object. + * @return The updated {@link DocumentModelAdministrationClientBuilder} object. * @throws NullPointerException If {@code tokenCredential} is null. */ - public FormTrainingClientBuilder credential(TokenCredential tokenCredential) { + public DocumentModelAdministrationClientBuilder credential(TokenCredential tokenCredential) { this.tokenCredential = Objects.requireNonNull(tokenCredential, "'tokenCredential' cannot be null."); return this; } @@ -201,9 +200,9 @@ public FormTrainingClientBuilder credential(TokenCredential tokenCredential) { * * @param logOptions The logging configuration to use when sending and receiving HTTP requests/responses. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder httpLogOptions(HttpLogOptions logOptions) { + public DocumentModelAdministrationClientBuilder httpLogOptions(HttpLogOptions logOptions) { this.httpLogOptions = logOptions; return this; } @@ -222,9 +221,9 @@ public static HttpLogOptions getDefaultLogOptions() { * Sets the client options such as application ID and custom headers to set on a request. * * @param clientOptions The client options. - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder clientOptions(ClientOptions clientOptions) { + public DocumentModelAdministrationClientBuilder clientOptions(ClientOptions clientOptions) { this.clientOptions = clientOptions; return this; } @@ -234,10 +233,10 @@ public FormTrainingClientBuilder clientOptions(ClientOptions clientOptions) { * * @param policy The retry policy for service requests. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. * @throws NullPointerException If {@code policy} is null. */ - public FormTrainingClientBuilder addPolicy(HttpPipelinePolicy policy) { + public DocumentModelAdministrationClientBuilder addPolicy(HttpPipelinePolicy policy) { Objects.requireNonNull(policy, "'policy' cannot be null."); if (policy.getPipelinePosition() == HttpPipelinePosition.PER_CALL) { @@ -253,9 +252,9 @@ public FormTrainingClientBuilder addPolicy(HttpPipelinePolicy policy) { * * @param client The HTTP client to use for requests. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder httpClient(HttpClient client) { + public DocumentModelAdministrationClientBuilder httpClient(HttpClient client) { if (this.httpClient != null && client == null) { logger.info("HttpClient is being set to 'null' when it was previously configured."); } @@ -268,14 +267,14 @@ public FormTrainingClientBuilder httpClient(HttpClient client) { * Sets the HTTP pipeline to use for the service client. *

* If {@code pipeline} is set, all other settings are ignored, aside from - * {@link FormTrainingClientBuilder#endpoint(String) endpoint} to build {@link FormTrainingAsyncClient} or - * {@link FormTrainingClient}. + * {@link DocumentModelAdministrationClientBuilder#endpoint(String) endpoint} to build {@link DocumentModelAdministrationAsyncClient} or + * {@link DocumentModelAdministrationClient}. * * @param httpPipeline The HTTP pipeline to use for sending service requests and receiving responses. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder pipeline(HttpPipeline httpPipeline) { + public DocumentModelAdministrationClientBuilder pipeline(HttpPipeline httpPipeline) { if (this.httpPipeline != null && httpPipeline == null) { logger.info("HttpPipeline is being set to 'null' when it was previously configured."); } @@ -292,9 +291,9 @@ public FormTrainingClientBuilder pipeline(HttpPipeline httpPipeline) { * * @param configuration The configuration store used to. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder configuration(Configuration configuration) { + public DocumentModelAdministrationClientBuilder configuration(Configuration configuration) { this.configuration = configuration; return this; } @@ -302,30 +301,30 @@ public FormTrainingClientBuilder configuration(Configuration configuration) { /** * Sets the {@link RetryPolicy#RetryPolicy()} that is used when each request is sent. *

- * The default retry policy will be used if not provided {@link FormTrainingClientBuilder#buildAsyncClient()} - * to build {@link FormTrainingAsyncClient} or {@link FormTrainingClient}. + * The default retry policy will be used if not provided {@link DocumentModelAdministrationClientBuilder#buildAsyncClient()} + * to build {@link DocumentModelAdministrationAsyncClient} or {@link DocumentModelAdministrationClient}. * * @param retryPolicy user's retry policy applied to each request. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder retryPolicy(RetryPolicy retryPolicy) { + public DocumentModelAdministrationClientBuilder retryPolicy(RetryPolicy retryPolicy) { this.retryPolicy = retryPolicy; return this; } /** - * Sets the {@link FormRecognizerServiceVersion} that is used when making API requests. + * Sets the {@link DocumentAnalysisServiceVersion} that is used when making API requests. *

* If a service version is not provided, the service version that will be used will be the latest known service * version based on the version of the client library being used. If no service version is specified, updating to a * newer version the client library will have the result of potentially moving to a newer service version. * - * @param version {@link FormRecognizerServiceVersion} of the service to be used when making requests. + * @param version {@link DocumentAnalysisServiceVersion} of the service to be used when making requests. * - * @return The updated FormTrainingClientBuilder object. + * @return The updated DocumentModelAdministrationClientBuilder object. */ - public FormTrainingClientBuilder serviceVersion(FormRecognizerServiceVersion version) { + public DocumentModelAdministrationClientBuilder serviceVersion(DocumentAnalysisServiceVersion version) { this.version = version; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/AccountProperties.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/AccountProperties.java new file mode 100644 index 0000000000000..44405c6da65c9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/AccountProperties.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.AccountPropertiesHelper; + +/** + * The AccountProperties model. + */ +public final class AccountProperties { + + /* + * The current count of built document analysis models. + */ + private int documentModelCount; + + /* + * Max number of models that can be built for this account. + */ + private int documentModelLimit; + + /** + * Get the current count of built document analysis models + * + * @return the count value. + */ + public int getDocumentModelCount() { + return this.documentModelCount; + } + + /** + * Get the max number of models that can be built for this account. + * + * @return the limit value. + */ + public int getDocumentModelLimit() { + return this.documentModelLimit; + } + + void setDocumentModelCount(int documentModelCount) { + this.documentModelCount = documentModelCount; + } + + void setDocumentModelLimit(int documentModelLimit) { + this.documentModelLimit = documentModelLimit; + } + + static { + AccountPropertiesHelper.setAccessor(new AccountPropertiesHelper.AccountPropertiesAccessor() { + @Override + public void setDocumentModelCount( + AccountProperties accountProperties, int documentModelCount) { + accountProperties.setDocumentModelCount(documentModelCount); + } + + @Override + public void setDocumentModelLimit( + AccountProperties accountProperties, int documentModelLimit) { + accountProperties.setDocumentModelLimit(documentModelLimit); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/BuildModelOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/BuildModelOptions.java new file mode 100644 index 0000000000000..2f2a5743fb055 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/BuildModelOptions.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.core.annotation.Fluent; + +/** + * Options that may be passed using build model APIs on Document Administration client. + */ +@Fluent +public final class BuildModelOptions { + private String description; + + /* + * A case-sensitive prefix string to filter documents in the source path + * for training. + */ + private String prefix; + + /** + * Get the model description. + * + * @return the model description value. + */ + public String getDescription() { + return description; + } + + /** + * Set the model description. + * + * @param description the model description value to set. + * @return the BuildDocumentModelOptions object itself. + */ + public BuildModelOptions setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the case-sensitive prefix string to filter + * documents in the source path for training. + * + * @return the case-sensitive prefix string to filter documents for training. + */ + public String getPrefix() { + return this.prefix; + } + + /** + * Set the case-sensitive prefix string to filter documents in the source path for training. + * + * @param prefix the prefix value to set. + * @return the BuildDocumentModelOptions object itself. + */ + public BuildModelOptions setPrefix(String prefix) { + this.prefix = prefix; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorization.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorization.java new file mode 100644 index 0000000000000..ebf59d04ce8fd --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorization.java @@ -0,0 +1,193 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.CopyAuthorizationHelper; + +import java.time.OffsetDateTime; + +/** + * Authorization to copy a model to the specified target resource and modelId. + */ +public final class CopyAuthorization { + /* + * Id of the target Azure resource where the model should be copied to. + */ + private String targetResourceId; + + /* + * Location of the target Azure resource where the model should be copied + * to. + */ + private String targetResourceRegion; + + /* + * Identifier of the target model. + */ + private String targetModelId; + + /* + * URL of the copied model in the target account. + */ + private String targetModelLocation; + + /* + * Token used to authorize the request. + */ + private String accessToken; + + /* + * Date/time when the access token expires. + */ + private OffsetDateTime expirationDateTime; + + /** + * Get the identifier of the target Azure resource where the model should be copied to. + * + * @return the targetResourceId value. + */ + public String getTargetResourceId() { + return this.targetResourceId; + } + + /** + * Set the identifier of the target Azure resource where the model should be copied to. + * + * @param targetResourceId the targetResourceId value to set. + * @return the CopyAuthorization object itself. + */ + void setTargetResourceId(String targetResourceId) { + this.targetResourceId = targetResourceId; + } + + /** + * Get the targetResourceRegion property: Location of the target Azure resource where the model should be copied to. + * + * @return the targetResourceRegion value. + */ + public String getTargetResourceRegion() { + return this.targetResourceRegion; + } + + /** + * Set the targetResourceRegion property: Location of the target Azure resource where the model should be copied to. + * + * @param targetResourceRegion the targetResourceRegion value to set. + * @return the CopyAuthorization object itself. + */ + void setTargetResourceRegion(String targetResourceRegion) { + this.targetResourceRegion = targetResourceRegion; + } + + /** + * Get the targetModelId property: Identifier of the target model. + * + * @return the targetModelId value. + */ + public String getTargetModelId() { + return this.targetModelId; + } + + /** + * Set the targetModelId property: Identifier of the target model. + * + * @param targetModelId the targetModelId value to set. + * @return the CopyAuthorization object itself. + */ + void setTargetModelId(String targetModelId) { + this.targetModelId = targetModelId; + } + + /** + * Get the targetModelLocation property: URL of the copied model in the target account. + * + * @return the targetModelLocation value. + */ + public String getTargetModelLocation() { + return this.targetModelLocation; + } + + /** + * Set the targetModelLocation property: URL of the copied model in the target account. + * + * @param targetModelLocation the targetModelLocation value to set. + * @return the CopyAuthorization object itself. + */ + void setTargetModelLocation(String targetModelLocation) { + this.targetModelLocation = targetModelLocation; + } + + /** + * Get the accessToken property: Token used to authorize the request. + * + * @return the accessToken value. + */ + public String getAccessToken() { + return this.accessToken; + } + + /** + * Set the accessToken property: Token used to authorize the request. + * + * @param accessToken the accessToken value to set. + * @return the CopyAuthorization object itself. + */ + void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + /** + * Get the expirationDateTime property: Date/time when the access token expires. + * + * @return the expirationDateTime value. + */ + public OffsetDateTime getExpiresOn() { + return this.expirationDateTime; + } + + /** + * Set the expirationDateTime property: Date/time when the access token expires. + * + * @param expirationDateTime the expirationDateTime value to set. + * @return the CopyAuthorization object itself. + */ + void setExpirationDateTime(OffsetDateTime expirationDateTime) { + this.expirationDateTime = expirationDateTime; + } + + static { + CopyAuthorizationHelper.setAccessor(new CopyAuthorizationHelper.CopyAuthorizationAccessor() { + @Override + public void setTargetResourceId(CopyAuthorization copyAuthorization, String targetResourceId) { + copyAuthorization.setTargetResourceId(targetResourceId); + } + + @Override + public void setTargetResourceRegion(CopyAuthorization copyAuthorization, String targetResourceRegion) { + copyAuthorization.setTargetResourceRegion(targetResourceRegion); + } + + @Override + public void setTargetModelId(CopyAuthorization copyAuthorization, String targetModelId) { + copyAuthorization.setTargetModelId(targetModelId); + } + + @Override + public void setTargetModelLocation(CopyAuthorization copyAuthorization, String targetModelLocation) { + copyAuthorization.setTargetModelLocation(targetModelLocation); + } + + @Override + public void setAccessToken(CopyAuthorization copyAuthorization, String accessToken) { + copyAuthorization.setAccessToken(accessToken); + } + + @Override + public void setExpirationDateTime(CopyAuthorization copyAuthorization, OffsetDateTime expirationDateTime) { + copyAuthorization.setExpirationDateTime(expirationDateTime + ); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorizationOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorizationOptions.java new file mode 100644 index 0000000000000..033c59bfd16bc --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CopyAuthorizationOptions.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.core.annotation.Fluent; + +/** + * Options that may be passed when copying models into the target Form Recognizer resource. + */ +@Fluent +public final class CopyAuthorizationOptions { + private String description; + + /** + * Get the model description. + * + * @return the model description value. + */ + public String getDescription() { + return description; + } + + /** + * Set the model description. + * + * @param description the model description value to set. + * @return the CopyAuthorizationOptions object itself. + */ + public CopyAuthorizationOptions setDescription(String description) { + this.description = description; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CreateComposedModelOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CreateComposedModelOptions.java new file mode 100644 index 0000000000000..d402d45bff4b7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/CreateComposedModelOptions.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.core.annotation.Fluent; + +/** + * The configurable options to pass when creating a composed model. + */ +@Fluent +public final class CreateComposedModelOptions { + private String description; + + /** + * Get the optional model description defined by the user. + * + * @return the modelName. + */ + public String getDescription() { + return description; + } + + /** + * Set the optional model description defined by the user. + * + * @param description the user defined model description to set. + * + * @return the updated {@code CreateComposedModelOptions} value. + */ + public CreateComposedModelOptions setDescription(final String description) { + this.description = description; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocTypeInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocTypeInfo.java new file mode 100644 index 0000000000000..e784236beb2e3 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocTypeInfo.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.DocTypeInfoHelper; + +import java.util.Map; + +/** + * The DocTypeInfo model. + */ +public final class DocTypeInfo { + /* + * Model description. + */ + private String description; + + /* + * Description of the document semantic schema using a JSON Schema style + * syntax. + */ + private Map fieldSchema; + + /* + * Estimated confidence for each field. + */ + private Map fieldConfidence; + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + */ + void setDescription(String description) { + this.description = description; + } + + /** + * Get the fieldSchema property: Description of the document semantic schema using a JSON Schema style syntax. + * + * @return the fieldSchema value. + */ + public Map getFieldSchema() { + return this.fieldSchema; + } + + /** + * Set the fieldSchema property: Description of the document semantic schema using a JSON Schema style syntax. + * + * @param fieldSchema the fieldSchema value to set. + */ + void setFieldSchema(Map fieldSchema) { + this.fieldSchema = fieldSchema; + } + + /** + * Get the fieldConfidence property: Estimated confidence for each field. + * + * @return the fieldConfidence value. + */ + public Map getFieldConfidence() { + return this.fieldConfidence; + } + + /** + * Set the fieldConfidence property: Estimated confidence for each field. + * + * @param fieldConfidence the fieldConfidence value to set. + */ + void setFieldConfidence(Map fieldConfidence) { + this.fieldConfidence = fieldConfidence; + } + static { + DocTypeInfoHelper.setAccessor(new DocTypeInfoHelper.DocTypeInfoAccessor() { + @Override + public void setDescription(DocTypeInfo docTypeInfo, String description) { + docTypeInfo.setDescription(description); + } + + @Override + public void setFieldSchema(DocTypeInfo docTypeInfo, Map fieldSchema) { + docTypeInfo.setFieldSchema(fieldSchema); + } + + @Override + public void setFieldConfidence(DocTypeInfo docTypeInfo, Map fieldConfidence) { + docTypeInfo.setFieldConfidence(fieldConfidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentFieldSchema.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentFieldSchema.java new file mode 100644 index 0000000000000..80a116604a58a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentFieldSchema.java @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentFieldSchemaHelper; +import com.azure.ai.formrecognizer.models.DocumentFieldType; + +import java.util.Map; + +/** + * Description of the field semantic schema using a JSON Schema style syntax. + */ +public final class DocumentFieldSchema { + /* + * Semantic data type of the field value. + */ + private DocumentFieldType type; + + /* + * Field description. + */ + private String description; + + /* + * Example field content. + */ + private String example; + + /* + * Field type schema of each array element. + */ + private DocumentFieldSchema items; + + /* + * Named sub-fields of the object field. + */ + private Map properties; + + /** + * Get the type property: Semantic data type of the field value. + * + * @return the type value. + */ + public DocumentFieldType getType() { + return this.type; + } + + /** + * Set the type property: Semantic data type of the field value. + * + * @param type the type value to set. + * @return the DocumentFieldSchema object itself. + */ + void setType(DocumentFieldType type) { + this.type = type; + } + + /** + * Get the description property: Field description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Field description. + * + * @param description the description value to set. + * @return the DocumentFieldSchema object itself. + */ + void setDescription(String description) { + this.description = description; + } + + /** + * Get the example property: Example field content. + * + * @return the example value. + */ + public String getExample() { + return this.example; + } + + /** + * Set the example property: Example field content. + * + * @param example the example value to set. + * @return the DocumentFieldSchema object itself. + */ + void setExample(String example) { + this.example = example; + } + + /** + * Get the items property: Field type schema of each array element. + * + * @return the items value. + */ + public DocumentFieldSchema getItems() { + return this.items; + } + + /** + * Set the items property: Field type schema of each array element. + * + * @param items the items value to set. + * @return the DocumentFieldSchema object itself. + */ + void setItems(DocumentFieldSchema items) { + this.items = items; + } + + /** + * Get the properties property: Named sub-fields of the object field. + * + * @return the properties value. + */ + public Map getProperties() { + return this.properties; + } + + /** + * Set the properties property: Named sub-fields of the object field. + * + * @param properties the properties value to set. + * @return the DocumentFieldSchema object itself. + */ + void setProperties(Map properties) { + this.properties = properties; + } + + static { + DocumentFieldSchemaHelper.setAccessor(new DocumentFieldSchemaHelper.DocumentFieldSchemaAccessor() { + @Override + public void setType(DocumentFieldSchema documentFieldSchema, DocumentFieldType type) { + documentFieldSchema.setType(type); + } + + @Override + public void setDescription(DocumentFieldSchema documentFieldSchema, String description) { + documentFieldSchema.setDescription(description); + } + + @Override + public void setExample(DocumentFieldSchema documentFieldSchema, String example) { + documentFieldSchema.setExample(example); + } + + @Override + public void setItems(DocumentFieldSchema documentFieldSchema, DocumentFieldSchema items) { + documentFieldSchema.setItems(items); + } + + @Override + public void setProperties(DocumentFieldSchema documentFieldSchema, Map properties) { + documentFieldSchema.setProperties(properties); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModel.java new file mode 100644 index 0000000000000..9bafdd3896574 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModel.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentModelHelper; + +import java.time.OffsetDateTime; +import java.util.Map; + +/** + * The DocumentModel model. + */ +public final class DocumentModel { + + /* + * Unique model identifier. + */ + private String modelId; + + /* + * Model description. + */ + private String description; + + /* + * Date and time (UTC) when the model was created. + */ + private OffsetDateTime createdOn; + + private Map docTypes; + + /** + * Get the Unique model identifier. + * + * @return the modelId value. + */ + public String getModelId() { + return modelId; + } + + void setModelId(String modelId) { + this.modelId = modelId; + } + + /** + * Get the model description. + * + * @return the description value. + */ + public String getDescription() { + return description; + } + + void setDescription(String description) { + this.description = description; + } + + /** + * Get the Date and time (UTC) when the analyze operation was submitted. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedOn() { + return createdOn; + } + + void setCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + } + + /** + * Get the supported document types. + * + * @return the docTypes value. + */ + public Map getDocTypes() { + return docTypes; + } + + void setDocTypes( + Map docTypes) { + this.docTypes = docTypes; + } + + static { + DocumentModelHelper.setAccessor(new DocumentModelHelper.DocumentModelAccessor() { + @Override + public void setModelId(DocumentModel documentModel, String modelId) { + documentModel.setModelId(modelId); + } + + @Override + public void setDescription(DocumentModel documentModel, String description) { + documentModel.setDescription(description); + } + + @Override + public void setCreatedOn(DocumentModel documentModel, OffsetDateTime createdOn) { + documentModel.setCreatedOn(createdOn); + } + + @Override + public void setDocTypes(DocumentModel documentModel, Map docTypes) { + documentModel.setDocTypes(docTypes); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModelInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModelInfo.java new file mode 100644 index 0000000000000..d163e402173f7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/DocumentModelInfo.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentModelInfoHelper; + +import java.time.OffsetDateTime; + +/** + * Model summary for the built and prebuilt models. + */ +public final class DocumentModelInfo { + /* + * Unique model identifier. + */ + private String modelId; + + /* + * Model description. + */ + private String description; + + /* + * Date and time (UTC) when the model was created. + */ + private OffsetDateTime createdOn; + + /** + * Get the unique model identifier. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model identifier. + * + * @param modelId the modelId value to set. + * @return the ModelSummary object itself. + */ + void setModelId(String modelId) { + this.modelId = modelId; + } + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the ModelSummary object itself. + */ + void setDescription(String description) { + this.description = description; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the model was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedOn() { + return this.createdOn; + } + + /** + * Set the createdDateTime property: Date and time (UTC) when the model was created. + * + * @param createdOn the createdDateTime value to set. + * @return the ModelSummary object itself. + */ + void setCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + } + + static { + DocumentModelInfoHelper.setAccessor(new DocumentModelInfoHelper.DocumentModelInfoAccessor() { + @Override + public void setModelId(DocumentModelInfo documentModelInfo, String modelId) { + documentModelInfo.setModelId(modelId); + } + + @Override + public void setDescription(DocumentModelInfo documentModelInfo, String description) { + documentModelInfo.setDescription(description); + } + + @Override + public void setCreatedOn(DocumentModelInfo documentModelInfo, OffsetDateTime createdDateTime) { + documentModelInfo.setCreatedOn(createdDateTime); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/FormRecognizerError.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/FormRecognizerError.java new file mode 100644 index 0000000000000..ad73abb911d73 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/FormRecognizerError.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.FormRecognizerErrorHelper; + +import java.util.List; + +/** + * Form Recognizer Error info. + */ +public final class FormRecognizerError { + /* + * Error code. + */ + private String code; + + /* + * Error message. + */ + private String message; + + /* + * Target of the error. + */ + private String target; + + /* + * List of detailed errors. + */ + private List details; + + /* + * Detailed error. + */ + private InnerError innerError; + + /** + * Get the code property: Error code. + * + * @return the code value. + */ + public String getCode() { + return this.code; + } + + /** + * Set the code property: Error code. + * + * @param code the code value to set. + * @return the Error object itself. + */ + void setCode(String code) { + this.code = code; + } + + /** + * Get the message property: Error message. + * + * @return the message value. + */ + public String getMessage() { + return this.message; + } + + /** + * Set the message property: Error message. + * + * @param message the message value to set. + * @return the Error object itself. + */ + void setMessage(String message) { + this.message = message; + } + + /** + * Get the target property: Target of the error. + * + * @return the target value. + */ + public String getTarget() { + return this.target; + } + + /** + * Set the target property: Target of the error. + * + * @param target the target value to set. + * @return the Error object itself. + */ + void setTarget(String target) { + this.target = target; + } + + /** + * Get the details property: List of detailed errors. + * + * @return the details value. + */ + public List getDetails() { + return this.details; + } + + /** + * Set the details property: List of detailed errors. + * + * @param details the details value to set. + * @return the Error object itself. + */ + void setDetails(List details) { + this.details = details; + } + + /** + * Get the innerError property: Detailed error. + * + * @return the innerError value. + */ + public InnerError getInnerError() { + return this.innerError; + } + + /** + * Set the innerError property: Detailed error. + * + * @param innerError the innerError value to set. + * @return the Error object itself. + */ + void setInnerError(InnerError innerError) { + this.innerError = innerError; + } + + static { + FormRecognizerErrorHelper.setAccessor(new FormRecognizerErrorHelper.FormRecognizerErrorAccessor() { + @Override + public void setCode(FormRecognizerError formRecognizerError, String errorCode) { + formRecognizerError.setCode(errorCode); + } + + @Override + public void setMessage(FormRecognizerError formRecognizerError, String message) { + formRecognizerError.setMessage(message); + } + + @Override + public void setTarget(FormRecognizerError formRecognizerError, String target) { + formRecognizerError.setTarget(target); + } + + @Override + public void setDetails(FormRecognizerError formRecognizerError, List details) { + formRecognizerError.setDetails(details); + } + + @Override + public void setInnerError(FormRecognizerError formRecognizerError, InnerError innererror) { + formRecognizerError.setInnerError(innererror); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/InnerError.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/InnerError.java new file mode 100644 index 0000000000000..d37524ac0b063 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/InnerError.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.InnerErrorHelper; + +/** + * Detailed error. + */ +public final class InnerError { + /* + * Error code. + */ + private String code; + + /* + * Error message. + */ + private String message; + + /* + * Detailed error. + */ + private InnerError innerError; + + /** + * Get the code property: Error code. + * + * @return the code value. + */ + public String getCode() { + return this.code; + } + + /** + * Set the code property: Error code. + * + * @param code the code value to set. + * @return the InnerError object itself. + */ + void setCode(String code) { + this.code = code; + } + + /** + * Get the message property: Error message. + * + * @return the message value. + */ + public String getMessage() { + return this.message; + } + + /** + * Set the message property: Error message. + * + * @param message the message value to set. + * @return the InnerError object itself. + */ + void setMessage(String message) { + this.message = message; + } + + /** + * Get the innerError property: Detailed error. + * + * @return the innerError value. + */ + public InnerError getInnerError() { + return this.innerError; + } + + /** + * Set the innerError property: Detailed error. + * + * @param innerError the innerError value to set. + * @return the InnerError object itself. + */ + void setInnerError(InnerError innerError) { + this.innerError = innerError; + } + + static { + InnerErrorHelper.setAccessor(new InnerErrorHelper.InnerErrorAccessor() { + @Override + public void setCode(InnerError innerError, String errorCode) { + innerError.setCode(errorCode); + } + + @Override + public void setMessage(InnerError innerError, String message) { + innerError.setMessage(message); + } + + @Override + public void setInnerError(InnerError innerError, InnerError innererror) { + innerError.setInnerError(innerError); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperation.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperation.java new file mode 100644 index 0000000000000..19dd968409187 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperation.java @@ -0,0 +1,220 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + + +import com.azure.ai.formrecognizer.implementation.util.ModelOperationHelper; + +import java.time.OffsetDateTime; +import java.util.Map; + +/** + * The ModelOperation model. + */ +public final class ModelOperation extends ModelOperationInfo { + + /* + * Unique model identifier. + */ + private String modelId; + + /* + * Model description. + */ + private String description; + + /* + * Date and time (UTC) when the model was created. + */ + private OffsetDateTime createdOn; + + private Map docTypes; + + private FormRecognizerError error; + + /** + * Get the Unique model identifier. + * + * @return the modelId value. + */ + public String getModelId() { + return modelId; + } + + void setModelId(String modelId) { + this.modelId = modelId; + } + + /** + * Get the model description. + * + * @return the description value. + */ + public String getDescription() { + return description; + } + + void setDescription(String description) { + this.description = description; + } + + /** + * Get the Date and time (UTC) when the analyze operation was submitted. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedOn() { + return createdOn; + } + + void setCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + } + + /** + * Get the supported document types. + * + * @return the docTypes value. + */ + public Map getDocTypes() { + return docTypes; + } + + void setDocTypes( + Map docTypes) { + this.docTypes = docTypes; + } + + void setError(FormRecognizerError error) { + this.error = error; + } + + /** + * Get the error property: Encountered error. + * + * @return the error value. + */ + public FormRecognizerError getError() { + return error; + } + + @Override + public String getOperationId() { + return super.getOperationId(); + } + + @Override + void setOperationId(String operationId) { + super.setOperationId(operationId); + } + + @Override + public ModelOperationStatus getStatus() { + return super.getStatus(); + } + + @Override + void setStatus(ModelOperationStatus status) { + super.setStatus(status); + } + + @Override + public Integer getPercentCompleted() { + return super.getPercentCompleted(); + } + + @Override + void setPercentCompleted(Integer percentCompleted) { + super.setPercentCompleted(percentCompleted); + } + + @Override + public OffsetDateTime getLastUpdatedOn() { + return super.getLastUpdatedOn(); + } + + @Override + void setLastUpdatedOn(OffsetDateTime lastUpdatedOn) { + super.setLastUpdatedOn(lastUpdatedOn); + } + + @Override + public ModelOperationKind getKind() { + return super.getKind(); + } + + @Override + void setKind(ModelOperationKind kind) { + super.setKind(kind); + } + + @Override + public String getResourceLocation() { + return super.getResourceLocation(); + } + + @Override + void setResourceLocation(String resourceLocation) { + super.setResourceLocation(resourceLocation); + } + + static { + ModelOperationHelper.setAccessor(new ModelOperationHelper.ModelOperationAccessor() { + @Override + public void setModelId(ModelOperation modelOperation, String modelId) { + modelOperation.setModelId(modelId); + } + + @Override + public void setDescription(ModelOperation modelOperation, String description) { + modelOperation.setDescription(description); + } + + @Override + public void setCreatedOn(ModelOperation modelOperation, OffsetDateTime createdOn) { + modelOperation.setCreatedOn(createdOn); + } + + @Override + public void setDocTypes(ModelOperation modelOperation, Map docTypes) { + modelOperation.setDocTypes(docTypes); + } + + @Override + public void setError(ModelOperation modelOperation, FormRecognizerError error) { + modelOperation.setError(error); + } + + @Override + public void setOperationId(ModelOperation modelOperation, String operationId) { + modelOperation.setOperationId(operationId); + } + + @Override + public void setStatus(ModelOperation modelOperation, ModelOperationStatus status) { + modelOperation.setStatus(status); + } + + @Override + public void setPercentCompleted(ModelOperation modelOperation, Integer percentCompleted) { + modelOperation.setPercentCompleted(percentCompleted); + } + + @Override + public void setLastUpdatedOn(ModelOperation modelOperation, OffsetDateTime lastUpdatedOn) { + modelOperation.setLastUpdatedOn(lastUpdatedOn); + } + + @Override + public void setKind(ModelOperation modelOperation, ModelOperationKind kind) { + modelOperation.setKind(kind); + } + + @Override + public void setResourceLocation(ModelOperation modelOperation, String resourceLocation) { + modelOperation.setResourceLocation(resourceLocation); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationInfo.java new file mode 100644 index 0000000000000..c33df74054d1f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationInfo.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.ai.formrecognizer.implementation.util.ModelOperationInfoHelper; + +import java.time.OffsetDateTime; + +/** ModelOperationInfo. */ +public class ModelOperationInfo { + /* + * Operation ID + */ + private String operationId; + + /* + * Operation status. + */ + private ModelOperationStatus status; + + /* + * Operation progress (0-100). + */ + private Integer percentCompleted; + + /* + * Date and time (UTC) when the operation was created. + */ + private OffsetDateTime createdOn; + + /* + * Date and time (UTC) when the status was last updated. + */ + private OffsetDateTime lastUpdatedOn; + + /* + * Type of operation. + */ + private ModelOperationKind kind; + + /* + * URL of the resource targeted by this operation. + */ + private String resourceLocation; + + /** + * Get the operationId property: Operation ID. + * + * @return the operationId value. + */ + public String getOperationId() { + return this.operationId; + } + + /** + * Set the operationId property: Operation ID. + * + * @param operationId the operationId value to set. + * @return the OperationInfo object itself. + */ + void setOperationId(String operationId) { + this.operationId = operationId; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + public ModelOperationStatus getStatus() { + return this.status; + } + + /** + * Set the status property: Operation status. + * + * @param status the status value to set. + * @return the OperationInfo object itself. + */ + void setStatus(ModelOperationStatus status) { + this.status = status; + } + + /** + * Get the percentCompleted property: Operation progress (0-100). + * + * @return the percentCompleted value. + */ + public Integer getPercentCompleted() { + return this.percentCompleted; + } + + /** + * Set the percentCompleted property: Operation progress (0-100). + * + * @param percentCompleted the percentCompleted value to set. + * @return the OperationInfo object itself. + */ + void setPercentCompleted(Integer percentCompleted) { + this.percentCompleted = percentCompleted; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the operation was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedOn() { + return this.createdOn; + } + + /** + * Set the createdDateTime property: Date and time (UTC) when the operation was created. + * + * @param createdOn the createdDateTime value to set. + * @return the OperationInfo object itself. + */ + void setCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + } + + /** + * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @return the lastUpdatedDateTime value. + */ + public OffsetDateTime getLastUpdatedOn() { + return this.lastUpdatedOn; + } + + /** + * Set the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @param lastUpdatedOn the lastUpdatedDateTime value to set. + * @return the OperationInfo object itself. + */ + void setLastUpdatedOn(OffsetDateTime lastUpdatedOn) { + this.lastUpdatedOn = lastUpdatedOn; + } + + /** + * Get the kind property: Type of operation. + * + * @return the kind value. + */ + public ModelOperationKind getKind() { + return this.kind; + } + + /** + * Set the kind property: Type of operation. + * + * @param kind the kind value to set. + * @return the OperationInfo object itself. + */ + void setKind(ModelOperationKind kind) { + this.kind = kind; + } + + /** + * Get the resourceLocation property: URL of the resource targeted by this operation. + * + * @return the resourceLocation value. + */ + public String getResourceLocation() { + return this.resourceLocation; + } + + /** + * Set the resourceLocation property: URL of the resource targeted by this operation. + * + * @param resourceLocation the resourceLocation value to set. + * @return the OperationInfo object itself. + */ + void setResourceLocation(String resourceLocation) { + this.resourceLocation = resourceLocation; + } + + static { + ModelOperationInfoHelper.setAccessor(new ModelOperationInfoHelper.ModelOperationInfoAccessor() { + @Override + public void setOperationId(ModelOperationInfo modelOperationInfo, String operationId) { + modelOperationInfo.setOperationId(operationId); + } + + @Override + public void setStatus(ModelOperationInfo modelOperationInfo, ModelOperationStatus status) { + modelOperationInfo.setStatus(status); + } + + @Override + public void setPercentCompleted(ModelOperationInfo modelOperationInfo, Integer percentCompleted) { + modelOperationInfo.setPercentCompleted(percentCompleted); + } + + @Override + public void setCreatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime createdOn) { + modelOperationInfo.setCreatedOn(createdOn); + } + + @Override + public void setLastUpdatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime lastUpdatedOn) { + modelOperationInfo.setLastUpdatedOn(lastUpdatedOn); + } + + @Override + public void setKind(ModelOperationInfo modelOperationInfo, ModelOperationKind kind) { + modelOperationInfo.setKind(kind); + } + + @Override + public void setResourceLocation(ModelOperationInfo modelOperationInfo, String resourceLocation) { + modelOperationInfo.setResourceLocation(resourceLocation); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationKind.java new file mode 100644 index 0000000000000..4c0cebe1b8051 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationKind.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +import com.azure.core.util.ExpandableStringEnum; + +import java.util.Collection; + +/** Defines values for ModelOperationKind. */ +public final class ModelOperationKind extends ExpandableStringEnum { + /** Static value documentModelBuild for ModelOperationKind. */ + public static final ModelOperationKind DOCUMENT_MODEL_BUILD = fromString("documentModelBuild"); + + /** Static value documentModelCompose for ModelOperationKind. */ + public static final ModelOperationKind DOCUMENT_MODEL_COMPOSE = fromString("documentModelCompose"); + + /** Static value documentModelCopyTo for ModelOperationKind. */ + public static final ModelOperationKind DOCUMENT_MODEL_COPY_TO = fromString("documentModelCopyTo"); + + /** + * Creates or finds a ModelOperationKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding ModelOperationKind. + */ + public static ModelOperationKind fromString(String name) { + return fromString(name, ModelOperationKind.class); + } + + /** @return known ModelOperationKind values. */ + public static Collection values() { + return values(ModelOperationKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationStatus.java new file mode 100644 index 0000000000000..37941322bb17a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/ModelOperationStatus.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration.models; + +/** Defines values for ModelOperationStatus. */ +public enum ModelOperationStatus { + /** Enum value notStarted. */ + NOT_STARTED("notStarted"), + + /** Enum value running. */ + RUNNING("running"), + + /** Enum value failed. */ + FAILED("failed"), + + /** Enum value succeeded. */ + SUCCEEDED("succeeded"), + + /** Enum value canceled. */ + CANCELED("canceled"); + + /** The actual serialized value for a ModelOperationStatus instance. */ + private final String value; + + ModelOperationStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ModelOperationStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed ModelOperationStatus object, or null if unable to parse. + */ + public static ModelOperationStatus fromString(String value) { + ModelOperationStatus[] items = ModelOperationStatus.values(); + for (ModelOperationStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/package-info.java new file mode 100644 index 0000000000000..2663e7a5e0d04 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/models/package-info.java @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** + * Package containing model classes to perform operations {@link com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient} and + * {@link com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient}. + */ +package com.azure.ai.formrecognizer.administration.models; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/package-info.java new file mode 100644 index 0000000000000..b583191e0027e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/administration/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** + * Package containing classes for creating a + * {@link com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient} and + * {@link com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient} to perform operations on + * Azure Form Recognizer document model management operations. + */ +package com.azure.ai.formrecognizer.administration; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelHelper.java deleted file mode 100644 index 1c0d14891c23e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelHelper.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelProperties; -import com.azure.ai.formrecognizer.training.models.TrainingDocumentInfo; -import java.util.List; - -/** - * The helper class to set the non-public properties of an {@link CustomFormModel} instance. - */ -public final class CustomFormModelHelper { - private static CustomFormModelAccessor accessor; - - private CustomFormModelHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link CustomFormModel} instance. - */ - public interface CustomFormModelAccessor { - void setTrainingDocuments(CustomFormModel formModel, List trainingDocuments); - void setModelName(CustomFormModel formModel, String modelName); - void setCustomFormModelProperties(CustomFormModel formModel, - CustomFormModelProperties customFormModelProperties); - } - - /** - * The method called from {@link CustomFormModel} to set it's accessor. - * - * @param formModelAccessor The accessor. - */ - public static void setAccessor(final CustomFormModelAccessor formModelAccessor) { - accessor = formModelAccessor; - } - - public static void setTrainingDocuments(CustomFormModel formModel, List trainingDocuments) { - accessor.setTrainingDocuments(formModel, trainingDocuments); - } - - public static void setModelName(CustomFormModel formModel, String modelName) { - accessor.setModelName(formModel, modelName); - } - - public static void setCustomFormModelProperties(CustomFormModel formModel, - CustomFormModelProperties customFormModelProperties) { - accessor.setCustomFormModelProperties(formModel, customFormModelProperties); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelInfoHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelInfoHelper.java deleted file mode 100644 index 8c20b948fd246..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelInfoHelper.java +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.CustomFormModelProperties; - -/** - * The helper class to set the non-public properties of an {@link CustomFormModelInfo} instance. - */ -public final class CustomFormModelInfoHelper { - private static CustomFormModelInfoAccessor accessor; - - private CustomFormModelInfoHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link CustomFormModelInfo} instance. - */ - public interface CustomFormModelInfoAccessor { - void setModelName(CustomFormModelInfo formModelInfo, String modelName); - void setCustomFormModelProperties(CustomFormModelInfo formModelInfo, - CustomFormModelProperties customFormModelProperties); - } - - /** - * The method called from {@link CustomFormModelInfo} to set it's accessor. - * - * @param formModelInfoAccessor The accessor. - */ - public static void setAccessor(final CustomFormModelInfoAccessor formModelInfoAccessor) { - accessor = formModelInfoAccessor; - } - - public static void setModelName(CustomFormModelInfo formModelInfo, String modelName) { - accessor.setModelName(formModelInfo, modelName); - } - - public static void setCustomFormModelProperties(CustomFormModelInfo formModelInfo, - CustomFormModelProperties customFormModelProperties) { - accessor.setCustomFormModelProperties(formModelInfo, customFormModelProperties); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelPropertiesHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelPropertiesHelper.java deleted file mode 100644 index 50fdd49cd56c8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormModelPropertiesHelper.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.training.models.CustomFormModelProperties; - -/** - * The helper class to set the non-public properties of an {@link CustomFormModelProperties} instance. - */ -public final class CustomFormModelPropertiesHelper { - private static CustomFormModelPropertiesAccessor accessor; - - private CustomFormModelPropertiesHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link CustomFormModelProperties} instance. - */ - public interface CustomFormModelPropertiesAccessor { - void setIsComposed(CustomFormModelProperties formModelProperties, boolean isComposed); - } - - /** - * The method called from {@link CustomFormModelProperties} to set it's accessor. - * - * @param formModelPropertiesAccessor The accessor. - */ - public static void setAccessor(final CustomFormModelPropertiesAccessor formModelPropertiesAccessor) { - accessor = formModelPropertiesAccessor; - } - - public static void setIsComposed(CustomFormModelProperties formModelProperties, boolean isComposed) { - accessor.setIsComposed(formModelProperties, isComposed); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormSubmodelHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormSubmodelHelper.java deleted file mode 100644 index 65d7045e1db6e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/CustomFormSubmodelHelper.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.training.models.CustomFormSubmodel; - -/** - * The helper class to set the non-public properties of an {@link CustomFormSubmodel} instance. - */ -public final class CustomFormSubmodelHelper { - private static CustomFormSubmodelAccessor accessor; - - private CustomFormSubmodelHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link CustomFormSubmodel} instance. - */ - public interface CustomFormSubmodelAccessor { - void setModelId(CustomFormSubmodel formSubmodel, String modelId); - } - - /** - * The method called from {@link CustomFormSubmodel} to set it's accessor. - * - * @param formSubmodelAccessor The accessor. - */ - public static void setAccessor(final CustomFormSubmodelAccessor formSubmodelAccessor) { - accessor = formSubmodelAccessor; - } - - public static void setModelId(CustomFormSubmodel customFormSubmodel, String modelId) { - accessor.setModelId(customFormSubmodel, modelId); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormLineHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormLineHelper.java deleted file mode 100644 index f74585dca3b7d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormLineHelper.java +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.TextAppearance; -import com.azure.ai.formrecognizer.models.FormLine; - -/** - * The helper class to set the non-public properties of an {@link FormLine} instance. - */ -public final class FormLineHelper { - private static FormLineAccessor accessor; - - private FormLineHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link FormLine} instance. - */ - public interface FormLineAccessor { - void setAppearance(FormLine formLine, TextAppearance textAppearance); - } - - /** - * The method called from {@link FormLine} to set it's accessor. - * - * @param formLineAccessor The accessor. - */ - public static void setAccessor(final FormLineAccessor formLineAccessor) { - accessor = formLineAccessor; - } - - public static void setAppearance(FormLine formLine, TextAppearance textAppearance) { - accessor.setAppearance(formLine, textAppearance); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormPageHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormPageHelper.java deleted file mode 100644 index b1b58712ee1f8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormPageHelper.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormSelectionMark; - -import java.util.List; - -/** - * The helper class to set the non-public properties of an {@link FormPage} instance. - */ -public final class FormPageHelper { - private static FormPageAccessor accessor; - - private FormPageHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link FormPage} instance. - */ - public interface FormPageAccessor { - void setSelectionMarks(FormPage formPage, List selectionMarks); - } - - /** - * The method called from {@link FormPage} to set it's accessor. - * - * @param pageAccessor The accessor. - */ - public static void setAccessor(final FormPageAccessor pageAccessor) { - accessor = pageAccessor; - } - - public static void setSelectionMarks(FormPage formPage, List selectionMarks) { - accessor.setSelectionMarks(formPage, selectionMarks); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImpl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImpl.java index ba8e48f1a4744..d788e8d3f0b1e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImpl.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImpl.java @@ -4,31 +4,26 @@ package com.azure.ai.formrecognizer.implementation; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeBusinessCardAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeIdDocumentAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeInvoiceAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeLayoutAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeOperationResult; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeReceiptAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.AnalyzeWithCustomModelResponse; -import com.azure.ai.formrecognizer.implementation.models.ComposeCustomModelsAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.ComposeRequest; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeDocumentRequest; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeDocumentResponse; +import com.azure.ai.formrecognizer.implementation.models.AnalyzeResultOperation; +import com.azure.ai.formrecognizer.implementation.models.AuthorizeCopyRequest; +import com.azure.ai.formrecognizer.implementation.models.BuildDocumentModelRequest; +import com.azure.ai.formrecognizer.implementation.models.BuildDocumentModelResponse; +import com.azure.ai.formrecognizer.implementation.models.ComposeDocumentModelRequest; +import com.azure.ai.formrecognizer.implementation.models.ComposeDocumentModelResponse; import com.azure.ai.formrecognizer.implementation.models.ContentType; -import com.azure.ai.formrecognizer.implementation.models.CopyAuthorizationResult; -import com.azure.ai.formrecognizer.implementation.models.CopyCustomModelResponse; -import com.azure.ai.formrecognizer.implementation.models.CopyOperationResult; -import com.azure.ai.formrecognizer.implementation.models.CopyRequest; +import com.azure.ai.formrecognizer.implementation.models.CopyAuthorization; +import com.azure.ai.formrecognizer.implementation.models.CopyDocumentModelToResponse; import com.azure.ai.formrecognizer.implementation.models.ErrorResponseException; -import com.azure.ai.formrecognizer.implementation.models.GenerateModelCopyAuthorizationResponse; -import com.azure.ai.formrecognizer.implementation.models.Language; -import com.azure.ai.formrecognizer.implementation.models.Locale; -import com.azure.ai.formrecognizer.implementation.models.Model; +import com.azure.ai.formrecognizer.implementation.models.GetInfoResponse; +import com.azure.ai.formrecognizer.implementation.models.GetModelsResponse; +import com.azure.ai.formrecognizer.implementation.models.GetOperationResponse; +import com.azure.ai.formrecognizer.implementation.models.GetOperationsResponse; import com.azure.ai.formrecognizer.implementation.models.ModelInfo; -import com.azure.ai.formrecognizer.implementation.models.Models; -import com.azure.ai.formrecognizer.implementation.models.ReadingOrder; -import com.azure.ai.formrecognizer.implementation.models.SourcePath; -import com.azure.ai.formrecognizer.implementation.models.TrainCustomModelAsyncResponse; -import com.azure.ai.formrecognizer.implementation.models.TrainRequest; +import com.azure.ai.formrecognizer.implementation.models.ModelSummary; +import com.azure.ai.formrecognizer.implementation.models.OperationInfo; +import com.azure.ai.formrecognizer.implementation.models.StringIndexType; import com.azure.core.annotation.BodyParam; import com.azure.core.annotation.Delete; import com.azure.core.annotation.ExpectedResponses; @@ -56,12 +51,9 @@ import com.azure.core.http.rest.RestProxy; import com.azure.core.util.Context; import com.azure.core.util.FluxUtil; -import com.azure.core.util.serializer.CollectionFormat; import com.azure.core.util.serializer.JacksonAdapter; import com.azure.core.util.serializer.SerializerAdapter; import java.nio.ByteBuffer; -import java.util.List; -import java.util.UUID; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -86,11 +78,11 @@ public String getEndpoint() { return this.endpoint; } - /** Form Recognizer API version. */ + /** Api Version. */ private final String apiVersion; /** - * Gets Form Recognizer API version. + * Gets Api Version. * * @return the apiVersion value. */ @@ -127,7 +119,7 @@ public SerializerAdapter getSerializerAdapter() { * * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: * https://westus2.api.cognitive.microsoft.com). - * @param apiVersion Form Recognizer API version. + * @param apiVersion Api Version. */ FormRecognizerClientImpl(String endpoint, String apiVersion) { this( @@ -145,7 +137,7 @@ public SerializerAdapter getSerializerAdapter() { * @param httpPipeline The HTTP pipeline to send requests through. * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: * https://westus2.api.cognitive.microsoft.com). - * @param apiVersion Form Recognizer API version. + * @param apiVersion Api Version. */ FormRecognizerClientImpl(HttpPipeline httpPipeline, String endpoint, String apiVersion) { this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, apiVersion); @@ -158,7 +150,7 @@ public SerializerAdapter getSerializerAdapter() { * @param serializerAdapter The serializer to serialize an object into a string. * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: * https://westus2.api.cognitive.microsoft.com). - * @param apiVersion Form Recognizer API version. + * @param apiVersion Api Version. */ FormRecognizerClientImpl( HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, String apiVersion) { @@ -174,375 +166,220 @@ public SerializerAdapter getSerializerAdapter() { * The interface defining all the services for FormRecognizerClient to be used by the proxy service to perform REST * calls. */ - @Host("{endpoint}/formrecognizer/{ApiVersion}") + @Host("{endpoint}/formrecognizer") @ServiceInterface(name = "FormRecognizerClient") public interface FormRecognizerClientService { - @Post("/custom/models") - @ExpectedResponses({201}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono trainCustomModelAsync( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @BodyParam("application/json") TrainRequest trainRequest, - @HeaderParam("Accept") String accept, - Context context); - - @Get("/custom/models/{modelId}") - @ExpectedResponses({200}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getCustomModel( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @QueryParam("includeKeys") Boolean includeKeys, - @HeaderParam("Accept") String accept, - Context context); - - @Delete("/custom/models/{modelId}") - @ExpectedResponses({204}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> deleteCustomModel( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/custom/models/{modelId}/analyze") + @Post("/documentModels/{modelId}:analyze") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeWithCustomModel( + Mono analyzeDocument( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @QueryParam("includeTextDetails") Boolean includeTextDetails, + @PathParam("modelId") String modelId, @QueryParam("pages") String pages, + @QueryParam("locale") String locale, + @QueryParam("stringIndexType") StringIndexType stringIndexType, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, + @BodyParam("application/octet-stream") Flux analyzeRequest, @HeaderParam("Content-Length") Long contentLength, @HeaderParam("Accept") String accept, Context context); - @Post("/custom/models/{modelId}/analyze") + @Post("/documentModels/{modelId}:analyze") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeWithCustomModel( + Mono analyzeDocument( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @QueryParam("includeTextDetails") Boolean includeTextDetails, + @PathParam("modelId") String modelId, @QueryParam("pages") String pages, - @BodyParam("application/json") SourcePath fileStream, - @HeaderParam("Accept") String accept, - Context context); - - @Get("/custom/models/{modelId}/analyzeResults/{resultId}") - @ExpectedResponses({200}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeFormResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/custom/models/{modelId}/copy") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono copyCustomModel( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @BodyParam("application/json") CopyRequest copyRequest, + @QueryParam("locale") String locale, + @QueryParam("stringIndexType") StringIndexType stringIndexType, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AnalyzeDocumentRequest analyzeRequest, @HeaderParam("Accept") String accept, Context context); - @Get("/custom/models/{modelId}/copyResults/{resultId}") + @Get("/documentModels/{modelId}/analyzeResults/{resultId}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getCustomModelCopyResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("modelId") UUID modelId, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/custom/models/copyAuthorization") - @ExpectedResponses({201}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono generateModelCopyAuthorization( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/custom/models/compose") - @ExpectedResponses({201}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono composeCustomModelsAsync( + Mono> getAnalyzeDocumentResult( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @BodyParam("application/json") ComposeRequest composeRequest, + @PathParam("modelId") String modelId, + @PathParam("resultId") String resultId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Post("/prebuilt/businessCard/analyze") + @Post("/documentModels:build") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeBusinessCardAsync( + Mono buildDocumentModel( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, - @HeaderParam("Content-Length") Long contentLength, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") BuildDocumentModelRequest buildRequest, @HeaderParam("Accept") String accept, Context context); - @Post("/prebuilt/businessCard/analyze") + @Post("/documentModels:compose") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeBusinessCardAsync( + Mono composeDocumentModel( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @BodyParam("application/json") SourcePath fileStream, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") ComposeDocumentModelRequest composeRequest, @HeaderParam("Accept") String accept, Context context); - @Get("/prebuilt/businessCard/analyzeResults/{resultId}") + @Post("/documentModels:authorizeCopy") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeBusinessCardResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/prebuilt/invoice/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeInvoiceAsync( + Mono> authorizeCopyDocumentModel( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, - @HeaderParam("Content-Length") Long contentLength, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AuthorizeCopyRequest authorizeCopyRequest, @HeaderParam("Accept") String accept, Context context); - @Post("/prebuilt/invoice/analyze") + @Post("/documentModels/{modelId}:copyTo") @ExpectedResponses({202}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeInvoiceAsync( + Mono copyDocumentModelTo( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @BodyParam("application/json") SourcePath fileStream, + @PathParam("modelId") String modelId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") CopyAuthorization copyToRequest, @HeaderParam("Accept") String accept, Context context); - @Get("/prebuilt/invoice/analyzeResults/{resultId}") + @Get("/operations") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeInvoiceResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/prebuilt/idDocument/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeIdDocumentAsync( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("pages") String pages, - @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, - @HeaderParam("Content-Length") Long contentLength, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/prebuilt/idDocument/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeIdDocumentAsync( + Mono> getOperations( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("pages") String pages, - @BodyParam("application/json") SourcePath fileStream, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Get("/prebuilt/idDocument/analyzeResults/{resultId}") + @Get("/operations/{operationId}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeIdDocumentResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/prebuilt/receipt/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeReceiptAsync( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, - @HeaderParam("Content-Length") Long contentLength, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/prebuilt/receipt/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeReceiptAsync( + Mono> getOperation( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("includeTextDetails") Boolean includeTextDetails, - @QueryParam("locale") Locale locale, - @QueryParam("pages") String pages, - @BodyParam("application/json") SourcePath fileStream, + @PathParam("operationId") String operationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Get("/prebuilt/receipt/analyzeResults/{resultId}") + @Get("/documentModels") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeReceiptResult( - @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("resultId") UUID resultId, - @HeaderParam("Accept") String accept, - Context context); - - @Post("/layout/analyze") - @ExpectedResponses({202}) - @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeLayoutAsync( + Mono> getModels( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("pages") String pages, - @QueryParam("language") Language language, - @QueryParam("readingOrder") ReadingOrder readingOrder, - @HeaderParam("Content-Type") ContentType contentType, - @BodyParam("application/octet-stream") Flux fileStream, - @HeaderParam("Content-Length") Long contentLength, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Post("/layout/analyze") - @ExpectedResponses({202}) + @Get("/documentModels/{modelId}") + @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono analyzeLayoutAsync( + Mono> getModel( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("pages") String pages, - @QueryParam("language") Language language, - @QueryParam("readingOrder") ReadingOrder readingOrder, - @BodyParam("application/json") SourcePath fileStream, + @PathParam("modelId") String modelId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Get("/layout/analyzeResults/{resultId}") - @ExpectedResponses({200}) + @Delete("/documentModels/{modelId}") + @ExpectedResponses({204}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getAnalyzeLayoutResult( + Mono> deleteModel( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @PathParam("resultId") UUID resultId, + @PathParam("modelId") String modelId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Get("/custom/models") + @Get("/info") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> listCustomModels( + Mono> getInfo( @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("op") String op, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); - @Get("/custom/models") + @Get("{nextLink}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> getCustomModels( + Mono> getOperationsNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, - @QueryParam("op") String op, @HeaderParam("Accept") String accept, Context context); @Get("{nextLink}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(ErrorResponseException.class) - Mono> listCustomModelsNext( + Mono> getModelsNext( @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint, - @HostParam("ApiVersion") String apiVersion, @HeaderParam("Accept") String accept, Context context); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono trainCustomModelAsyncWithResponseAsync(TrainRequest trainRequest) { + public Mono analyzeDocumentWithResponseAsync( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.trainCustomModelAsync( - this.getEndpoint(), this.getApiVersion(), trainRequest, accept, context)); + service.analyzeDocument( + this.getEndpoint(), + modelId, + pages, + locale, + stringIndexType, + this.getApiVersion(), + contentType, + analyzeRequest, + contentLength, + accept, + context)); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -550,45 +387,71 @@ public Mono trainCustomModelAsyncWithResponseAsyn * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono trainCustomModelAsyncWithResponseAsync( - TrainRequest trainRequest, Context context) { + public Mono analyzeDocumentWithResponseAsync( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength, + Context context) { final String accept = "application/json"; - return service.trainCustomModelAsync(this.getEndpoint(), this.getApiVersion(), trainRequest, accept, context); + return service.analyzeDocument( + this.getEndpoint(), + modelId, + pages, + locale, + stringIndexType, + this.getApiVersion(), + contentType, + analyzeRequest, + contentLength, + accept, + context); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono trainCustomModelAsyncAsync(TrainRequest trainRequest) { - return trainCustomModelAsyncWithResponseAsync(trainRequest) - .flatMap((TrainCustomModelAsyncResponse res) -> Mono.empty()); + public Mono analyzeDocumentAsync( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength) { + return analyzeDocumentWithResponseAsync( + modelId, contentType, pages, locale, stringIndexType, analyzeRequest, contentLength) + .flatMap((AnalyzeDocumentResponse res) -> Mono.empty()); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -596,42 +459,59 @@ public Mono trainCustomModelAsyncAsync(TrainRequest trainRequest) { * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono trainCustomModelAsyncAsync(TrainRequest trainRequest, Context context) { - return trainCustomModelAsyncWithResponseAsync(trainRequest, context) - .flatMap((TrainCustomModelAsyncResponse res) -> Mono.empty()); + public Mono analyzeDocumentAsync( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength, + Context context) { + return analyzeDocumentWithResponseAsync( + modelId, contentType, pages, locale, stringIndexType, analyzeRequest, contentLength, context) + .flatMap((AnalyzeDocumentResponse res) -> Mono.empty()); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void trainCustomModelAsync(TrainRequest trainRequest) { - trainCustomModelAsyncAsync(trainRequest).block(); + public void analyzeDocument( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength) { + analyzeDocumentAsync(modelId, contentType, pages, locale, stringIndexType, analyzeRequest, contentLength) + .block(); } /** - * Create and train a custom model. The request must include a source parameter that is either an externally - * accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data - * folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format - * and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' - * configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be - * trained is expected to be under the source folder or sub folders under it. Models are trained using documents - * that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or - * 'image/bmp'. Other type of content is ignored. + * Analyzes document with model. * - * @param trainRequest Training request parameters. + * @param modelId Unique model name. + * @param contentType Upload file type. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. + * @param contentLength The contentLength parameter. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -639,271 +519,336 @@ public void trainCustomModelAsync(TrainRequest trainRequest) { * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public TrainCustomModelAsyncResponse trainCustomModelAsyncWithResponse(TrainRequest trainRequest, Context context) { - return trainCustomModelAsyncWithResponseAsync(trainRequest, context).block(); + public AnalyzeDocumentResponse analyzeDocumentWithResponse( + String modelId, + ContentType contentType, + String pages, + String locale, + StringIndexType stringIndexType, + Flux analyzeRequest, + Long contentLength, + Context context) { + return analyzeDocumentWithResponseAsync( + modelId, contentType, pages, locale, stringIndexType, analyzeRequest, contentLength, context) + .block(); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. + * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelWithResponseAsync(UUID modelId, Boolean includeKeys) { + public Mono analyzeDocumentWithResponseAsync( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.getCustomModel( - this.getEndpoint(), this.getApiVersion(), modelId, includeKeys, accept, context)); + service.analyzeDocument( + this.getEndpoint(), + modelId, + pages, + locale, + stringIndexType, + this.getApiVersion(), + analyzeRequest, + accept, + context)); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. + * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelWithResponseAsync(UUID modelId, Boolean includeKeys, Context context) { + public Mono analyzeDocumentWithResponseAsync( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest, + Context context) { final String accept = "application/json"; - return service.getCustomModel(this.getEndpoint(), this.getApiVersion(), modelId, includeKeys, accept, context); + return service.analyzeDocument( + this.getEndpoint(), + modelId, + pages, + locale, + stringIndexType, + this.getApiVersion(), + analyzeRequest, + accept, + context); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. + * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelAsync(UUID modelId, Boolean includeKeys) { - return getCustomModelWithResponseAsync(modelId, includeKeys) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); + public Mono analyzeDocumentAsync( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest) { + return analyzeDocumentWithResponseAsync(modelId, pages, locale, stringIndexType, analyzeRequest) + .flatMap((AnalyzeDocumentResponse res) -> Mono.empty()); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. + * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelAsync(UUID modelId, Boolean includeKeys, Context context) { - return getCustomModelWithResponseAsync(modelId, includeKeys, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); + public Mono analyzeDocumentAsync( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest, + Context context) { + return analyzeDocumentWithResponseAsync(modelId, pages, locale, stringIndexType, analyzeRequest, context) + .flatMap((AnalyzeDocumentResponse res) -> Mono.empty()); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Model getCustomModel(UUID modelId, Boolean includeKeys) { - return getCustomModelAsync(modelId, includeKeys).block(); + public void analyzeDocument( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest) { + analyzeDocumentAsync(modelId, pages, locale, stringIndexType, analyzeRequest).block(); } /** - * Get detailed information about a custom model. + * Analyzes document with model. * - * @param modelId Model identifier. - * @param includeKeys Include list of extracted keys in model information. + * @param modelId Unique model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param analyzeRequest Analyze request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return detailed information about a custom model. + * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getCustomModelWithResponse(UUID modelId, Boolean includeKeys, Context context) { - return getCustomModelWithResponseAsync(modelId, includeKeys, context).block(); + public AnalyzeDocumentResponse analyzeDocumentWithResponse( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + AnalyzeDocumentRequest analyzeRequest, + Context context) { + return analyzeDocumentWithResponseAsync(modelId, pages, locale, stringIndexType, analyzeRequest, context) + .block(); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteCustomModelWithResponseAsync(UUID modelId) { + public Mono> getAnalyzeDocumentResultWithResponseAsync( + String modelId, String resultId) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.deleteCustomModel(this.getEndpoint(), this.getApiVersion(), modelId, accept, context)); + service.getAnalyzeDocumentResult( + this.getEndpoint(), modelId, resultId, this.getApiVersion(), accept, context)); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteCustomModelWithResponseAsync(UUID modelId, Context context) { + public Mono> getAnalyzeDocumentResultWithResponseAsync( + String modelId, String resultId, Context context) { final String accept = "application/json"; - return service.deleteCustomModel(this.getEndpoint(), this.getApiVersion(), modelId, accept, context); + return service.getAnalyzeDocumentResult( + this.getEndpoint(), modelId, resultId, this.getApiVersion(), accept, context); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteCustomModelAsync(UUID modelId) { - return deleteCustomModelWithResponseAsync(modelId).flatMap((Response res) -> Mono.empty()); + public Mono getAnalyzeDocumentResultAsync(String modelId, String resultId) { + return getAnalyzeDocumentResultWithResponseAsync(modelId, resultId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteCustomModelAsync(UUID modelId, Context context) { - return deleteCustomModelWithResponseAsync(modelId, context).flatMap((Response res) -> Mono.empty()); + public Mono getAnalyzeDocumentResultAsync( + String modelId, String resultId, Context context) { + return getAnalyzeDocumentResultWithResponseAsync(modelId, resultId, context) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void deleteCustomModel(UUID modelId) { - deleteCustomModelAsync(modelId).block(); + public AnalyzeResultOperation getAnalyzeDocumentResult(String modelId, String resultId) { + return getAnalyzeDocumentResultAsync(modelId, resultId).block(); } /** - * Mark model for deletion. Model artifacts will be permanently removed within a predetermined period. + * Gets the result of document analysis. * - * @param modelId Model identifier. + * @param modelId Unique model name. + * @param resultId Analyze operation result ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. + * @return the result of document analysis. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteCustomModelWithResponse(UUID modelId, Context context) { - return deleteCustomModelWithResponseAsync(modelId, context).block(); + public Response getAnalyzeDocumentResultWithResponse( + String modelId, String resultId, Context context) { + return getAnalyzeDocumentResultWithResponseAsync(modelId, resultId, context).block(); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelWithResponseAsync( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { + public Mono buildDocumentModelWithResponseAsync( + BuildDocumentModelRequest buildRequest) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); return FluxUtil.withContext( context -> - service.analyzeWithCustomModel( - this.getEndpoint(), - this.getApiVersion(), - modelId, - includeTextDetails, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context)); + service.buildDocumentModel( + this.getEndpoint(), this.getApiVersion(), buildRequest, accept, context)); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -911,74 +856,31 @@ public Mono analyzeWithCustomModelWithResponseAs * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelWithResponseAsync( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { + public Mono buildDocumentModelWithResponseAsync( + BuildDocumentModelRequest buildRequest, Context context) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeWithCustomModel( - this.getEndpoint(), - this.getApiVersion(), - modelId, - includeTextDetails, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context); + return service.buildDocumentModel(this.getEndpoint(), this.getApiVersion(), buildRequest, accept, context); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelAsync( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { - return analyzeWithCustomModelWithResponseAsync( - modelId, contentType, includeTextDetails, pages, fileStream, contentLength) - .flatMap((AnalyzeWithCustomModelResponse res) -> Mono.empty()); + public Mono buildDocumentModelAsync(BuildDocumentModelRequest buildRequest) { + return buildDocumentModelWithResponseAsync(buildRequest) + .flatMap((BuildDocumentModelResponse res) -> Mono.empty()); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -986,60 +888,28 @@ public Mono analyzeWithCustomModelAsync( * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelAsync( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeWithCustomModelWithResponseAsync( - modelId, contentType, includeTextDetails, pages, fileStream, contentLength, context) - .flatMap((AnalyzeWithCustomModelResponse res) -> Mono.empty()); + public Mono buildDocumentModelAsync(BuildDocumentModelRequest buildRequest, Context context) { + return buildDocumentModelWithResponseAsync(buildRequest, context) + .flatMap((BuildDocumentModelResponse res) -> Mono.empty()); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeWithCustomModel( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { - analyzeWithCustomModelAsync(modelId, contentType, includeTextDetails, pages, fileStream, contentLength).block(); + public void buildDocumentModel(BuildDocumentModelRequest buildRequest) { + buildDocumentModelAsync(buildRequest).block(); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Builds a custom document analysis model. * - * @param modelId Model identifier. - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param buildRequest Building request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1047,65 +917,34 @@ public void analyzeWithCustomModel( * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeWithCustomModelResponse analyzeWithCustomModelWithResponse( - UUID modelId, - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeWithCustomModelWithResponseAsync( - modelId, contentType, includeTextDetails, pages, fileStream, contentLength, context) - .block(); + public BuildDocumentModelResponse buildDocumentModelWithResponse( + BuildDocumentModelRequest buildRequest, Context context) { + return buildDocumentModelWithResponseAsync(buildRequest, context).block(); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelWithResponseAsync( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream) { + public Mono composeDocumentModelWithResponseAsync( + ComposeDocumentModelRequest composeRequest) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); return FluxUtil.withContext( context -> - service.analyzeWithCustomModel( - this.getEndpoint(), - this.getApiVersion(), - modelId, - includeTextDetails, - pagesConverted, - fileStream, - accept, - context)); + service.composeDocumentModel( + this.getEndpoint(), this.getApiVersion(), composeRequest, accept, context)); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1113,56 +952,31 @@ public Mono analyzeWithCustomModelWithResponseAs * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelWithResponseAsync( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { + public Mono composeDocumentModelWithResponseAsync( + ComposeDocumentModelRequest composeRequest, Context context) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeWithCustomModel( - this.getEndpoint(), - this.getApiVersion(), - modelId, - includeTextDetails, - pagesConverted, - fileStream, - accept, - context); + return service.composeDocumentModel(this.getEndpoint(), this.getApiVersion(), composeRequest, accept, context); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelAsync( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream) { - return analyzeWithCustomModelWithResponseAsync(modelId, includeTextDetails, pages, fileStream) - .flatMap((AnalyzeWithCustomModelResponse res) -> Mono.empty()); + public Mono composeDocumentModelAsync(ComposeDocumentModelRequest composeRequest) { + return composeDocumentModelWithResponseAsync(composeRequest) + .flatMap((ComposeDocumentModelResponse res) -> Mono.empty()); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1170,44 +984,28 @@ public Mono analyzeWithCustomModelAsync( * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeWithCustomModelAsync( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { - return analyzeWithCustomModelWithResponseAsync(modelId, includeTextDetails, pages, fileStream, context) - .flatMap((AnalyzeWithCustomModelResponse res) -> Mono.empty()); + public Mono composeDocumentModelAsync(ComposeDocumentModelRequest composeRequest, Context context) { + return composeDocumentModelWithResponseAsync(composeRequest, context) + .flatMap((ComposeDocumentModelResponse res) -> Mono.empty()); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeWithCustomModel( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream) { - analyzeWithCustomModelAsync(modelId, includeTextDetails, pages, fileStream).block(); + public void composeDocumentModel(ComposeDocumentModelRequest composeRequest) { + composeDocumentModelAsync(composeRequest).block(); } /** - * Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be - * analyzed. + * Creates a new model from document types of existing models. * - * @param modelId Model identifier. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param composeRequest Compose request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1215,64 +1013,62 @@ public void analyzeWithCustomModel( * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeWithCustomModelResponse analyzeWithCustomModelWithResponse( - UUID modelId, Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { - return analyzeWithCustomModelWithResponseAsync(modelId, includeTextDetails, pages, fileStream, context).block(); + public ComposeDocumentModelResponse composeDocumentModelWithResponse( + ComposeDocumentModelRequest composeRequest, Context context) { + return composeDocumentModelWithResponseAsync(composeRequest, context).block(); } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeFormResultWithResponseAsync(UUID modelId, UUID resultId) { + public Mono> authorizeCopyDocumentModelWithResponseAsync( + AuthorizeCopyRequest authorizeCopyRequest) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.getAnalyzeFormResult( - this.getEndpoint(), this.getApiVersion(), modelId, resultId, accept, context)); + service.authorizeCopyDocumentModel( + this.getEndpoint(), this.getApiVersion(), authorizeCopyRequest, accept, context)); } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeFormResultWithResponseAsync( - UUID modelId, UUID resultId, Context context) { + public Mono> authorizeCopyDocumentModelWithResponseAsync( + AuthorizeCopyRequest authorizeCopyRequest, Context context) { final String accept = "application/json"; - return service.getAnalyzeFormResult( - this.getEndpoint(), this.getApiVersion(), modelId, resultId, accept, context); + return service.authorizeCopyDocumentModel( + this.getEndpoint(), this.getApiVersion(), authorizeCopyRequest, accept, context); } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeFormResultAsync(UUID modelId, UUID resultId) { - return getAnalyzeFormResultWithResponseAsync(modelId, resultId) + public Mono authorizeCopyDocumentModelAsync(AuthorizeCopyRequest authorizeCopyRequest) { + return authorizeCopyDocumentModelWithResponseAsync(authorizeCopyRequest) .flatMap( - (Response res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -1282,21 +1078,21 @@ public Mono getAnalyzeFormResultAsync(UUID modelId, UUID } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeFormResultAsync(UUID modelId, UUID resultId, Context context) { - return getAnalyzeFormResultWithResponseAsync(modelId, resultId, context) + public Mono authorizeCopyDocumentModelAsync( + AuthorizeCopyRequest authorizeCopyRequest, Context context) { + return authorizeCopyDocumentModelWithResponseAsync(authorizeCopyRequest, context) .flatMap( - (Response res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -1306,61 +1102,60 @@ public Mono getAnalyzeFormResultAsync(UUID modelId, UUID } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeFormResult(UUID modelId, UUID resultId) { - return getAnalyzeFormResultAsync(modelId, resultId).block(); + public CopyAuthorization authorizeCopyDocumentModel(AuthorizeCopyRequest authorizeCopyRequest) { + return authorizeCopyDocumentModelAsync(authorizeCopyRequest).block(); } /** - * Obtain current status and the result of the analyze form operation. + * Generates authorization to copy a model to this location with specified modelId and optional description. * - * @param modelId Model identifier. - * @param resultId Analyze operation result identifier. + * @param authorizeCopyRequest Authorize copy request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return authorization to copy a model to the specified target resource and modelId. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeFormResultWithResponse( - UUID modelId, UUID resultId, Context context) { - return getAnalyzeFormResultWithResponseAsync(modelId, resultId, context).block(); + public Response authorizeCopyDocumentModelWithResponse( + AuthorizeCopyRequest authorizeCopyRequest, Context context) { + return authorizeCopyDocumentModelWithResponseAsync(authorizeCopyRequest, context).block(); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono copyCustomModelWithResponseAsync(UUID modelId, CopyRequest copyRequest) { + public Mono copyDocumentModelToWithResponseAsync( + String modelId, CopyAuthorization copyToRequest) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.copyCustomModel( - this.getEndpoint(), this.getApiVersion(), modelId, copyRequest, accept, context)); + service.copyDocumentModelTo( + this.getEndpoint(), modelId, this.getApiVersion(), copyToRequest, accept, context)); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1368,33 +1163,34 @@ public Mono copyCustomModelWithResponseAsync(UUID model * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono copyCustomModelWithResponseAsync( - UUID modelId, CopyRequest copyRequest, Context context) { + public Mono copyDocumentModelToWithResponseAsync( + String modelId, CopyAuthorization copyToRequest, Context context) { final String accept = "application/json"; - return service.copyCustomModel(this.getEndpoint(), this.getApiVersion(), modelId, copyRequest, accept, context); + return service.copyDocumentModelTo( + this.getEndpoint(), modelId, this.getApiVersion(), copyToRequest, accept, context); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono copyCustomModelAsync(UUID modelId, CopyRequest copyRequest) { - return copyCustomModelWithResponseAsync(modelId, copyRequest) - .flatMap((CopyCustomModelResponse res) -> Mono.empty()); + public Mono copyDocumentModelToAsync(String modelId, CopyAuthorization copyToRequest) { + return copyDocumentModelToWithResponseAsync(modelId, copyToRequest) + .flatMap((CopyDocumentModelToResponse res) -> Mono.empty()); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1402,30 +1198,30 @@ public Mono copyCustomModelAsync(UUID modelId, CopyRequest copyRequest) { * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono copyCustomModelAsync(UUID modelId, CopyRequest copyRequest, Context context) { - return copyCustomModelWithResponseAsync(modelId, copyRequest, context) - .flatMap((CopyCustomModelResponse res) -> Mono.empty()); + public Mono copyDocumentModelToAsync(String modelId, CopyAuthorization copyToRequest, Context context) { + return copyDocumentModelToWithResponseAsync(modelId, copyToRequest, context) + .flatMap((CopyDocumentModelToResponse res) -> Mono.empty()); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void copyCustomModel(UUID modelId, CopyRequest copyRequest) { - copyCustomModelAsync(modelId, copyRequest).block(); + public void copyDocumentModelTo(String modelId, CopyAuthorization copyToRequest) { + copyDocumentModelToAsync(modelId, copyToRequest).block(); } /** - * Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + * Copies model to the target resource, region, and modelId. * - * @param modelId Model identifier. - * @param copyRequest Copy request parameters. + * @param modelId Unique model name. + * @param copyToRequest Copy to request parameters. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -1433,171 +1229,160 @@ public void copyCustomModel(UUID modelId, CopyRequest copyRequest) { * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public CopyCustomModelResponse copyCustomModelWithResponse(UUID modelId, CopyRequest copyRequest, Context context) { - return copyCustomModelWithResponseAsync(modelId, copyRequest, context).block(); + public CopyDocumentModelToResponse copyDocumentModelToWithResponse( + String modelId, CopyAuthorization copyToRequest, Context context) { + return copyDocumentModelToWithResponseAsync(modelId, copyToRequest, context).block(); } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelCopyResultWithResponseAsync(UUID modelId, UUID resultId) { + public Mono> getOperationsSinglePageAsync() { final String accept = "application/json"; return FluxUtil.withContext( - context -> - service.getCustomModelCopyResult( - this.getEndpoint(), this.getApiVersion(), modelId, resultId, accept, context)); - } + context -> service.getOperations(this.getEndpoint(), this.getApiVersion(), accept, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); + } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelCopyResultWithResponseAsync( - UUID modelId, UUID resultId, Context context) { + public Mono> getOperationsSinglePageAsync(Context context) { final String accept = "application/json"; - return service.getCustomModelCopyResult( - this.getEndpoint(), this.getApiVersion(), modelId, resultId, accept, context); + return service.getOperations(this.getEndpoint(), this.getApiVersion(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelCopyResultAsync(UUID modelId, UUID resultId) { - return getCustomModelCopyResultWithResponseAsync(modelId, resultId) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux getOperationsAsync() { + return new PagedFlux<>( + () -> getOperationsSinglePageAsync(), nextLink -> getOperationsNextSinglePageAsync(nextLink)); } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelCopyResultAsync(UUID modelId, UUID resultId, Context context) { - return getCustomModelCopyResultWithResponseAsync(modelId, resultId, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux getOperationsAsync(Context context) { + return new PagedFlux<>( + () -> getOperationsSinglePageAsync(context), + nextLink -> getOperationsNextSinglePageAsync(nextLink, context)); } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public CopyOperationResult getCustomModelCopyResult(UUID modelId, UUID resultId) { - return getCustomModelCopyResultAsync(modelId, resultId).block(); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable getOperations() { + return new PagedIterable<>(getOperationsAsync()); } /** - * Obtain current status and the result of a custom model copy operation. + * Lists all operations. * - * @param modelId Model identifier. - * @param resultId Copy operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued copy operation. + * @return list Operations response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getCustomModelCopyResultWithResponse( - UUID modelId, UUID resultId, Context context) { - return getCustomModelCopyResultWithResponseAsync(modelId, resultId, context).block(); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable getOperations(Context context) { + return new PagedIterable<>(getOperationsAsync(context)); } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono generateModelCopyAuthorizationWithResponseAsync() { + public Mono> getOperationWithResponseAsync(String operationId) { final String accept = "application/json"; return FluxUtil.withContext( context -> - service.generateModelCopyAuthorization( - this.getEndpoint(), this.getApiVersion(), accept, context)); + service.getOperation(this.getEndpoint(), operationId, this.getApiVersion(), accept, context)); } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono generateModelCopyAuthorizationWithResponseAsync( - Context context) { + public Mono> getOperationWithResponseAsync(String operationId, Context context) { final String accept = "application/json"; - return service.generateModelCopyAuthorization(this.getEndpoint(), this.getApiVersion(), accept, context); + return service.getOperation(this.getEndpoint(), operationId, this.getApiVersion(), accept, context); } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono generateModelCopyAuthorizationAsync() { - return generateModelCopyAuthorizationWithResponseAsync() + public Mono getOperationAsync(String operationId) { + return getOperationWithResponseAsync(operationId) .flatMap( - (GenerateModelCopyAuthorizationResponse res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -1607,19 +1392,20 @@ public Mono generateModelCopyAuthorizationAsync() { } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono generateModelCopyAuthorizationAsync(Context context) { - return generateModelCopyAuthorizationWithResponseAsync(context) + public Mono getOperationAsync(String operationId, Context context) { + return getOperationWithResponseAsync(operationId, context) .flatMap( - (GenerateModelCopyAuthorizationResponse res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -1629,394 +1415,260 @@ public Mono generateModelCopyAuthorizationAsync(Context } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public CopyAuthorizationResult generateModelCopyAuthorization() { - return generateModelCopyAuthorizationAsync().block(); + public GetOperationResponse getOperation(String operationId) { + return getOperationAsync(operationId).block(); } /** - * Generate authorization to copy a model into the target Form Recognizer resource. + * Gets operation info. * + * @param operationId Unique operation ID. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return request parameter that contains authorization claims for copy operation. + * @return operation info. */ @ServiceMethod(returns = ReturnType.SINGLE) - public GenerateModelCopyAuthorizationResponse generateModelCopyAuthorizationWithResponse(Context context) { - return generateModelCopyAuthorizationWithResponseAsync(context).block(); + public Response getOperationWithResponse(String operationId, Context context) { + return getOperationWithResponseAsync(operationId, context).block(); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Models response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono composeCustomModelsAsyncWithResponseAsync( - ComposeRequest composeRequest) { - final String accept = "application/json, text/json"; + public Mono> getModelsSinglePageAsync() { + final String accept = "application/json"; return FluxUtil.withContext( - context -> - service.composeCustomModelsAsync( - this.getEndpoint(), this.getApiVersion(), composeRequest, accept, context)); + context -> service.getModels(this.getEndpoint(), this.getApiVersion(), accept, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Models response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono composeCustomModelsAsyncWithResponseAsync( - ComposeRequest composeRequest, Context context) { - final String accept = "application/json, text/json"; - return service.composeCustomModelsAsync( - this.getEndpoint(), this.getApiVersion(), composeRequest, accept, context); + public Mono> getModelsSinglePageAsync(Context context) { + final String accept = "application/json"; + return service.getModels(this.getEndpoint(), this.getApiVersion(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Models response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono composeCustomModelsAsyncAsync(ComposeRequest composeRequest) { - return composeCustomModelsAsyncWithResponseAsync(composeRequest) - .flatMap((ComposeCustomModelsAsyncResponse res) -> Mono.empty()); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux getModelsAsync() { + return new PagedFlux<>(() -> getModelsSinglePageAsync(), nextLink -> getModelsNextSinglePageAsync(nextLink)); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Models response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono composeCustomModelsAsyncAsync(ComposeRequest composeRequest, Context context) { - return composeCustomModelsAsyncWithResponseAsync(composeRequest, context) - .flatMap((ComposeCustomModelsAsyncResponse res) -> Mono.empty()); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux getModelsAsync(Context context) { + return new PagedFlux<>( + () -> getModelsSinglePageAsync(context), nextLink -> getModelsNextSinglePageAsync(nextLink, context)); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list Models response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void composeCustomModelsAsync(ComposeRequest composeRequest) { - composeCustomModelsAsyncAsync(composeRequest).block(); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable getModels() { + return new PagedIterable<>(getModelsAsync()); } /** - * Compose request would include list of models ids. It would validate what all models either trained with labels - * model or composed model. It would validate limit of models put together. + * List all models. * - * @param composeRequest Compose models. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. + * @return list Models response object. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public ComposeCustomModelsAsyncResponse composeCustomModelsAsyncWithResponse( - ComposeRequest composeRequest, Context context) { - return composeCustomModelsAsyncWithResponseAsync(composeRequest, context).block(); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable getModels(Context context) { + return new PagedIterable<>(getModelsAsync(context)); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { + public Mono> getModelWithResponseAsync(String modelId) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); return FluxUtil.withContext( - context -> - service.analyzeBusinessCardAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context)); + context -> service.getModel(this.getEndpoint(), modelId, this.getApiVersion(), accept, context)); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { + public Mono> getModelWithResponseAsync(String modelId, Context context) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeBusinessCardAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context); + return service.getModel(this.getEndpoint(), modelId, this.getApiVersion(), accept, context); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - return analyzeBusinessCardAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength) - .flatMap((AnalyzeBusinessCardAsyncResponse res) -> Mono.empty()); + public Mono getModelAsync(String modelId) { + return getModelWithResponseAsync(modelId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeBusinessCardAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .flatMap((AnalyzeBusinessCardAsyncResponse res) -> Mono.empty()); + public Mono getModelAsync(String modelId, Context context) { + return getModelWithResponseAsync(modelId, context) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeBusinessCardAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - analyzeBusinessCardAsyncAsync(contentType, includeTextDetails, locale, pages, fileStream, contentLength) - .block(); + public ModelInfo getModel(String modelId) { + return getModelAsync(modelId).block(); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Gets detailed model information. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. + * @return detailed model information. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeBusinessCardAsyncResponse analyzeBusinessCardAsyncWithResponse( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeBusinessCardAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .block(); + public Response getModelWithResponse(String modelId, Context context) { + return getModelWithResponseAsync(modelId, context).block(); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { + public Mono> deleteModelWithResponseAsync(String modelId) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); return FluxUtil.withContext( - context -> - service.analyzeBusinessCardAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context)); + context -> service.deleteModel(this.getEndpoint(), modelId, this.getApiVersion(), accept, context)); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -2024,56 +1676,29 @@ public Mono analyzeBusinessCardAsyncWithRespon * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { + public Mono> deleteModelWithResponseAsync(String modelId, Context context) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeBusinessCardAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context); + return service.deleteModel(this.getEndpoint(), modelId, this.getApiVersion(), accept, context); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - return analyzeBusinessCardAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream) - .flatMap((AnalyzeBusinessCardAsyncResponse res) -> Mono.empty()); + public Mono deleteModelAsync(String modelId) { + return deleteModelWithResponseAsync(modelId).flatMap((Response res) -> Mono.empty()); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -2081,44 +1706,27 @@ public Mono analyzeBusinessCardAsyncAsync( * @return the completion. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeBusinessCardAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeBusinessCardAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context) - .flatMap((AnalyzeBusinessCardAsyncResponse res) -> Mono.empty()); + public Mono deleteModelAsync(String modelId, Context context) { + return deleteModelWithResponseAsync(modelId, context).flatMap((Response res) -> Mono.empty()); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeBusinessCardAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - analyzeBusinessCardAsyncAsync(includeTextDetails, locale, pages, fileStream).block(); + public void deleteModel(String modelId) { + deleteModelAsync(modelId).block(); } /** - * Extract field text and semantic values from a given business card document. The input document must be of one of - * the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Deletes model. * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. + * @param modelId Unique model name. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. @@ -2126,62 +1734,51 @@ public void analyzeBusinessCardAsync( * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeBusinessCardAsyncResponse analyzeBusinessCardAsyncWithResponse( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeBusinessCardAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context) - .block(); + public Response deleteModelWithResponse(String modelId, Context context) { + return deleteModelWithResponseAsync(modelId, context).block(); } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeBusinessCardResultWithResponseAsync(UUID resultId) { + public Mono> getInfoWithResponseAsync() { final String accept = "application/json"; return FluxUtil.withContext( - context -> - service.getAnalyzeBusinessCardResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context)); + context -> service.getInfo(this.getEndpoint(), this.getApiVersion(), accept, context)); } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeBusinessCardResultWithResponseAsync( - UUID resultId, Context context) { + public Mono> getInfoWithResponseAsync(Context context) { final String accept = "application/json"; - return service.getAnalyzeBusinessCardResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context); + return service.getInfo(this.getEndpoint(), this.getApiVersion(), accept, context); } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeBusinessCardResultAsync(UUID resultId) { - return getAnalyzeBusinessCardResultWithResponseAsync(resultId) + public Mono getInfoAsync() { + return getInfoWithResponseAsync() .flatMap( - (Response res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -2191,20 +1788,19 @@ public Mono getAnalyzeBusinessCardResultAsync(UUID resul } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeBusinessCardResultAsync(UUID resultId, Context context) { - return getAnalyzeBusinessCardResultWithResponseAsync(resultId, context) + public Mono getInfoAsync(Context context) { + return getInfoWithResponseAsync(context) .flatMap( - (Response res) -> { + (Response res) -> { if (res.getValue() != null) { return Mono.just(res.getValue()); } else { @@ -2214,2334 +1810,100 @@ public Mono getAnalyzeBusinessCardResultAsync(UUID resul } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeBusinessCardResult(UUID resultId) { - return getAnalyzeBusinessCardResultAsync(resultId).block(); + public GetInfoResponse getInfo() { + return getInfoAsync().block(); } /** - * Track the progress and obtain the result of the analyze business card operation. + * Return basic info about the current resource. * - * @param resultId Analyze operation result identifier. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. + * @return general information regarding the current resource. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeBusinessCardResultWithResponse(UUID resultId, Context context) { - return getAnalyzeBusinessCardResultWithResponseAsync(resultId, context).block(); + public Response getInfoWithResponse(Context context) { + return getInfoWithResponseAsync(context).block(); } /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Get the next page of items. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param nextLink The nextLink parameter. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Operations response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { + public Mono> getOperationsNextSinglePageAsync(String nextLink) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeInvoiceAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context)); + return FluxUtil.withContext(context -> service.getOperationsNext(nextLink, this.getEndpoint(), accept, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); } /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Get the next page of items. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param nextLink The nextLink parameter. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. + * @return list Operations response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { + public Mono> getOperationsNextSinglePageAsync(String nextLink, Context context) { final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeInvoiceAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - return analyzeInvoiceAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength) - .flatMap((AnalyzeInvoiceAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeInvoiceAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .flatMap((AnalyzeInvoiceAsyncResponse res) -> Mono.empty()); + return service.getOperationsNext(nextLink, this.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().getValue(), + res.getValue().getNextLink(), + null)); } /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. + * Get the next page of items. * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. + * @param nextLink The nextLink parameter. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list Models response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeInvoiceAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - analyzeInvoiceAsyncAsync(contentType, includeTextDetails, locale, pages, fileStream, contentLength).block(); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeInvoiceAsyncResponse analyzeInvoiceAsyncWithResponse( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeInvoiceAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .block(); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeInvoiceAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context)); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeInvoiceAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - return analyzeInvoiceAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream) - .flatMap((AnalyzeInvoiceAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeInvoiceAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeInvoiceAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context) - .flatMap((AnalyzeInvoiceAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeInvoiceAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - analyzeInvoiceAsyncAsync(includeTextDetails, locale, pages, fileStream).block(); - } - - /** - * Extract field text and semantic values from a given invoice document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeInvoiceAsyncResponse analyzeInvoiceAsyncWithResponse( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeInvoiceAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context).block(); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeInvoiceResultWithResponseAsync(UUID resultId) { - final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.getAnalyzeInvoiceResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context)); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeInvoiceResultWithResponseAsync( - UUID resultId, Context context) { - final String accept = "application/json"; - return service.getAnalyzeInvoiceResult(this.getEndpoint(), this.getApiVersion(), resultId, accept, context); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeInvoiceResultAsync(UUID resultId) { - return getAnalyzeInvoiceResultWithResponseAsync(resultId) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeInvoiceResultAsync(UUID resultId, Context context) { - return getAnalyzeInvoiceResultWithResponseAsync(resultId, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeInvoiceResult(UUID resultId) { - return getAnalyzeInvoiceResultAsync(resultId).block(); - } - - /** - * Track the progress and obtain the result of the analyze invoice operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeInvoiceResultWithResponse(UUID resultId, Context context) { - return getAnalyzeInvoiceResultWithResponseAsync(resultId, context).block(); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeIdDocumentAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context)); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeIdDocumentAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { - return analyzeIdDocumentAsyncWithResponseAsync( - contentType, includeTextDetails, pages, fileStream, contentLength) - .flatMap((AnalyzeIdDocumentAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeIdDocumentAsyncWithResponseAsync( - contentType, includeTextDetails, pages, fileStream, contentLength, context) - .flatMap((AnalyzeIdDocumentAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeIdDocumentAsync( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength) { - analyzeIdDocumentAsyncAsync(contentType, includeTextDetails, pages, fileStream, contentLength).block(); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeIdDocumentAsyncResponse analyzeIdDocumentAsyncWithResponse( - ContentType contentType, - Boolean includeTextDetails, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeIdDocumentAsyncWithResponseAsync( - contentType, includeTextDetails, pages, fileStream, contentLength, context) - .block(); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncWithResponseAsync( - Boolean includeTextDetails, List pages, SourcePath fileStream) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeIdDocumentAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - pagesConverted, - fileStream, - accept, - context)); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncWithResponseAsync( - Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeIdDocumentAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - pagesConverted, - fileStream, - accept, - context); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncAsync( - Boolean includeTextDetails, List pages, SourcePath fileStream) { - return analyzeIdDocumentAsyncWithResponseAsync(includeTextDetails, pages, fileStream) - .flatMap((AnalyzeIdDocumentAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeIdDocumentAsyncAsync( - Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { - return analyzeIdDocumentAsyncWithResponseAsync(includeTextDetails, pages, fileStream, context) - .flatMap((AnalyzeIdDocumentAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeIdDocumentAsync(Boolean includeTextDetails, List pages, SourcePath fileStream) { - analyzeIdDocumentAsyncAsync(includeTextDetails, pages, fileStream).block(); - } - - /** - * Extract field text and semantic values from a given ID document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeIdDocumentAsyncResponse analyzeIdDocumentAsyncWithResponse( - Boolean includeTextDetails, List pages, SourcePath fileStream, Context context) { - return analyzeIdDocumentAsyncWithResponseAsync(includeTextDetails, pages, fileStream, context).block(); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeIdDocumentResultWithResponseAsync(UUID resultId) { - final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.getAnalyzeIdDocumentResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context)); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeIdDocumentResultWithResponseAsync( - UUID resultId, Context context) { - final String accept = "application/json"; - return service.getAnalyzeIdDocumentResult(this.getEndpoint(), this.getApiVersion(), resultId, accept, context); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeIdDocumentResultAsync(UUID resultId) { - return getAnalyzeIdDocumentResultWithResponseAsync(resultId) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeIdDocumentResultAsync(UUID resultId, Context context) { - return getAnalyzeIdDocumentResultWithResponseAsync(resultId, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeIdDocumentResult(UUID resultId) { - return getAnalyzeIdDocumentResultAsync(resultId).block(); - } - - /** - * Track the progress and obtain the result of the analyze ID operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeIdDocumentResultWithResponse(UUID resultId, Context context) { - return getAnalyzeIdDocumentResultWithResponseAsync(resultId, context).block(); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeReceiptAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context)); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncWithResponseAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeReceiptAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - contentType, - fileStream, - contentLength, - accept, - context); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - return analyzeReceiptAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength) - .flatMap((AnalyzeReceiptAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeReceiptAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .flatMap((AnalyzeReceiptAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeReceiptAsync( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength) { - analyzeReceiptAsyncAsync(contentType, includeTextDetails, locale, pages, fileStream, contentLength).block(); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeReceiptAsyncResponse analyzeReceiptAsyncWithResponse( - ContentType contentType, - Boolean includeTextDetails, - Locale locale, - List pages, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeReceiptAsyncWithResponseAsync( - contentType, includeTextDetails, locale, pages, fileStream, contentLength, context) - .block(); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeReceiptAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context)); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncWithResponseAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeReceiptAsync( - this.getEndpoint(), - this.getApiVersion(), - includeTextDetails, - locale, - pagesConverted, - fileStream, - accept, - context); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - return analyzeReceiptAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream) - .flatMap((AnalyzeReceiptAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeReceiptAsyncAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeReceiptAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context) - .flatMap((AnalyzeReceiptAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeReceiptAsync( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream) { - analyzeReceiptAsyncAsync(includeTextDetails, locale, pages, fileStream).block(); - } - - /** - * Extract field text and semantic values from a given receipt document. The input document must be of one of the - * supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. - * Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed. - * - * @param includeTextDetails Include text lines and element references in the result. - * @param locale Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, - * en-US(default). - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeReceiptAsyncResponse analyzeReceiptAsyncWithResponse( - Boolean includeTextDetails, Locale locale, List pages, SourcePath fileStream, Context context) { - return analyzeReceiptAsyncWithResponseAsync(includeTextDetails, locale, pages, fileStream, context).block(); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeReceiptResultWithResponseAsync(UUID resultId) { - final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.getAnalyzeReceiptResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context)); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeReceiptResultWithResponseAsync( - UUID resultId, Context context) { - final String accept = "application/json"; - return service.getAnalyzeReceiptResult(this.getEndpoint(), this.getApiVersion(), resultId, accept, context); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeReceiptResultAsync(UUID resultId) { - return getAnalyzeReceiptResultWithResponseAsync(resultId) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeReceiptResultAsync(UUID resultId, Context context) { - return getAnalyzeReceiptResultWithResponseAsync(resultId, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeReceiptResult(UUID resultId) { - return getAnalyzeReceiptResultAsync(resultId).block(); - } - - /** - * Track the progress and obtain the result of the analyze receipt operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeReceiptResultWithResponse(UUID resultId, Context context) { - return getAnalyzeReceiptResultWithResponseAsync(resultId, context).block(); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncWithResponseAsync( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeLayoutAsync( - this.getEndpoint(), - this.getApiVersion(), - pagesConverted, - language, - readingOrder, - contentType, - fileStream, - contentLength, - accept, - context)); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncWithResponseAsync( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength, - Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeLayoutAsync( - this.getEndpoint(), - this.getApiVersion(), - pagesConverted, - language, - readingOrder, - contentType, - fileStream, - contentLength, - accept, - context); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncAsync( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength) { - return analyzeLayoutAsyncWithResponseAsync( - contentType, pages, language, readingOrder, fileStream, contentLength) - .flatMap((AnalyzeLayoutAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncAsync( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeLayoutAsyncWithResponseAsync( - contentType, pages, language, readingOrder, fileStream, contentLength, context) - .flatMap((AnalyzeLayoutAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeLayoutAsync( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength) { - analyzeLayoutAsyncAsync(contentType, pages, language, readingOrder, fileStream, contentLength).block(); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param contentType Upload file type. - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param contentLength The contentLength parameter. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeLayoutAsyncResponse analyzeLayoutAsyncWithResponse( - ContentType contentType, - List pages, - Language language, - ReadingOrder readingOrder, - Flux fileStream, - Long contentLength, - Context context) { - return analyzeLayoutAsyncWithResponseAsync( - contentType, pages, language, readingOrder, fileStream, contentLength, context) - .block(); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncWithResponseAsync( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return FluxUtil.withContext( - context -> - service.analyzeLayoutAsync( - this.getEndpoint(), - this.getApiVersion(), - pagesConverted, - language, - readingOrder, - fileStream, - accept, - context)); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncWithResponseAsync( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream, Context context) { - final String accept = "application/json"; - String pagesConverted = - JacksonAdapter.createDefaultSerializerAdapter().serializeList(pages, CollectionFormat.CSV); - return service.analyzeLayoutAsync( - this.getEndpoint(), - this.getApiVersion(), - pagesConverted, - language, - readingOrder, - fileStream, - accept, - context); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncAsync( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream) { - return analyzeLayoutAsyncWithResponseAsync(pages, language, readingOrder, fileStream) - .flatMap((AnalyzeLayoutAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the completion. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono analyzeLayoutAsyncAsync( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream, Context context) { - return analyzeLayoutAsyncWithResponseAsync(pages, language, readingOrder, fileStream, context) - .flatMap((AnalyzeLayoutAsyncResponse res) -> Mono.empty()); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void analyzeLayoutAsync( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream) { - analyzeLayoutAsyncAsync(pages, language, readingOrder, fileStream).block(); - } - - /** - * Extract text and layout information from a given document. The input document must be of one of the supported - * content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use - * 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. - * - * @param pages Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to - * get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma. - * @param language Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama - * (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), - * Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian - * (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), - * German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw - * (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian - * (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), - * Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), - * Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish - * (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese - * (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), - * Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük - * (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are - * supported (print – seventy-three languages and handwritten – English only). Layout supports auto language - * identification and multi language documents, so only provide a language code if you would like to force the - * documented to be processed as that specific language. - * @param readingOrder Reading order algorithm to sort the text lines returned. Supported reading orders include: - * basic(default), natural. - * @param fileStream .json, .pdf, .jpg, .png, .tiff or .bmp type file stream. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeLayoutAsyncResponse analyzeLayoutAsyncWithResponse( - List pages, Language language, ReadingOrder readingOrder, SourcePath fileStream, Context context) { - return analyzeLayoutAsyncWithResponseAsync(pages, language, readingOrder, fileStream, context).block(); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeLayoutResultWithResponseAsync(UUID resultId) { - final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.getAnalyzeLayoutResult( - this.getEndpoint(), this.getApiVersion(), resultId, accept, context)); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAnalyzeLayoutResultWithResponseAsync( - UUID resultId, Context context) { - final String accept = "application/json"; - return service.getAnalyzeLayoutResult(this.getEndpoint(), this.getApiVersion(), resultId, accept, context); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeLayoutResultAsync(UUID resultId) { - return getAnalyzeLayoutResultWithResponseAsync(resultId) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAnalyzeLayoutResultAsync(UUID resultId, Context context) { - return getAnalyzeLayoutResultWithResponseAsync(resultId, context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AnalyzeOperationResult getAnalyzeLayoutResult(UUID resultId) { - return getAnalyzeLayoutResultAsync(resultId).block(); - } - - /** - * Track the progress and obtain the result of the analyze layout operation. - * - * @param resultId Analyze operation result identifier. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return status and result of the queued analyze operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAnalyzeLayoutResultWithResponse(UUID resultId, Context context) { - return getAnalyzeLayoutResultWithResponseAsync(resultId, context).block(); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> listCustomModelsSinglePageAsync() { - final String op = "full"; - final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.listCustomModels(this.getEndpoint(), this.getApiVersion(), op, accept, context)) - .map( - res -> - new PagedResponseBase<>( - res.getRequest(), - res.getStatusCode(), - res.getHeaders(), - res.getValue().getModelList(), - res.getValue().getNextLink(), - null)); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> listCustomModelsSinglePageAsync(Context context) { - final String op = "full"; - final String accept = "application/json"; - return service.listCustomModels(this.getEndpoint(), this.getApiVersion(), op, accept, context) - .map( - res -> - new PagedResponseBase<>( - res.getRequest(), - res.getStatusCode(), - res.getHeaders(), - res.getValue().getModelList(), - res.getValue().getNextLink(), - null)); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listCustomModelsAsync() { - return new PagedFlux<>( - () -> listCustomModelsSinglePageAsync(), nextLink -> listCustomModelsNextSinglePageAsync(nextLink)); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listCustomModelsAsync(Context context) { - return new PagedFlux<>( - () -> listCustomModelsSinglePageAsync(context), - nextLink -> listCustomModelsNextSinglePageAsync(nextLink, context)); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listCustomModels() { - return new PagedIterable<>(listCustomModelsAsync()); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listCustomModels(Context context) { - return new PagedIterable<>(listCustomModelsAsync(context)); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelsWithResponseAsync() { - final String op = "summary"; - final String accept = "application/json"; - return FluxUtil.withContext( - context -> service.getCustomModels(this.getEndpoint(), this.getApiVersion(), op, accept, context)); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelsWithResponseAsync(Context context) { - final String op = "summary"; - final String accept = "application/json"; - return service.getCustomModels(this.getEndpoint(), this.getApiVersion(), op, accept, context); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelsAsync() { - return getCustomModelsWithResponseAsync() - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModelsAsync(Context context) { - return getCustomModelsWithResponseAsync(context) - .flatMap( - (Response res) -> { - if (res.getValue() != null) { - return Mono.just(res.getValue()); - } else { - return Mono.empty(); - } - }); - } - - /** - * Get information about all custom models. - * - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Models getCustomModels() { - return getCustomModelsAsync().block(); - } - - /** - * Get information about all custom models. - * - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return information about all custom models. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getCustomModelsWithResponse(Context context) { - return getCustomModelsWithResponseAsync(context).block(); - } - - /** - * Get the next page of items. - * - * @param nextLink The nextLink parameter. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws ErrorResponseException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return response to the list custom models operation. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> listCustomModelsNextSinglePageAsync(String nextLink) { + public Mono> getModelsNextSinglePageAsync(String nextLink) { final String accept = "application/json"; - return FluxUtil.withContext( - context -> - service.listCustomModelsNext( - nextLink, this.getEndpoint(), this.getApiVersion(), accept, context)) + return FluxUtil.withContext(context -> service.getModelsNext(nextLink, this.getEndpoint(), accept, context)) .map( res -> new PagedResponseBase<>( res.getRequest(), res.getStatusCode(), res.getHeaders(), - res.getValue().getModelList(), + res.getValue().getValue(), res.getValue().getNextLink(), null)); } @@ -4554,19 +1916,19 @@ public Mono> listCustomModelsNextSinglePageAsync(String * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws ErrorResponseException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return response to the list custom models operation. + * @return list Models response object. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> listCustomModelsNextSinglePageAsync(String nextLink, Context context) { + public Mono> getModelsNextSinglePageAsync(String nextLink, Context context) { final String accept = "application/json"; - return service.listCustomModelsNext(nextLink, this.getEndpoint(), this.getApiVersion(), accept, context) + return service.getModelsNext(nextLink, this.getEndpoint(), accept, context) .map( res -> new PagedResponseBase<>( res.getRequest(), res.getStatusCode(), res.getHeaders(), - res.getValue().getModelList(), + res.getValue().getValue(), res.getValue().getNextLink(), null)); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImplBuilder.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImplBuilder.java index 04ae24297608a..a6a6fb023f4ed 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImplBuilder.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormRecognizerClientImplBuilder.java @@ -56,12 +56,12 @@ public FormRecognizerClientImplBuilder endpoint(String endpoint) { } /* - * Form Recognizer API version. + * Api Version */ private String apiVersion; /** - * Sets Form Recognizer API version. + * Sets Api Version. * * @param apiVersion the apiVersion value. * @return the FormRecognizerClientImplBuilder. @@ -191,6 +191,9 @@ public FormRecognizerClientImplBuilder addPolicy(HttpPipelinePolicy customPolicy * @return an instance of FormRecognizerClientImpl. */ public FormRecognizerClientImpl buildClient() { + if (apiVersion == null) { + this.apiVersion = "2021-09-30-preview"; + } if (pipeline == null) { this.pipeline = createHttpPipeline(); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormSelectionMarkHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormSelectionMarkHelper.java deleted file mode 100644 index 3d50a5f63b16f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormSelectionMarkHelper.java +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.SelectionMarkState; - -/** - * The helper class to set the non-public properties of an {@link FormSelectionMark} instance. - */ -public final class FormSelectionMarkHelper { - private static FormSelectionMarkAccessor accessor; - - private FormSelectionMarkHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link FormSelectionMark} instance. - */ - public interface FormSelectionMarkAccessor { - void setConfidence(FormSelectionMark selectionMark, float confidence); - void setState(FormSelectionMark selectionMark, SelectionMarkState state); - } - - /** - * The method called from {@link FormSelectionMark} to set it's accessor. - * - * @param selectionMarkAccessor The accessor. - */ - public static void setAccessor(final FormSelectionMarkAccessor selectionMarkAccessor) { - accessor = selectionMarkAccessor; - } - - public static void setConfidence(FormSelectionMark selectionMark, float confidence) { - accessor.setConfidence(selectionMark, confidence); - } - - public static void setState(FormSelectionMark selectionMark, SelectionMarkState state) { - accessor.setState(selectionMark, state); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormTableHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormTableHelper.java deleted file mode 100644 index 93fb8ae4016c9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/FormTableHelper.java +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.FieldBoundingBox; -import com.azure.ai.formrecognizer.models.FormTable; - -/** - * The helper class to set the non-public properties of an {@link FormTable} instance. - */ -public final class FormTableHelper { - private static FormTableAccessor accessor; - - private FormTableHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link FormTable} instance. - */ - public interface FormTableAccessor { - void setBoundingBox(FormTable formTable, FieldBoundingBox boundingBox); - } - - /** - * The method called from {@link FormTable} to set it's accessor. - * - * @param formTableAccessor The accessor. - */ - public static void setAccessor(final FormTableAccessor formTableAccessor) { - accessor = formTableAccessor; - } - - public static void setBoundingBox(FormTable formTable, FieldBoundingBox boundingBox) { - accessor.setBoundingBox(formTable, boundingBox); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/RecognizedFormHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/RecognizedFormHelper.java deleted file mode 100644 index dfdd7319fdb9e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/RecognizedFormHelper.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.RecognizedForm; - -/** - * The helper class to set the non-public properties of an {@link RecognizedForm} instance. - */ -public final class RecognizedFormHelper { - private static RecognizedFormAccessor accessor; - - private RecognizedFormHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link RecognizedForm} instance. - */ - public interface RecognizedFormAccessor { - void setFormTypeConfidence(RecognizedForm form, Float formTypeConfidence); - void setModelId(RecognizedForm form, String modelId); - } - - /** - * The method called from {@link RecognizedForm} to set it's accessor. - * - * @param formAccessor The accessor. - */ - public static void setAccessor(final RecognizedFormAccessor formAccessor) { - accessor = formAccessor; - } - - public static void setFormTypeConfidence(RecognizedForm form, Float formTypeConfidence) { - accessor.setFormTypeConfidence(form, formTypeConfidence); - } - - public static void setModelId(RecognizedForm form, String modelId) { - accessor.setModelId(form, modelId); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TextAppearanceHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TextAppearanceHelper.java deleted file mode 100644 index 1c7ca6620a86e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TextAppearanceHelper.java +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.models.TextAppearance; -import com.azure.ai.formrecognizer.models.TextStyleName; - -/** - * The helper class to set the non-public properties of an {@link TextAppearance} instance. - */ -public final class TextAppearanceHelper { - private static TextAppearanceAccessor accessor; - - private TextAppearanceHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link TextAppearance} instance. - */ - public interface TextAppearanceAccessor { - void setStyleName(TextAppearance textAppearance, TextStyleName styleName); - void setStyleConfidence(TextAppearance textAppearance, float styleConfidence); - } - - /** - * The method called from {@link TextAppearance} to set it's accessor. - * - * @param textAppearanceAccessor The accessor. - */ - public static void setAccessor(final TextAppearanceAccessor textAppearanceAccessor) { - accessor = textAppearanceAccessor; - } - - public static void setStyleName(TextAppearance textAppearance, TextStyleName styleName) { - accessor.setStyleName(textAppearance, styleName); - } - - public static void setStyleConfidence(TextAppearance textAppearance, float styleConfidence) { - accessor.setStyleConfidence(textAppearance, styleConfidence); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TrainingDocumentInfoHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TrainingDocumentInfoHelper.java deleted file mode 100644 index 149b4c60d1b95..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/TrainingDocumentInfoHelper.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.training.models.TrainingDocumentInfo; - -/** - * The helper class to set the non-public properties of an {@link TrainingDocumentInfo} instance. - */ -public final class TrainingDocumentInfoHelper { - private static TrainingDocumentInfoAccessor accessor; - - private TrainingDocumentInfoHelper() { } - - /** - * Type defining the methods to set the non-public properties of an {@link TrainingDocumentInfo} instance. - */ - public interface TrainingDocumentInfoAccessor { - void setModelId(TrainingDocumentInfo documentInfo, String modelId); - } - - /** - * The method called from {@link TrainingDocumentInfo} to set it's accessor. - * - * @param documentInfoAccessor The accessor. - */ - public static void setAccessor(final TrainingDocumentInfoAccessor documentInfoAccessor) { - accessor = documentInfoAccessor; - } - - public static void setModelId(TrainingDocumentInfo documentInfo, String modelId) { - accessor.setModelId(documentInfo, modelId); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Utility.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Utility.java deleted file mode 100644 index d13d2825abec0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Utility.java +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.implementation; - -import com.azure.ai.formrecognizer.implementation.models.ContentType; -import com.azure.ai.formrecognizer.implementation.models.ErrorInformation; -import com.azure.ai.formrecognizer.implementation.models.ErrorResponseException; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.credential.TokenCredential; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.http.policy.AddDatePolicy; -import com.azure.core.http.policy.AddHeadersFromContextPolicy; -import com.azure.core.http.policy.AddHeadersPolicy; -import com.azure.core.http.policy.AzureKeyCredentialPolicy; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.http.policy.HttpLoggingPolicy; -import com.azure.core.http.policy.HttpPipelinePolicy; -import com.azure.core.http.policy.HttpPolicyProviders; -import com.azure.core.http.policy.RequestIdPolicy; -import com.azure.core.http.policy.RetryPolicy; -import com.azure.core.http.policy.UserAgentPolicy; -import com.azure.core.util.ClientOptions; -import com.azure.core.util.Configuration; -import com.azure.core.util.CoreUtils; -import com.azure.core.util.FluxUtil; -import com.azure.core.util.logging.ClientLogger; -import com.azure.core.util.polling.PollingContext; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.io.InputStream; -import java.nio.ByteBuffer; -import java.time.Duration; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.BiConsumer; -import java.util.function.Function; -import java.util.function.Supplier; - -import static com.azure.core.util.FluxUtil.monoError; - -/** - * Utility method class. - */ -public final class Utility { - private static final ClientLogger LOGGER = new ClientLogger(Utility.class); - - private static final String DEFAULT_SCOPE = "https://cognitiveservices.azure.com/.default"; - private static final String FORM_RECOGNIZER_PROPERTIES = "azure-ai-formrecognizer.properties"; - private static final String NAME = "name"; - private static final String OCP_APIM_SUBSCRIPTION_KEY = "Ocp-Apim-Subscription-Key"; - private static final String VERSION = "version"; - - private static final ClientOptions DEFAULT_CLIENT_OPTIONS = new ClientOptions(); - private static final HttpHeaders DEFAULT_HTTP_HEADERS = new HttpHeaders(); - private static final HttpLogOptions DEFAULT_LOG_OPTIONS = new HttpLogOptions(); - - private static final String CLIENT_NAME; - private static final String CLIENT_VERSION; - static { - Map properties = CoreUtils.getProperties(FORM_RECOGNIZER_PROPERTIES); - CLIENT_NAME = properties.getOrDefault(NAME, "UnknownName"); - CLIENT_VERSION = properties.getOrDefault(VERSION, "UnknownVersion"); - } - - public static final Duration DEFAULT_POLL_INTERVAL = Duration.ofSeconds(5); - - private Utility() { - } - - /** - * Automatically detect byte buffer's content type. - *

- * Given the source: . - * - * @param buffer The byte buffer input. - * - * @return The {@link Mono} of {@link ContentType} content type. - */ - public static Mono detectContentType(Flux buffer) { - byte[] header = new byte[4]; - int[] written = new int[]{0}; - ContentType[] contentType = {ContentType.fromString("none")}; - return buffer.map(chunk -> { - final int len = chunk.remaining(); - for (int i = 0; i < len; i++) { - header[written[0]] = chunk.get(i); - written[0]++; - - if (written[0] == 4) { - if (isJpeg(header)) { - contentType[0] = ContentType.IMAGE_JPEG; - } else if (isPdf(header)) { - contentType[0] = ContentType.APPLICATION_PDF; - } else if (isPng(header)) { - contentType[0] = ContentType.IMAGE_PNG; - } else if (isTiff(header)) { - contentType[0] = ContentType.IMAGE_TIFF; - } else if (isBmp(header)) { - contentType[0] = ContentType.IMAGE_BMP; - } - // Got a four bytes matching or not, either way no need to read more byte return false - // so that takeWhile can cut the subscription on data - return false; - } - } - // current chunk don't have enough bytes so return true to get next Chunk if there is one. - return true; - }) - .takeWhile(doContinue -> doContinue) - .then(Mono.defer(() -> { - if (contentType[0] != null) { - return Mono.just(contentType[0]); - } else { - return Mono.error(new RuntimeException("Content type could not be detected. " - + "Should use other overload API that takes content type.")); - } - })); - } - - private static boolean isJpeg(byte[] header) { - return (header[0] == (byte) 0xff && header[1] == (byte) 0xd8); - } - - private static boolean isPdf(byte[] header) { - return header[0] == (byte) 0x25 - && header[1] == (byte) 0x50 - && header[2] == (byte) 0x44 - && header[3] == (byte) 0x46; - } - - private static boolean isPng(byte[] header) { - return header[0] == (byte) 0x89 - && header[1] == (byte) 0x50 - && header[2] == (byte) 0x4e - && header[3] == (byte) 0x47; - } - - private static boolean isTiff(byte[] header) { - return (header[0] == (byte) 0x49 - && header[1] == (byte) 0x49 - && header[2] == (byte) 0x2a - && header[3] == (byte) 0x0) - // big-endian - || (header[0] == (byte) 0x4d - && header[1] == (byte) 0x4d - && header[2] == (byte) 0x0 - && header[3] == (byte) 0x2a); - } - - private static boolean isBmp(byte[] header) { - return (header[0] == (byte) 0x42 && header[1] == (byte) 0x4D); - } - - /** - * Creates a Flux of ByteBuffer, with each ByteBuffer wrapping bytes read from the given - * InputStream. - * - * @param inputStream InputStream to back the Flux - * - * @return Flux of ByteBuffer backed by the InputStream - * @throws NullPointerException If {@code inputStream} is null. - */ - public static Flux toFluxByteBuffer(InputStream inputStream) { - Objects.requireNonNull(inputStream, "'inputStream' is required and cannot be null."); - return FluxUtil - .toFluxByteBuffer(inputStream) - .cache() - .map(ByteBuffer::duplicate); - } - - /** - * Extracts the result ID from the URL. - * - * @param operationLocation The URL specified in the 'Operation-Location' response header containing the - * resultId used to track the progress and obtain the result of the analyze operation. - * - * @return The resultId used to track the progress. - */ - public static String parseModelId(String operationLocation) { - if (!CoreUtils.isNullOrEmpty(operationLocation)) { - int lastIndex = operationLocation.lastIndexOf('/'); - if (lastIndex != -1) { - return operationLocation.substring(lastIndex + 1); - } - } - throw LOGGER.logExceptionAsError( - new RuntimeException("Failed to parse operation header for result Id from: " + operationLocation)); - } - - /** - * Given an iterable will apply the indexing function to it and return the index and each item of the iterable. - * - * @param iterable the list to apply the mapping function to. - * @param biConsumer the function which accepts the index and the each value of the iterable. - * @param the type of items being returned. - */ - public static void forEachWithIndex(Iterable iterable, BiConsumer biConsumer) { - int[] index = new int[]{0}; - iterable.forEach(element -> biConsumer.accept(index[0]++, element)); - } - - /** - * Mapping a {@link ErrorResponseException} to {@link HttpResponseException} if exist. Otherwise, return - * original {@link Throwable}. - * - * @param throwable A {@link Throwable}. - * @return A {@link HttpResponseException} or the original throwable type. - */ - public static Throwable mapToHttpResponseExceptionIfExists(Throwable throwable) { - if (throwable instanceof ErrorResponseException) { - ErrorResponseException errorResponseException = (ErrorResponseException) throwable; - FormRecognizerErrorInformation formRecognizerErrorInformation = null; - if (errorResponseException.getValue() != null && errorResponseException.getValue().getError() != null) { - ErrorInformation errorInformation = errorResponseException.getValue().getError(); - formRecognizerErrorInformation = - new FormRecognizerErrorInformation(errorInformation.getCode(), errorInformation.getMessage()); - } - return new HttpResponseException( - errorResponseException.getMessage(), - errorResponseException.getResponse(), - formRecognizerErrorInformation - ); - } - return throwable; - } - - /* - * Poller's ACTIVATION operation that takes URL as input. - */ - public static Function, Mono> - urlActivationOperation( - Supplier> activationOperation, ClientLogger logger) { - return pollingContext -> { - try { - return activationOperation.get().onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - public static HttpPipeline buildHttpPipeline(ClientOptions clientOptions, HttpLogOptions logOptions, - Configuration configuration, RetryPolicy retryPolicy, AzureKeyCredential credential, - TokenCredential tokenCredential, List perCallPolicies, - List perRetryPolicies, HttpClient httpClient) { - - Configuration buildConfiguration = (configuration == null) - ? Configuration.getGlobalConfiguration() - : configuration; - - ClientOptions buildClientOptions = (clientOptions == null) ? DEFAULT_CLIENT_OPTIONS : clientOptions; - HttpLogOptions buildLogOptions = (logOptions == null) ? DEFAULT_LOG_OPTIONS : logOptions; - - String applicationId = CoreUtils.getApplicationId(buildClientOptions, buildLogOptions); - - // Closest to API goes first, closest to wire goes last. - final List httpPipelinePolicies = new ArrayList<>(); - httpPipelinePolicies.add(new AddHeadersPolicy(DEFAULT_HTTP_HEADERS)); - httpPipelinePolicies.add(new AddHeadersFromContextPolicy()); - httpPipelinePolicies.add(new UserAgentPolicy(applicationId, CLIENT_NAME, CLIENT_VERSION, buildConfiguration)); - httpPipelinePolicies.add(new RequestIdPolicy()); - - httpPipelinePolicies.addAll(perCallPolicies); - HttpPolicyProviders.addBeforeRetryPolicies(httpPipelinePolicies); - httpPipelinePolicies.add(retryPolicy == null ? new RetryPolicy() : retryPolicy); - - httpPipelinePolicies.add(new AddDatePolicy()); - - // Authentications - if (tokenCredential != null) { - httpPipelinePolicies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPE)); - } else if (credential != null) { - httpPipelinePolicies.add(new AzureKeyCredentialPolicy(OCP_APIM_SUBSCRIPTION_KEY, credential)); - } else { - // Throw exception that credential and tokenCredential cannot be null - throw LOGGER.logExceptionAsError( - new IllegalArgumentException("Missing credential information while building a client.")); - } - httpPipelinePolicies.addAll(perRetryPolicies); - HttpPolicyProviders.addAfterRetryPolicies(httpPipelinePolicies); - - HttpHeaders headers = new HttpHeaders(); - buildClientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); - if (headers.getSize() > 0) { - httpPipelinePolicies.add(new AddHeadersPolicy(headers)); - } - - httpPipelinePolicies.add(new HttpLoggingPolicy(buildLogOptions)); - - return new HttpPipelineBuilder() - .clientOptions(buildClientOptions) - .httpClient(httpClient) - .policies(httpPipelinePolicies.toArray(new HttpPipelinePolicy[0])) - .build(); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncHeaders.java deleted file mode 100644 index c463ec64b8024..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The AnalyzeBusinessCardAsyncHeaders model. */ -@Fluent -public final class AnalyzeBusinessCardAsyncHeaders { - /* - * The Operation-Location property. - */ - @JsonProperty(value = "Operation-Location") - private String operationLocation; - - /** - * Get the operationLocation property: The Operation-Location property. - * - * @return the operationLocation value. - */ - public String getOperationLocation() { - return this.operationLocation; - } - - /** - * Set the operationLocation property: The Operation-Location property. - * - * @param operationLocation the operationLocation value to set. - * @return the AnalyzeBusinessCardAsyncHeaders object itself. - */ - public AnalyzeBusinessCardAsyncHeaders setOperationLocation(String operationLocation) { - this.operationLocation = operationLocation; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncResponse.java deleted file mode 100644 index 7263a31efc5e0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeBusinessCardAsyncResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the analyzeBusinessCardAsync operation. */ -public final class AnalyzeBusinessCardAsyncResponse extends ResponseBase { - /** - * Creates an instance of AnalyzeBusinessCardAsyncResponse. - * - * @param request the request which resulted in this AnalyzeBusinessCardAsyncResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public AnalyzeBusinessCardAsyncResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - Void value, - AnalyzeBusinessCardAsyncHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentHeaders.java similarity index 82% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelHeaders.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentHeaders.java index 6565726d96819..79e6ffcad3d6b 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelHeaders.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentHeaders.java @@ -7,9 +7,9 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -/** The CopyCustomModelHeaders model. */ +/** The AnalyzeDocumentHeaders model. */ @Fluent -public final class CopyCustomModelHeaders { +public final class AnalyzeDocumentHeaders { /* * The Operation-Location property. */ @@ -29,9 +29,9 @@ public String getOperationLocation() { * Set the operationLocation property: The Operation-Location property. * * @param operationLocation the operationLocation value to set. - * @return the CopyCustomModelHeaders object itself. + * @return the AnalyzeDocumentHeaders object itself. */ - public CopyCustomModelHeaders setOperationLocation(String operationLocation) { + public AnalyzeDocumentHeaders setOperationLocation(String operationLocation) { this.operationLocation = operationLocation; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentRequest.java new file mode 100644 index 0000000000000..a26e1c8af8704 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentRequest.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.CoreUtils; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Document analysis parameters. */ +@Fluent +public final class AnalyzeDocumentRequest { + /* + * Document URL to analyze + */ + @JsonProperty(value = "urlSource") + private String urlSource; + + /* + * Base64 encoding of the document to analyze + */ + @JsonProperty(value = "base64Source") + private byte[] base64Source; + + /** + * Get the urlSource property: Document URL to analyze. + * + * @return the urlSource value. + */ + public String getUrlSource() { + return this.urlSource; + } + + /** + * Set the urlSource property: Document URL to analyze. + * + * @param urlSource the urlSource value to set. + * @return the AnalyzeDocumentRequest object itself. + */ + public AnalyzeDocumentRequest setUrlSource(String urlSource) { + this.urlSource = urlSource; + return this; + } + + /** + * Get the base64Source property: Base64 encoding of the document to analyze. + * + * @return the base64Source value. + */ + public byte[] getBase64Source() { + return CoreUtils.clone(this.base64Source); + } + + /** + * Set the base64Source property: Base64 encoding of the document to analyze. + * + * @param base64Source the base64Source value to set. + * @return the AnalyzeDocumentRequest object itself. + */ + public AnalyzeDocumentRequest setBase64Source(byte[] base64Source) { + this.base64Source = CoreUtils.clone(base64Source); + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentResponse.java similarity index 66% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelResponse.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentResponse.java index 5a89b26557219..5adc106306fca 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyCustomModelResponse.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeDocumentResponse.java @@ -8,19 +8,19 @@ import com.azure.core.http.HttpRequest; import com.azure.core.http.rest.ResponseBase; -/** Contains all response data for the copyCustomModel operation. */ -public final class CopyCustomModelResponse extends ResponseBase { +/** Contains all response data for the analyzeDocument operation. */ +public final class AnalyzeDocumentResponse extends ResponseBase { /** - * Creates an instance of CopyCustomModelResponse. + * Creates an instance of AnalyzeDocumentResponse. * - * @param request the request which resulted in this CopyCustomModelResponse. + * @param request the request which resulted in this AnalyzeDocumentResponse. * @param statusCode the status code of the HTTP response. * @param rawHeaders the raw headers of the HTTP response. * @param value the deserialized value of the HTTP response. * @param headers the deserialized headers of the HTTP response. */ - public CopyCustomModelResponse( - HttpRequest request, int statusCode, HttpHeaders rawHeaders, Void value, CopyCustomModelHeaders headers) { + public AnalyzeDocumentResponse( + HttpRequest request, int statusCode, HttpHeaders rawHeaders, Void value, AnalyzeDocumentHeaders headers) { super(request, statusCode, rawHeaders, value, headers); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncHeaders.java deleted file mode 100644 index 44d485806b1e5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The AnalyzeIdDocumentAsyncHeaders model. */ -@Fluent -public final class AnalyzeIdDocumentAsyncHeaders { - /* - * The Operation-Location property. - */ - @JsonProperty(value = "Operation-Location") - private String operationLocation; - - /** - * Get the operationLocation property: The Operation-Location property. - * - * @return the operationLocation value. - */ - public String getOperationLocation() { - return this.operationLocation; - } - - /** - * Set the operationLocation property: The Operation-Location property. - * - * @param operationLocation the operationLocation value to set. - * @return the AnalyzeIdDocumentAsyncHeaders object itself. - */ - public AnalyzeIdDocumentAsyncHeaders setOperationLocation(String operationLocation) { - this.operationLocation = operationLocation; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncResponse.java deleted file mode 100644 index 41c0cc078df35..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeIdDocumentAsyncResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the analyzeIdDocumentAsync operation. */ -public final class AnalyzeIdDocumentAsyncResponse extends ResponseBase { - /** - * Creates an instance of AnalyzeIdDocumentAsyncResponse. - * - * @param request the request which resulted in this AnalyzeIdDocumentAsyncResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public AnalyzeIdDocumentAsyncResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - Void value, - AnalyzeIdDocumentAsyncHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncResponse.java deleted file mode 100644 index 7efd7c30cfa9f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the analyzeReceiptAsync operation. */ -public final class AnalyzeReceiptAsyncResponse extends ResponseBase { - /** - * Creates an instance of AnalyzeReceiptAsyncResponse. - * - * @param request the request which resulted in this AnalyzeReceiptAsyncResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public AnalyzeReceiptAsyncResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - Void value, - AnalyzeReceiptAsyncHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResult.java index 4537aab12186b..cf46b951b4096 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResult.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResult.java @@ -8,136 +8,267 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** Analyze operation result. */ +/** Document analysis result. */ @Fluent public final class AnalyzeResult { /* - * Version of schema used for this result. + * API version used to produce this result. */ - @JsonProperty(value = "version", required = true) - private String version; + @JsonProperty(value = "apiVersion", required = true) + private ApiVersion apiVersion; /* - * Text extracted from the input. + * Model ID used to produce this result. */ - @JsonProperty(value = "readResults", required = true) - private List readResults; + @JsonProperty(value = "modelId", required = true) + private String modelId; /* - * Page-level information extracted from the input. + * Method used to compute string offset and length. */ - @JsonProperty(value = "pageResults") - private List pageResults; + @JsonProperty(value = "stringIndexType", required = true) + private StringIndexType stringIndexType; /* - * Document-level information extracted from the input. + * Concatenate string representation of all textual and visual elements in + * reading order. */ - @JsonProperty(value = "documentResults") - private List documentResults; + @JsonProperty(value = "content", required = true) + private String content; /* - * List of errors reported during the analyze operation. + * Analyzed pages. */ - @JsonProperty(value = "errors") - private List errors; + @JsonProperty(value = "pages", required = true) + private List pages; + + /* + * Extracted tables. + */ + @JsonProperty(value = "tables") + private List tables; + + /* + * Extracted key-value pairs. + */ + @JsonProperty(value = "keyValuePairs") + private List keyValuePairs; + + /* + * Extracted entities. + */ + @JsonProperty(value = "entities") + private List entities; + + /* + * Extracted font styles. + */ + @JsonProperty(value = "styles") + private List styles; + + /* + * Extracted documents. + */ + @JsonProperty(value = "documents") + private List documents; + + /** + * Get the apiVersion property: API version used to produce this result. + * + * @return the apiVersion value. + */ + public ApiVersion getApiVersion() { + return this.apiVersion; + } + + /** + * Set the apiVersion property: API version used to produce this result. + * + * @param apiVersion the apiVersion value to set. + * @return the AnalyzeResult object itself. + */ + public AnalyzeResult setApiVersion(ApiVersion apiVersion) { + this.apiVersion = apiVersion; + return this; + } + + /** + * Get the modelId property: Model ID used to produce this result. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Model ID used to produce this result. + * + * @param modelId the modelId value to set. + * @return the AnalyzeResult object itself. + */ + public AnalyzeResult setModelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Get the stringIndexType property: Method used to compute string offset and length. + * + * @return the stringIndexType value. + */ + public StringIndexType getStringIndexType() { + return this.stringIndexType; + } + + /** + * Set the stringIndexType property: Method used to compute string offset and length. + * + * @param stringIndexType the stringIndexType value to set. + * @return the AnalyzeResult object itself. + */ + public AnalyzeResult setStringIndexType(StringIndexType stringIndexType) { + this.stringIndexType = stringIndexType; + return this; + } + + /** + * Get the content property: Concatenate string representation of all textual and visual elements in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenate string representation of all textual and visual elements in reading order. + * + * @param content the content value to set. + * @return the AnalyzeResult object itself. + */ + public AnalyzeResult setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the pages property: Analyzed pages. + * + * @return the pages value. + */ + public List getPages() { + return this.pages; + } + + /** + * Set the pages property: Analyzed pages. + * + * @param pages the pages value to set. + * @return the AnalyzeResult object itself. + */ + public AnalyzeResult setPages(List pages) { + this.pages = pages; + return this; + } /** - * Get the version property: Version of schema used for this result. + * Get the tables property: Extracted tables. * - * @return the version value. + * @return the tables value. */ - public String getVersion() { - return this.version; + public List getTables() { + return this.tables; } /** - * Set the version property: Version of schema used for this result. + * Set the tables property: Extracted tables. * - * @param version the version value to set. + * @param tables the tables value to set. * @return the AnalyzeResult object itself. */ - public AnalyzeResult setVersion(String version) { - this.version = version; + public AnalyzeResult setTables(List tables) { + this.tables = tables; return this; } /** - * Get the readResults property: Text extracted from the input. + * Get the keyValuePairs property: Extracted key-value pairs. * - * @return the readResults value. + * @return the keyValuePairs value. */ - public List getReadResults() { - return this.readResults; + public List getKeyValuePairs() { + return this.keyValuePairs; } /** - * Set the readResults property: Text extracted from the input. + * Set the keyValuePairs property: Extracted key-value pairs. * - * @param readResults the readResults value to set. + * @param keyValuePairs the keyValuePairs value to set. * @return the AnalyzeResult object itself. */ - public AnalyzeResult setReadResults(List readResults) { - this.readResults = readResults; + public AnalyzeResult setKeyValuePairs(List keyValuePairs) { + this.keyValuePairs = keyValuePairs; return this; } /** - * Get the pageResults property: Page-level information extracted from the input. + * Get the entities property: Extracted entities. * - * @return the pageResults value. + * @return the entities value. */ - public List getPageResults() { - return this.pageResults; + public List getEntities() { + return this.entities; } /** - * Set the pageResults property: Page-level information extracted from the input. + * Set the entities property: Extracted entities. * - * @param pageResults the pageResults value to set. + * @param entities the entities value to set. * @return the AnalyzeResult object itself. */ - public AnalyzeResult setPageResults(List pageResults) { - this.pageResults = pageResults; + public AnalyzeResult setEntities(List entities) { + this.entities = entities; return this; } /** - * Get the documentResults property: Document-level information extracted from the input. + * Get the styles property: Extracted font styles. * - * @return the documentResults value. + * @return the styles value. */ - public List getDocumentResults() { - return this.documentResults; + public List getStyles() { + return this.styles; } /** - * Set the documentResults property: Document-level information extracted from the input. + * Set the styles property: Extracted font styles. * - * @param documentResults the documentResults value to set. + * @param styles the styles value to set. * @return the AnalyzeResult object itself. */ - public AnalyzeResult setDocumentResults(List documentResults) { - this.documentResults = documentResults; + public AnalyzeResult setStyles(List styles) { + this.styles = styles; return this; } /** - * Get the errors property: List of errors reported during the analyze operation. + * Get the documents property: Extracted documents. * - * @return the errors value. + * @return the documents value. */ - public List getErrors() { - return this.errors; + public List getDocuments() { + return this.documents; } /** - * Set the errors property: List of errors reported during the analyze operation. + * Set the documents property: Extracted documents. * - * @param errors the errors value to set. + * @param documents the documents value to set. * @return the AnalyzeResult object itself. */ - public AnalyzeResult setErrors(List errors) { - this.errors = errors; + public AnalyzeResult setDocuments(List documents) { + this.documents = documents; return this; } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeOperationResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperation.java similarity index 64% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeOperationResult.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperation.java index 6c575763bb947..c72683c5eb46f 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeOperationResult.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperation.java @@ -8,14 +8,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.time.OffsetDateTime; -/** Status and result of the queued analyze operation. */ +/** Status and result of the analyze operation. */ @Fluent -public final class AnalyzeOperationResult { +public final class AnalyzeResultOperation { /* * Operation status. */ @JsonProperty(value = "status", required = true) - private OperationStatus status; + private AnalyzeResultOperationStatus status; /* * Date and time (UTC) when the analyze operation was submitted. @@ -30,7 +30,13 @@ public final class AnalyzeOperationResult { private OffsetDateTime lastUpdatedDateTime; /* - * Results of the analyze operation. + * Encountered error during document analysis. + */ + @JsonProperty(value = "error") + private Error error; + + /* + * Document analysis result. */ @JsonProperty(value = "analyzeResult") private AnalyzeResult analyzeResult; @@ -40,7 +46,7 @@ public final class AnalyzeOperationResult { * * @return the status value. */ - public OperationStatus getStatus() { + public AnalyzeResultOperationStatus getStatus() { return this.status; } @@ -48,9 +54,9 @@ public OperationStatus getStatus() { * Set the status property: Operation status. * * @param status the status value to set. - * @return the AnalyzeOperationResult object itself. + * @return the AnalyzeResultOperation object itself. */ - public AnalyzeOperationResult setStatus(OperationStatus status) { + public AnalyzeResultOperation setStatus(AnalyzeResultOperationStatus status) { this.status = status; return this; } @@ -68,9 +74,9 @@ public OffsetDateTime getCreatedDateTime() { * Set the createdDateTime property: Date and time (UTC) when the analyze operation was submitted. * * @param createdDateTime the createdDateTime value to set. - * @return the AnalyzeOperationResult object itself. + * @return the AnalyzeResultOperation object itself. */ - public AnalyzeOperationResult setCreatedDateTime(OffsetDateTime createdDateTime) { + public AnalyzeResultOperation setCreatedDateTime(OffsetDateTime createdDateTime) { this.createdDateTime = createdDateTime; return this; } @@ -88,15 +94,35 @@ public OffsetDateTime getLastUpdatedDateTime() { * Set the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. * * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. - * @return the AnalyzeOperationResult object itself. + * @return the AnalyzeResultOperation object itself. */ - public AnalyzeOperationResult setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { + public AnalyzeResultOperation setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { this.lastUpdatedDateTime = lastUpdatedDateTime; return this; } /** - * Get the analyzeResult property: Results of the analyze operation. + * Get the error property: Encountered error during document analysis. + * + * @return the error value. + */ + public Error getError() { + return this.error; + } + + /** + * Set the error property: Encountered error during document analysis. + * + * @param error the error value to set. + * @return the AnalyzeResultOperation object itself. + */ + public AnalyzeResultOperation setError(Error error) { + this.error = error; + return this; + } + + /** + * Get the analyzeResult property: Document analysis result. * * @return the analyzeResult value. */ @@ -105,12 +131,12 @@ public AnalyzeResult getAnalyzeResult() { } /** - * Set the analyzeResult property: Results of the analyze operation. + * Set the analyzeResult property: Document analysis result. * * @param analyzeResult the analyzeResult value to set. - * @return the AnalyzeOperationResult object itself. + * @return the AnalyzeResultOperation object itself. */ - public AnalyzeOperationResult setAnalyzeResult(AnalyzeResult analyzeResult) { + public AnalyzeResultOperation setAnalyzeResult(AnalyzeResult analyzeResult) { this.analyzeResult = analyzeResult; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperationStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperationStatus.java new file mode 100644 index 0000000000000..2449eab02efdf --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeResultOperationStatus.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** Defines values for AnalyzeResultOperationStatus. */ +public enum AnalyzeResultOperationStatus { + /** Enum value notStarted. */ + NOT_STARTED("notStarted"), + + /** Enum value running. */ + RUNNING("running"), + + /** Enum value failed. */ + FAILED("failed"), + + /** Enum value succeeded. */ + SUCCEEDED("succeeded"); + + /** The actual serialized value for a AnalyzeResultOperationStatus instance. */ + private final String value; + + AnalyzeResultOperationStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a AnalyzeResultOperationStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed AnalyzeResultOperationStatus object, or null if unable to parse. + */ + @JsonCreator + public static AnalyzeResultOperationStatus fromString(String value) { + AnalyzeResultOperationStatus[] items = AnalyzeResultOperationStatus.values(); + for (AnalyzeResultOperationStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelHeaders.java deleted file mode 100644 index 1963e40857ba2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The AnalyzeWithCustomModelHeaders model. */ -@Fluent -public final class AnalyzeWithCustomModelHeaders { - /* - * The Operation-Location property. - */ - @JsonProperty(value = "Operation-Location") - private String operationLocation; - - /** - * Get the operationLocation property: The Operation-Location property. - * - * @return the operationLocation value. - */ - public String getOperationLocation() { - return this.operationLocation; - } - - /** - * Set the operationLocation property: The Operation-Location property. - * - * @param operationLocation the operationLocation value to set. - * @return the AnalyzeWithCustomModelHeaders object itself. - */ - public AnalyzeWithCustomModelHeaders setOperationLocation(String operationLocation) { - this.operationLocation = operationLocation; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelResponse.java deleted file mode 100644 index f27100dbb6b89..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeWithCustomModelResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the analyzeWithCustomModel operation. */ -public final class AnalyzeWithCustomModelResponse extends ResponseBase { - /** - * Creates an instance of AnalyzeWithCustomModelResponse. - * - * @param request the request which resulted in this AnalyzeWithCustomModelResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public AnalyzeWithCustomModelResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - Void value, - AnalyzeWithCustomModelHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ApiVersion.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ApiVersion.java new file mode 100644 index 0000000000000..c96fc598d23bd --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ApiVersion.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ApiVersion. */ +public final class ApiVersion extends ExpandableStringEnum { + /** Static value 2021-09-30-preview for ApiVersion. */ + public static final ApiVersion TWO_THOUSAND_TWENTY_ONE0930PREVIEW = fromString("2021-09-30-preview"); + + /** + * Creates or finds a ApiVersion from its string representation. + * + * @param name a name to look for. + * @return the corresponding ApiVersion. + */ + @JsonCreator + public static ApiVersion fromString(String name) { + return fromString(name, ApiVersion.class); + } + + /** @return known ApiVersion values. */ + public static Collection values() { + return values(ApiVersion.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Appearance.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Appearance.java deleted file mode 100644 index b3a4d5f3a7b4f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Appearance.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** An object representing the appearance of the text line. */ -@Fluent -public final class Appearance { - /* - * An object representing the style of the text line. - */ - @JsonProperty(value = "style", required = true) - private Style style; - - /** - * Get the style property: An object representing the style of the text line. - * - * @return the style value. - */ - public Style getStyle() { - return this.style; - } - - /** - * Set the style property: An object representing the style of the text line. - * - * @param style the style value to set. - * @return the Appearance object itself. - */ - public Appearance setStyle(Style style) { - this.style = style; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Attributes.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Attributes.java deleted file mode 100644 index d08014e137d99..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Attributes.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Optional model attributes. */ -@Fluent -public final class Attributes { - /* - * Is this model composed? (default: false). - */ - @JsonProperty(value = "isComposed") - private Boolean isComposed; - - /** - * Get the isComposed property: Is this model composed? (default: false). - * - * @return the isComposed value. - */ - public Boolean isComposed() { - return this.isComposed; - } - - /** - * Set the isComposed property: Is this model composed? (default: false). - * - * @param isComposed the isComposed value to set. - * @return the Attributes object itself. - */ - public Attributes setIsComposed(Boolean isComposed) { - this.isComposed = isComposed; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AuthorizeCopyRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AuthorizeCopyRequest.java new file mode 100644 index 0000000000000..893bc46417ac9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AuthorizeCopyRequest.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Request body to authorize model copy. */ +@Fluent +public final class AuthorizeCopyRequest { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /* + * Model description. + */ + @JsonProperty(value = "description") + private String description; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the AuthorizeCopyRequest object itself. + */ + public AuthorizeCopyRequest setModelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the AuthorizeCopyRequest object itself. + */ + public AuthorizeCopyRequest setDescription(String description) { + this.description = description; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AzureBlobContentSource.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AzureBlobContentSource.java new file mode 100644 index 0000000000000..8b54cbf75ad80 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AzureBlobContentSource.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Azure Blob Storage content. */ +@Fluent +public final class AzureBlobContentSource { + /* + * Azure Blob Storage container URL. + */ + @JsonProperty(value = "containerUrl", required = true) + private String containerUrl; + + /* + * Blob name prefix. + */ + @JsonProperty(value = "prefix") + private String prefix; + + /** + * Get the containerUrl property: Azure Blob Storage container URL. + * + * @return the containerUrl value. + */ + public String getContainerUrl() { + return this.containerUrl; + } + + /** + * Set the containerUrl property: Azure Blob Storage container URL. + * + * @param containerUrl the containerUrl value to set. + * @return the AzureBlobContentSource object itself. + */ + public AzureBlobContentSource setContainerUrl(String containerUrl) { + this.containerUrl = containerUrl; + return this; + } + + /** + * Get the prefix property: Blob name prefix. + * + * @return the prefix value. + */ + public String getPrefix() { + return this.prefix; + } + + /** + * Set the prefix property: Blob name prefix. + * + * @param prefix the prefix value to set. + * @return the AzureBlobContentSource object itself. + */ + public AzureBlobContentSource setPrefix(String prefix) { + this.prefix = prefix; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Base64ContentSource.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Base64ContentSource.java new file mode 100644 index 0000000000000..b43cd854e9bf8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Base64ContentSource.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.CoreUtils; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Content represented via Base64 encoding. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("base64") +@Fluent +public final class Base64ContentSource extends ContentSource { + /* + * Base64 encoded content data. + */ + @JsonProperty(value = "data", required = true) + private byte[] data; + + /** + * Get the data property: Base64 encoded content data. + * + * @return the data value. + */ + public byte[] getData() { + return CoreUtils.clone(this.data); + } + + /** + * Set the data property: Base64 encoded content data. + * + * @param data the data value to set. + * @return the Base64ContentSource object itself. + */ + public Base64ContentSource setData(byte[] data) { + this.data = CoreUtils.clone(data); + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BoundingRegion.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BoundingRegion.java new file mode 100644 index 0000000000000..87f7b977bdb80 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BoundingRegion.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Bounding box on a specific page of the input. */ +@Fluent +public final class BoundingRegion { + /* + * 1-based page number of page containing the bounding region. + */ + @JsonProperty(value = "pageNumber", required = true) + private int pageNumber; + + /* + * Bounding box on the page, or the entire page if not specified. + */ + @JsonProperty(value = "boundingBox", required = true) + private List boundingBox; + + /** + * Get the pageNumber property: 1-based page number of page containing the bounding region. + * + * @return the pageNumber value. + */ + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Set the pageNumber property: 1-based page number of page containing the bounding region. + * + * @param pageNumber the pageNumber value to set. + * @return the BoundingRegion object itself. + */ + public BoundingRegion setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + return this; + } + + /** + * Get the boundingBox property: Bounding box on the page, or the entire page if not specified. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box on the page, or the entire page if not specified. + * + * @param boundingBox the boundingBox value to set. + * @return the BoundingRegion object itself. + */ + public BoundingRegion setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelHeaders.java similarity index 81% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncHeaders.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelHeaders.java index d7d73aa52f512..d868ebe285fe6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncHeaders.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelHeaders.java @@ -7,9 +7,9 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -/** The AnalyzeLayoutAsyncHeaders model. */ +/** The BuildDocumentModelHeaders model. */ @Fluent -public final class AnalyzeLayoutAsyncHeaders { +public final class BuildDocumentModelHeaders { /* * The Operation-Location property. */ @@ -29,9 +29,9 @@ public String getOperationLocation() { * Set the operationLocation property: The Operation-Location property. * * @param operationLocation the operationLocation value to set. - * @return the AnalyzeLayoutAsyncHeaders object itself. + * @return the BuildDocumentModelHeaders object itself. */ - public AnalyzeLayoutAsyncHeaders setOperationLocation(String operationLocation) { + public BuildDocumentModelHeaders setOperationLocation(String operationLocation) { this.operationLocation = operationLocation; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelRequest.java new file mode 100644 index 0000000000000..2b4fe7cd3128a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelRequest.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Request body to build a new custom model. */ +@Fluent +public final class BuildDocumentModelRequest { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /* + * Model description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * Azure Blob Storage location containing the training data. + */ + @JsonProperty(value = "azureBlobSource") + private AzureBlobContentSource azureBlobSource; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the BuildDocumentModelRequest object itself. + */ + public BuildDocumentModelRequest setModelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the BuildDocumentModelRequest object itself. + */ + public BuildDocumentModelRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the azureBlobSource property: Azure Blob Storage location containing the training data. + * + * @return the azureBlobSource value. + */ + public AzureBlobContentSource getAzureBlobSource() { + return this.azureBlobSource; + } + + /** + * Set the azureBlobSource property: Azure Blob Storage location containing the training data. + * + * @param azureBlobSource the azureBlobSource value to set. + * @return the BuildDocumentModelRequest object itself. + */ + public BuildDocumentModelRequest setAzureBlobSource(AzureBlobContentSource azureBlobSource) { + this.azureBlobSource = azureBlobSource; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelResponse.java similarity index 67% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncResponse.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelResponse.java index 2f09eb33b20fb..7ed8596a8ed68 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeLayoutAsyncResponse.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/BuildDocumentModelResponse.java @@ -8,23 +8,23 @@ import com.azure.core.http.HttpRequest; import com.azure.core.http.rest.ResponseBase; -/** Contains all response data for the analyzeLayoutAsync operation. */ -public final class AnalyzeLayoutAsyncResponse extends ResponseBase { +/** Contains all response data for the buildDocumentModel operation. */ +public final class BuildDocumentModelResponse extends ResponseBase { /** - * Creates an instance of AnalyzeLayoutAsyncResponse. + * Creates an instance of BuildDocumentModelResponse. * - * @param request the request which resulted in this AnalyzeLayoutAsyncResponse. + * @param request the request which resulted in this BuildDocumentModelResponse. * @param statusCode the status code of the HTTP response. * @param rawHeaders the raw headers of the HTTP response. * @param value the deserialized value of the HTTP response. * @param headers the deserialized headers of the HTTP response. */ - public AnalyzeLayoutAsyncResponse( + public BuildDocumentModelResponse( HttpRequest request, int statusCode, HttpHeaders rawHeaders, Void value, - AnalyzeLayoutAsyncHeaders headers) { + BuildDocumentModelHeaders headers) { super(request, statusCode, rawHeaders, value, headers); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComponentModelInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComponentModelInfo.java new file mode 100644 index 0000000000000..48a237cba8dff --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComponentModelInfo.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** A component of a composed model. */ +@Fluent +public final class ComponentModelInfo { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the ComponentModelInfo object itself. + */ + public ComponentModelInfo setModelId(String modelId) { + this.modelId = modelId; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncHeaders.java deleted file mode 100644 index 550047adfc792..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The ComposeCustomModelsAsyncHeaders model. */ -@Fluent -public final class ComposeCustomModelsAsyncHeaders { - /* - * The Location property. - */ - @JsonProperty(value = "Location") - private String location; - - /** - * Get the location property: The Location property. - * - * @return the location value. - */ - public String getLocation() { - return this.location; - } - - /** - * Set the location property: The Location property. - * - * @param location the location value to set. - * @return the ComposeCustomModelsAsyncHeaders object itself. - */ - public ComposeCustomModelsAsyncHeaders setLocation(String location) { - this.location = location; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelHeaders.java similarity index 79% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncHeaders.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelHeaders.java index 3d919427b516c..0200a70d24b3e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeReceiptAsyncHeaders.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelHeaders.java @@ -7,9 +7,9 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -/** The AnalyzeReceiptAsyncHeaders model. */ +/** The ComposeDocumentModelHeaders model. */ @Fluent -public final class AnalyzeReceiptAsyncHeaders { +public final class ComposeDocumentModelHeaders { /* * The Operation-Location property. */ @@ -29,9 +29,9 @@ public String getOperationLocation() { * Set the operationLocation property: The Operation-Location property. * * @param operationLocation the operationLocation value to set. - * @return the AnalyzeReceiptAsyncHeaders object itself. + * @return the ComposeDocumentModelHeaders object itself. */ - public AnalyzeReceiptAsyncHeaders setOperationLocation(String operationLocation) { + public ComposeDocumentModelHeaders setOperationLocation(String operationLocation) { this.operationLocation = operationLocation; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequest.java new file mode 100644 index 0000000000000..4e70357d0070a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequest.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Request body to create a composed model from component models. */ +@Fluent +public final class ComposeDocumentModelRequest { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /* + * Model description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * List of component models to compose. + */ + @JsonProperty(value = "componentModels", required = true) + private List componentModels; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the ComposeDocumentModelRequest object itself. + */ + public ComposeDocumentModelRequest setModelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the ComposeDocumentModelRequest object itself. + */ + public ComposeDocumentModelRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the componentModels property: List of component models to compose. + * + * @return the componentModels value. + */ + public List getComponentModels() { + return this.componentModels; + } + + /** + * Set the componentModels property: List of component models to compose. + * + * @param componentModels the componentModels value to set. + * @return the ComposeDocumentModelRequest object itself. + */ + public ComposeDocumentModelRequest setComponentModels(List componentModels) { + this.componentModels = componentModels; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequestComponentModelsItem.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequestComponentModelsItem.java new file mode 100644 index 0000000000000..7f4f4c07457f8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelRequestComponentModelsItem.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The ComposeDocumentModelRequestComponentModelsItem model. */ +@Fluent +public final class ComposeDocumentModelRequestComponentModelsItem { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the ComposeDocumentModelRequestComponentModelsItem object itself. + */ + public ComposeDocumentModelRequestComponentModelsItem setModelId(String modelId) { + this.modelId = modelId; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelResponse.java similarity index 69% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncResponse.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelResponse.java index cdfac3288a822..87f7faab98314 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeCustomModelsAsyncResponse.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeDocumentModelResponse.java @@ -8,23 +8,23 @@ import com.azure.core.http.HttpRequest; import com.azure.core.http.rest.ResponseBase; -/** Contains all response data for the composeCustomModelsAsync operation. */ -public final class ComposeCustomModelsAsyncResponse extends ResponseBase { +/** Contains all response data for the composeDocumentModel operation. */ +public final class ComposeDocumentModelResponse extends ResponseBase { /** - * Creates an instance of ComposeCustomModelsAsyncResponse. + * Creates an instance of ComposeDocumentModelResponse. * - * @param request the request which resulted in this ComposeCustomModelsAsyncResponse. + * @param request the request which resulted in this ComposeDocumentModelResponse. * @param statusCode the status code of the HTTP response. * @param rawHeaders the raw headers of the HTTP response. * @param value the deserialized value of the HTTP response. * @param headers the deserialized headers of the HTTP response. */ - public ComposeCustomModelsAsyncResponse( + public ComposeDocumentModelResponse( HttpRequest request, int statusCode, HttpHeaders rawHeaders, Void value, - ComposeCustomModelsAsyncHeaders headers) { + ComposeDocumentModelHeaders headers) { super(request, statusCode, rawHeaders, value, headers); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeRequest.java deleted file mode 100644 index 701b31667bf6c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ComposeRequest.java +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.UUID; - -/** Request contract for compose operation. */ -@Fluent -public final class ComposeRequest { - /* - * List of model ids to compose. - */ - @JsonProperty(value = "modelIds", required = true) - private List modelIds; - - /* - * Optional user defined model name (max length: 1024). - */ - @JsonProperty(value = "modelName") - private String modelName; - - /** - * Get the modelIds property: List of model ids to compose. - * - * @return the modelIds value. - */ - public List getModelIds() { - return this.modelIds; - } - - /** - * Set the modelIds property: List of model ids to compose. - * - * @param modelIds the modelIds value to set. - * @return the ComposeRequest object itself. - */ - public ComposeRequest setModelIds(List modelIds) { - this.modelIds = modelIds; - return this; - } - - /** - * Get the modelName property: Optional user defined model name (max length: 1024). - * - * @return the modelName value. - */ - public String getModelName() { - return this.modelName; - } - - /** - * Set the modelName property: Optional user defined model name (max length: 1024). - * - * @param modelName the modelName value to set. - * @return the ComposeRequest object itself. - */ - public ComposeRequest setModelName(String modelName) { - this.modelName = modelName; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSource.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSource.java new file mode 100644 index 0000000000000..1886029b22e8f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSource.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Content data or location specification. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "kind", + defaultImpl = ContentSource.class) +@JsonTypeName("ContentSource") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "base64", value = Base64ContentSource.class), + @JsonSubTypes.Type(name = "azure.blob", value = AzureBlobContentSource.class), + @JsonSubTypes.Type(name = "local", value = LocalContentSource.class), + @JsonSubTypes.Type(name = "web", value = WebContentSource.class) +}) +@Immutable +public class ContentSource { + +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSourceKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSourceKind.java new file mode 100644 index 0000000000000..84a38fdc882c8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentSourceKind.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ContentSourceKind. */ +public final class ContentSourceKind extends ExpandableStringEnum { + /** Static value base64 for ContentSourceKind. */ + public static final ContentSourceKind BASE64 = fromString("base64"); + + /** Static value azure.blob for ContentSourceKind. */ + public static final ContentSourceKind AZURE_BLOB = fromString("azure.blob"); + + /** Static value local for ContentSourceKind. */ + public static final ContentSourceKind LOCAL = fromString("local"); + + /** Static value web for ContentSourceKind. */ + public static final ContentSourceKind WEB = fromString("web"); + + /** + * Creates or finds a ContentSourceKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding ContentSourceKind. + */ + @JsonCreator + public static ContentSourceKind fromString(String name) { + return fromString(name, ContentSourceKind.class); + } + + /** @return known ContentSourceKind values. */ + public static Collection values() { + return values(ContentSourceKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentType.java index e6305e014b244..45f93e07ca8a0 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentType.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ContentType.java @@ -9,6 +9,9 @@ /** Defines values for ContentType. */ public enum ContentType { + /** Enum value application/octet-stream. */ + APPLICATION_OCTET_STREAM("application/octet-stream"), + /** Enum value application/pdf. */ APPLICATION_PDF("application/pdf"), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorization.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorization.java new file mode 100644 index 0000000000000..7d911c8b8d068 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorization.java @@ -0,0 +1,170 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Authorization to copy a model to the specified target resource and modelId. */ +@Fluent +public final class CopyAuthorization { + /* + * ID of the target Azure resource where the model should be copied to. + */ + @JsonProperty(value = "targetResourceId", required = true) + private String targetResourceId; + + /* + * Location of the target Azure resource where the model should be copied + * to. + */ + @JsonProperty(value = "targetResourceRegion", required = true) + private String targetResourceRegion; + + /* + * Identifier of the target model. + */ + @JsonProperty(value = "targetModelId", required = true) + private String targetModelId; + + /* + * URL of the copied model in the target account. + */ + @JsonProperty(value = "targetModelLocation", required = true) + private String targetModelLocation; + + /* + * Token used to authorize the request. + */ + @JsonProperty(value = "accessToken", required = true) + private String accessToken; + + /* + * Date/time when the access token expires. + */ + @JsonProperty(value = "expirationDateTime", required = true) + private OffsetDateTime expirationDateTime; + + /** + * Get the targetResourceId property: ID of the target Azure resource where the model should be copied to. + * + * @return the targetResourceId value. + */ + public String getTargetResourceId() { + return this.targetResourceId; + } + + /** + * Set the targetResourceId property: ID of the target Azure resource where the model should be copied to. + * + * @param targetResourceId the targetResourceId value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setTargetResourceId(String targetResourceId) { + this.targetResourceId = targetResourceId; + return this; + } + + /** + * Get the targetResourceRegion property: Location of the target Azure resource where the model should be copied to. + * + * @return the targetResourceRegion value. + */ + public String getTargetResourceRegion() { + return this.targetResourceRegion; + } + + /** + * Set the targetResourceRegion property: Location of the target Azure resource where the model should be copied to. + * + * @param targetResourceRegion the targetResourceRegion value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setTargetResourceRegion(String targetResourceRegion) { + this.targetResourceRegion = targetResourceRegion; + return this; + } + + /** + * Get the targetModelId property: Identifier of the target model. + * + * @return the targetModelId value. + */ + public String getTargetModelId() { + return this.targetModelId; + } + + /** + * Set the targetModelId property: Identifier of the target model. + * + * @param targetModelId the targetModelId value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setTargetModelId(String targetModelId) { + this.targetModelId = targetModelId; + return this; + } + + /** + * Get the targetModelLocation property: URL of the copied model in the target account. + * + * @return the targetModelLocation value. + */ + public String getTargetModelLocation() { + return this.targetModelLocation; + } + + /** + * Set the targetModelLocation property: URL of the copied model in the target account. + * + * @param targetModelLocation the targetModelLocation value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setTargetModelLocation(String targetModelLocation) { + this.targetModelLocation = targetModelLocation; + return this; + } + + /** + * Get the accessToken property: Token used to authorize the request. + * + * @return the accessToken value. + */ + public String getAccessToken() { + return this.accessToken; + } + + /** + * Set the accessToken property: Token used to authorize the request. + * + * @param accessToken the accessToken value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setAccessToken(String accessToken) { + this.accessToken = accessToken; + return this; + } + + /** + * Get the expirationDateTime property: Date/time when the access token expires. + * + * @return the expirationDateTime value. + */ + public OffsetDateTime getExpirationDateTime() { + return this.expirationDateTime; + } + + /** + * Set the expirationDateTime property: Date/time when the access token expires. + * + * @param expirationDateTime the expirationDateTime value to set. + * @return the CopyAuthorization object itself. + */ + public CopyAuthorization setExpirationDateTime(OffsetDateTime expirationDateTime) { + this.expirationDateTime = expirationDateTime; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorizationResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorizationResult.java deleted file mode 100644 index ede172412eae8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyAuthorizationResult.java +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Request parameter that contains authorization claims for copy operation. */ -@Fluent -public final class CopyAuthorizationResult { - /* - * Model identifier. - */ - @JsonProperty(value = "modelId", required = true) - private String modelId; - - /* - * Token claim used to authorize the request. - */ - @JsonProperty(value = "accessToken", required = true) - private String accessToken; - - /* - * The time when the access token expires. The date is represented as the - * number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. - */ - @JsonProperty(value = "expirationDateTimeTicks", required = true) - private long expirationDateTimeTicks; - - /** - * Get the modelId property: Model identifier. - * - * @return the modelId value. - */ - public String getModelId() { - return this.modelId; - } - - /** - * Set the modelId property: Model identifier. - * - * @param modelId the modelId value to set. - * @return the CopyAuthorizationResult object itself. - */ - public CopyAuthorizationResult setModelId(String modelId) { - this.modelId = modelId; - return this; - } - - /** - * Get the accessToken property: Token claim used to authorize the request. - * - * @return the accessToken value. - */ - public String getAccessToken() { - return this.accessToken; - } - - /** - * Set the accessToken property: Token claim used to authorize the request. - * - * @param accessToken the accessToken value to set. - * @return the CopyAuthorizationResult object itself. - */ - public CopyAuthorizationResult setAccessToken(String accessToken) { - this.accessToken = accessToken; - return this; - } - - /** - * Get the expirationDateTimeTicks property: The time when the access token expires. The date is represented as the - * number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. - * - * @return the expirationDateTimeTicks value. - */ - public long getExpirationDateTimeTicks() { - return this.expirationDateTimeTicks; - } - - /** - * Set the expirationDateTimeTicks property: The time when the access token expires. The date is represented as the - * number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. - * - * @param expirationDateTimeTicks the expirationDateTimeTicks value to set. - * @return the CopyAuthorizationResult object itself. - */ - public CopyAuthorizationResult setExpirationDateTimeTicks(long expirationDateTimeTicks) { - this.expirationDateTimeTicks = expirationDateTimeTicks; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToHeaders.java similarity index 81% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncHeaders.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToHeaders.java index 4327d206d08b7..5b1c8033d4de0 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncHeaders.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToHeaders.java @@ -7,9 +7,9 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -/** The AnalyzeInvoiceAsyncHeaders model. */ +/** The CopyDocumentModelToHeaders model. */ @Fluent -public final class AnalyzeInvoiceAsyncHeaders { +public final class CopyDocumentModelToHeaders { /* * The Operation-Location property. */ @@ -29,9 +29,9 @@ public String getOperationLocation() { * Set the operationLocation property: The Operation-Location property. * * @param operationLocation the operationLocation value to set. - * @return the AnalyzeInvoiceAsyncHeaders object itself. + * @return the CopyDocumentModelToHeaders object itself. */ - public AnalyzeInvoiceAsyncHeaders setOperationLocation(String operationLocation) { + public CopyDocumentModelToHeaders setOperationLocation(String operationLocation) { this.operationLocation = operationLocation; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToResponse.java similarity index 67% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncResponse.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToResponse.java index e4ec160f3ea0a..85df4f9c2c590 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/AnalyzeInvoiceAsyncResponse.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyDocumentModelToResponse.java @@ -8,23 +8,23 @@ import com.azure.core.http.HttpRequest; import com.azure.core.http.rest.ResponseBase; -/** Contains all response data for the analyzeInvoiceAsync operation. */ -public final class AnalyzeInvoiceAsyncResponse extends ResponseBase { +/** Contains all response data for the copyDocumentModelTo operation. */ +public final class CopyDocumentModelToResponse extends ResponseBase { /** - * Creates an instance of AnalyzeInvoiceAsyncResponse. + * Creates an instance of CopyDocumentModelToResponse. * - * @param request the request which resulted in this AnalyzeInvoiceAsyncResponse. + * @param request the request which resulted in this CopyDocumentModelToResponse. * @param statusCode the status code of the HTTP response. * @param rawHeaders the raw headers of the HTTP response. * @param value the deserialized value of the HTTP response. * @param headers the deserialized headers of the HTTP response. */ - public AnalyzeInvoiceAsyncResponse( + public CopyDocumentModelToResponse( HttpRequest request, int statusCode, HttpHeaders rawHeaders, Void value, - AnalyzeInvoiceAsyncHeaders headers) { + CopyDocumentModelToHeaders headers) { super(request, statusCode, rawHeaders, value, headers); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyOperationResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyOperationResult.java deleted file mode 100644 index 86555766c8dd7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyOperationResult.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.time.OffsetDateTime; - -/** Status and result of the queued copy operation. */ -@Fluent -public final class CopyOperationResult { - /* - * Operation status. - */ - @JsonProperty(value = "status", required = true) - private OperationStatus status; - - /* - * Date and time (UTC) when the copy operation was submitted. - */ - @JsonProperty(value = "createdDateTime", required = true) - private OffsetDateTime createdDateTime; - - /* - * Date and time (UTC) when the status was last updated. - */ - @JsonProperty(value = "lastUpdatedDateTime", required = true) - private OffsetDateTime lastUpdatedDateTime; - - /* - * Results of the copy operation. - */ - @JsonProperty(value = "copyResult") - private CopyResult copyResult; - - /** - * Get the status property: Operation status. - * - * @return the status value. - */ - public OperationStatus getStatus() { - return this.status; - } - - /** - * Set the status property: Operation status. - * - * @param status the status value to set. - * @return the CopyOperationResult object itself. - */ - public CopyOperationResult setStatus(OperationStatus status) { - this.status = status; - return this; - } - - /** - * Get the createdDateTime property: Date and time (UTC) when the copy operation was submitted. - * - * @return the createdDateTime value. - */ - public OffsetDateTime getCreatedDateTime() { - return this.createdDateTime; - } - - /** - * Set the createdDateTime property: Date and time (UTC) when the copy operation was submitted. - * - * @param createdDateTime the createdDateTime value to set. - * @return the CopyOperationResult object itself. - */ - public CopyOperationResult setCreatedDateTime(OffsetDateTime createdDateTime) { - this.createdDateTime = createdDateTime; - return this; - } - - /** - * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. - * - * @return the lastUpdatedDateTime value. - */ - public OffsetDateTime getLastUpdatedDateTime() { - return this.lastUpdatedDateTime; - } - - /** - * Set the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. - * - * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. - * @return the CopyOperationResult object itself. - */ - public CopyOperationResult setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { - this.lastUpdatedDateTime = lastUpdatedDateTime; - return this; - } - - /** - * Get the copyResult property: Results of the copy operation. - * - * @return the copyResult value. - */ - public CopyResult getCopyResult() { - return this.copyResult; - } - - /** - * Set the copyResult property: Results of the copy operation. - * - * @param copyResult the copyResult value to set. - * @return the CopyOperationResult object itself. - */ - public CopyOperationResult setCopyResult(CopyResult copyResult) { - this.copyResult = copyResult; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyRequest.java deleted file mode 100644 index 5bb75aeccb21b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyRequest.java +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * Request parameter to copy an existing custom model from the source resource to a target resource referenced by the - * resource ID. - */ -@Fluent -public final class CopyRequest { - /* - * Azure Resource Id of the target Form Recognizer resource where the model - * is copied to. - */ - @JsonProperty(value = "targetResourceId", required = true) - private String targetResourceId; - - /* - * Location of the target Azure resource. A valid Azure region name - * supported by Cognitive Services. - */ - @JsonProperty(value = "targetResourceRegion", required = true) - private String targetResourceRegion; - - /* - * Entity that encodes claims to authorize the copy request. - */ - @JsonProperty(value = "copyAuthorization", required = true) - private CopyAuthorizationResult copyAuthorization; - - /** - * Get the targetResourceId property: Azure Resource Id of the target Form Recognizer resource where the model is - * copied to. - * - * @return the targetResourceId value. - */ - public String getTargetResourceId() { - return this.targetResourceId; - } - - /** - * Set the targetResourceId property: Azure Resource Id of the target Form Recognizer resource where the model is - * copied to. - * - * @param targetResourceId the targetResourceId value to set. - * @return the CopyRequest object itself. - */ - public CopyRequest setTargetResourceId(String targetResourceId) { - this.targetResourceId = targetResourceId; - return this; - } - - /** - * Get the targetResourceRegion property: Location of the target Azure resource. A valid Azure region name supported - * by Cognitive Services. - * - * @return the targetResourceRegion value. - */ - public String getTargetResourceRegion() { - return this.targetResourceRegion; - } - - /** - * Set the targetResourceRegion property: Location of the target Azure resource. A valid Azure region name supported - * by Cognitive Services. - * - * @param targetResourceRegion the targetResourceRegion value to set. - * @return the CopyRequest object itself. - */ - public CopyRequest setTargetResourceRegion(String targetResourceRegion) { - this.targetResourceRegion = targetResourceRegion; - return this; - } - - /** - * Get the copyAuthorization property: Entity that encodes claims to authorize the copy request. - * - * @return the copyAuthorization value. - */ - public CopyAuthorizationResult getCopyAuthorization() { - return this.copyAuthorization; - } - - /** - * Set the copyAuthorization property: Entity that encodes claims to authorize the copy request. - * - * @param copyAuthorization the copyAuthorization value to set. - * @return the CopyRequest object itself. - */ - public CopyRequest setCopyAuthorization(CopyAuthorizationResult copyAuthorization) { - this.copyAuthorization = copyAuthorization; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyResult.java deleted file mode 100644 index 615cea51cefcd..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CopyResult.java +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.UUID; - -/** Custom model copy result. */ -@Fluent -public final class CopyResult { - /* - * Identifier of the target model. - */ - @JsonProperty(value = "modelId", required = true) - private UUID modelId; - - /* - * Errors returned during the copy operation. - */ - @JsonProperty(value = "errors") - private List errors; - - /** - * Get the modelId property: Identifier of the target model. - * - * @return the modelId value. - */ - public UUID getModelId() { - return this.modelId; - } - - /** - * Set the modelId property: Identifier of the target model. - * - * @param modelId the modelId value to set. - * @return the CopyResult object itself. - */ - public CopyResult setModelId(UUID modelId) { - this.modelId = modelId; - return this; - } - - /** - * Get the errors property: Errors returned during the copy operation. - * - * @return the errors value. - */ - public List getErrors() { - return this.errors; - } - - /** - * Set the errors property: Errors returned during the copy operation. - * - * @param errors the errors value to set. - * @return the CopyResult object itself. - */ - public CopyResult setErrors(List errors) { - this.errors = errors; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CustomDocumentModelsInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CustomDocumentModelsInfo.java new file mode 100644 index 0000000000000..38e27cc10ded7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/CustomDocumentModelsInfo.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Info regarding custom document models. */ +@Fluent +public final class CustomDocumentModelsInfo { + /* + * Number of custom models in the current resource. + */ + @JsonProperty(value = "count", required = true) + private int count; + + /* + * Maximum number of custom models supported in the current resource. + */ + @JsonProperty(value = "limit", required = true) + private int limit; + + /** + * Get the count property: Number of custom models in the current resource. + * + * @return the count value. + */ + public int getCount() { + return this.count; + } + + /** + * Set the count property: Number of custom models in the current resource. + * + * @param count the count value to set. + * @return the CustomDocumentModelsInfo object itself. + */ + public CustomDocumentModelsInfo setCount(int count) { + this.count = count; + return this; + } + + /** + * Get the limit property: Maximum number of custom models supported in the current resource. + * + * @return the limit value. + */ + public int getLimit() { + return this.limit; + } + + /** + * Set the limit property: Maximum number of custom models supported in the current resource. + * + * @param limit the limit value to set. + * @return the CustomDocumentModelsInfo object itself. + */ + public CustomDocumentModelsInfo setLimit(int limit) { + this.limit = limit; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTable.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTable.java deleted file mode 100644 index dee28b2e54124..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTable.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Information about the extracted table contained in a page. */ -@Fluent -public final class DataTable { - /* - * Number of rows. - */ - @JsonProperty(value = "rows", required = true) - private int rows; - - /* - * Number of columns. - */ - @JsonProperty(value = "columns", required = true) - private int columns; - - /* - * List of cells contained in the table. - */ - @JsonProperty(value = "cells", required = true) - private List cells; - - /* - * Bounding box of the table. - */ - @JsonProperty(value = "boundingBox", required = true) - private List boundingBox; - - /** - * Get the rows property: Number of rows. - * - * @return the rows value. - */ - public int getRows() { - return this.rows; - } - - /** - * Set the rows property: Number of rows. - * - * @param rows the rows value to set. - * @return the DataTable object itself. - */ - public DataTable setRows(int rows) { - this.rows = rows; - return this; - } - - /** - * Get the columns property: Number of columns. - * - * @return the columns value. - */ - public int getColumns() { - return this.columns; - } - - /** - * Set the columns property: Number of columns. - * - * @param columns the columns value to set. - * @return the DataTable object itself. - */ - public DataTable setColumns(int columns) { - this.columns = columns; - return this; - } - - /** - * Get the cells property: List of cells contained in the table. - * - * @return the cells value. - */ - public List getCells() { - return this.cells; - } - - /** - * Set the cells property: List of cells contained in the table. - * - * @param cells the cells value to set. - * @return the DataTable object itself. - */ - public DataTable setCells(List cells) { - this.cells = cells; - return this; - } - - /** - * Get the boundingBox property: Bounding box of the table. - * - * @return the boundingBox value. - */ - public List getBoundingBox() { - return this.boundingBox; - } - - /** - * Set the boundingBox property: Bounding box of the table. - * - * @param boundingBox the boundingBox value to set. - * @return the DataTable object itself. - */ - public DataTable setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTableCell.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTableCell.java deleted file mode 100644 index fd11423958bc8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DataTableCell.java +++ /dev/null @@ -1,276 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Information about the extracted cell in a table. */ -@Fluent -public final class DataTableCell { - /* - * Row index of the cell. - */ - @JsonProperty(value = "rowIndex", required = true) - private int rowIndex; - - /* - * Column index of the cell. - */ - @JsonProperty(value = "columnIndex", required = true) - private int columnIndex; - - /* - * Number of rows spanned by this cell. - */ - @JsonProperty(value = "rowSpan") - private Integer rowSpan; - - /* - * Number of columns spanned by this cell. - */ - @JsonProperty(value = "columnSpan") - private Integer columnSpan; - - /* - * Text content of the cell. - */ - @JsonProperty(value = "text", required = true) - private String text; - - /* - * Bounding box of the cell. - */ - @JsonProperty(value = "boundingBox", required = true) - private List boundingBox; - - /* - * Confidence value. - */ - @JsonProperty(value = "confidence", required = true) - private float confidence; - - /* - * When includeTextDetails is set to true, a list of references to the text - * elements constituting this table cell. - */ - @JsonProperty(value = "elements") - private List elements; - - /* - * Is the current cell a header cell? - */ - @JsonProperty(value = "isHeader") - private Boolean isHeader; - - /* - * Is the current cell a footer cell? - */ - @JsonProperty(value = "isFooter") - private Boolean isFooter; - - /** - * Get the rowIndex property: Row index of the cell. - * - * @return the rowIndex value. - */ - public int getRowIndex() { - return this.rowIndex; - } - - /** - * Set the rowIndex property: Row index of the cell. - * - * @param rowIndex the rowIndex value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setRowIndex(int rowIndex) { - this.rowIndex = rowIndex; - return this; - } - - /** - * Get the columnIndex property: Column index of the cell. - * - * @return the columnIndex value. - */ - public int getColumnIndex() { - return this.columnIndex; - } - - /** - * Set the columnIndex property: Column index of the cell. - * - * @param columnIndex the columnIndex value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setColumnIndex(int columnIndex) { - this.columnIndex = columnIndex; - return this; - } - - /** - * Get the rowSpan property: Number of rows spanned by this cell. - * - * @return the rowSpan value. - */ - public Integer getRowSpan() { - return this.rowSpan; - } - - /** - * Set the rowSpan property: Number of rows spanned by this cell. - * - * @param rowSpan the rowSpan value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setRowSpan(Integer rowSpan) { - this.rowSpan = rowSpan; - return this; - } - - /** - * Get the columnSpan property: Number of columns spanned by this cell. - * - * @return the columnSpan value. - */ - public Integer getColumnSpan() { - return this.columnSpan; - } - - /** - * Set the columnSpan property: Number of columns spanned by this cell. - * - * @param columnSpan the columnSpan value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setColumnSpan(Integer columnSpan) { - this.columnSpan = columnSpan; - return this; - } - - /** - * Get the text property: Text content of the cell. - * - * @return the text value. - */ - public String getText() { - return this.text; - } - - /** - * Set the text property: Text content of the cell. - * - * @param text the text value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setText(String text) { - this.text = text; - return this; - } - - /** - * Get the boundingBox property: Bounding box of the cell. - * - * @return the boundingBox value. - */ - public List getBoundingBox() { - return this.boundingBox; - } - - /** - * Set the boundingBox property: Bounding box of the cell. - * - * @param boundingBox the boundingBox value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; - return this; - } - - /** - * Get the confidence property: Confidence value. - * - * @return the confidence value. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * Set the confidence property: Confidence value. - * - * @param confidence the confidence value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setConfidence(float confidence) { - this.confidence = confidence; - return this; - } - - /** - * Get the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this table cell. - * - * @return the elements value. - */ - public List getElements() { - return this.elements; - } - - /** - * Set the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this table cell. - * - * @param elements the elements value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setElements(List elements) { - this.elements = elements; - return this; - } - - /** - * Get the isHeader property: Is the current cell a header cell?. - * - * @return the isHeader value. - */ - public Boolean isHeader() { - return this.isHeader; - } - - /** - * Set the isHeader property: Is the current cell a header cell?. - * - * @param isHeader the isHeader value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setIsHeader(Boolean isHeader) { - this.isHeader = isHeader; - return this; - } - - /** - * Get the isFooter property: Is the current cell a footer cell?. - * - * @return the isFooter value. - */ - public Boolean isFooter() { - return this.isFooter; - } - - /** - * Set the isFooter property: Is the current cell a footer cell?. - * - * @param isFooter the isFooter value to set. - * @return the DataTableCell object itself. - */ - public DataTableCell setIsFooter(Boolean isFooter) { - this.isFooter = isFooter; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocTypeInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocTypeInfo.java new file mode 100644 index 0000000000000..82957c779f7d8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocTypeInfo.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Document type info. */ +@Fluent +public final class DocTypeInfo { + /* + * Model description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * Description of the document semantic schema using a JSON Schema style + * syntax. + */ + @JsonProperty(value = "fieldSchema", required = true) + private Map fieldSchema; + + /* + * Estimated confidence for each field. + */ + @JsonProperty(value = "fieldConfidence") + private Map fieldConfidence; + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the DocTypeInfo object itself. + */ + public DocTypeInfo setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the fieldSchema property: Description of the document semantic schema using a JSON Schema style syntax. + * + * @return the fieldSchema value. + */ + public Map getFieldSchema() { + return this.fieldSchema; + } + + /** + * Set the fieldSchema property: Description of the document semantic schema using a JSON Schema style syntax. + * + * @param fieldSchema the fieldSchema value to set. + * @return the DocTypeInfo object itself. + */ + public DocTypeInfo setFieldSchema(Map fieldSchema) { + this.fieldSchema = fieldSchema; + return this; + } + + /** + * Get the fieldConfidence property: Estimated confidence for each field. + * + * @return the fieldConfidence value. + */ + public Map getFieldConfidence() { + return this.fieldConfidence; + } + + /** + * Set the fieldConfidence property: Estimated confidence for each field. + * + * @param fieldConfidence the fieldConfidence value to set. + * @return the DocTypeInfo object itself. + */ + public DocTypeInfo setFieldConfidence(Map fieldConfidence) { + this.fieldConfidence = fieldConfidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Document.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Document.java new file mode 100644 index 0000000000000..73dbf582f513a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Document.java @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** An object describing the location and semantic content of a document. */ +@Fluent +public final class Document { + /* + * Document type. + */ + @JsonProperty(value = "docType", required = true) + private String docType; + + /* + * Bounding regions covering the document. + */ + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the document in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /* + * Dictionary of named field values. + */ + @JsonProperty(value = "fields", required = true) + private Map fields; + + /* + * Confidence of correctly extracting the document. + */ + @JsonProperty(value = "confidence", required = true) + private float confidence; + + /** + * Get the docType property: Document type. + * + * @return the docType value. + */ + public String getDocType() { + return this.docType; + } + + /** + * Set the docType property: Document type. + * + * @param docType the docType value to set. + * @return the Document object itself. + */ + public Document setDocType(String docType) { + this.docType = docType; + return this; + } + + /** + * Get the boundingRegions property: Bounding regions covering the document. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the document. + * + * @param boundingRegions the boundingRegions value to set. + * @return the Document object itself. + */ + public Document setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + return this; + } + + /** + * Get the spans property: Location of the document in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the document in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the Document object itself. + */ + public Document setSpans(List spans) { + this.spans = spans; + return this; + } + + /** + * Get the fields property: Dictionary of named field values. + * + * @return the fields value. + */ + public Map getFields() { + return this.fields; + } + + /** + * Set the fields property: Dictionary of named field values. + * + * @param fields the fields value to set. + * @return the Document object itself. + */ + public Document setFields(Map fields) { + this.fields = fields; + return this; + } + + /** + * Get the confidence property: Confidence of correctly extracting the document. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the document. + * + * @param confidence the confidence value to set. + * @return the Document object itself. + */ + public Document setConfidence(float confidence) { + this.confidence = confidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentEntity.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentEntity.java new file mode 100644 index 0000000000000..84ea97486bab1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentEntity.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing various categories of entities. */ +@Fluent +public final class DocumentEntity { + /* + * Entity type. + */ + @JsonProperty(value = "category", required = true) + private String category; + + /* + * Entity sub type. + */ + @JsonProperty(value = "subCategory") + private String subCategory; + + /* + * Entity content. + */ + @JsonProperty(value = "content", required = true) + private String content; + + /* + * Bounding regions covering the entity. + */ + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the entity in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /* + * Confidence of correctly extracting the entity. + */ + @JsonProperty(value = "confidence", required = true) + private float confidence; + + /** + * Get the category property: Entity type. + * + * @return the category value. + */ + public String getCategory() { + return this.category; + } + + /** + * Set the category property: Entity type. + * + * @param category the category value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setCategory(String category) { + this.category = category; + return this; + } + + /** + * Get the subCategory property: Entity sub type. + * + * @return the subCategory value. + */ + public String getSubCategory() { + return this.subCategory; + } + + /** + * Set the subCategory property: Entity sub type. + * + * @param subCategory the subCategory value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setSubCategory(String subCategory) { + this.subCategory = subCategory; + return this; + } + + /** + * Get the content property: Entity content. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Entity content. + * + * @param content the content value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the boundingRegions property: Bounding regions covering the entity. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the entity. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + return this; + } + + /** + * Get the spans property: Location of the entity in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the entity in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setSpans(List spans) { + this.spans = spans; + return this; + } + + /** + * Get the confidence property: Confidence of correctly extracting the entity. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the entity. + * + * @param confidence the confidence value to set. + * @return the DocumentEntity object itself. + */ + public DocumentEntity setConfidence(float confidence) { + this.confidence = confidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValue.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentField.java similarity index 52% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValue.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentField.java index 20b4aebaa55c7..aee43bb23eac5 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValue.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentField.java @@ -10,14 +10,14 @@ import java.util.List; import java.util.Map; -/** Recognized field value. */ +/** An object representing the content and location of a field value. */ @Fluent -public final class FieldValue { +public final class DocumentField { /* - * Type of field value. + * Data type of the field value. */ @JsonProperty(value = "type", required = true) - private FieldValueType type; + private DocumentFieldType type; /* * String value. @@ -26,19 +26,19 @@ public final class FieldValue { private String valueString; /* - * Date value. + * Date value in YYYY-MM-DD format (ISO 8601). */ @JsonProperty(value = "valueDate") private LocalDate valueDate; /* - * Time value. + * Time value in hh:mm:ss format (ISO 8601). */ @JsonProperty(value = "valueTime") private String valueTime; /* - * Phone number value. + * Phone number value in E.164 format (ex. +19876543210). */ @JsonProperty(value = "valuePhoneNumber") private String valuePhoneNumber; @@ -53,79 +53,78 @@ public final class FieldValue { * Integer value. */ @JsonProperty(value = "valueInteger") - private Integer valueInteger; + private Long valueInteger; /* - * Array of field values. + * Selection mark value. */ - @JsonProperty(value = "valueArray") - private List valueArray; + @JsonProperty(value = "valueSelectionMark") + private SelectionMarkState valueSelectionMark; /* - * Dictionary of named field values. + * Presence of signature. */ - @JsonProperty(value = "valueObject") - private Map valueObject; + @JsonProperty(value = "valueSignature") + private DocumentSignatureType valueSignature; /* - * Selection mark value. + * 3-letter country code value (ISO 3166-1 alpha-3). */ - @JsonProperty(value = "valueSelectionMark") - private FieldValueSelectionMark valueSelectionMark; + @JsonProperty(value = "valueCountryRegion") + private String valueCountryRegion; /* - * 3-letter country code (ISO 3166-1 alpha-3). + * Array of field values. */ - @JsonProperty(value = "valueCountryRegion") - private String valueCountryRegion; + @JsonProperty(value = "valueArray") + private List valueArray; /* - * Text content of the extracted field. + * Dictionary of named field values. */ - @JsonProperty(value = "text") - private String text; + @JsonProperty(value = "valueObject") + private Map valueObject; /* - * Bounding box of the field value, if appropriate. + * Field content. */ - @JsonProperty(value = "boundingBox") - private List boundingBox; + @JsonProperty(value = "content") + private String content; /* - * Confidence score. + * Bounding regions covering the field. */ - @JsonProperty(value = "confidence") - private Float confidence; + @JsonProperty(value = "boundingRegions") + private List boundingRegions; /* - * When includeTextDetails is set to true, a list of references to the text - * elements constituting this field. + * Location of the field in the reading order concatenated content. */ - @JsonProperty(value = "elements") - private List elements; + @JsonProperty(value = "spans") + private List spans; /* - * The 1-based page number in the input document. + * Confidence of correctly extracting the field. */ - @JsonProperty(value = "page") - private Integer page; + @JsonProperty(value = "confidence") + private Float confidence; /** - * Get the type property: Type of field value. + * Get the type property: Data type of the field value. * * @return the type value. */ - public FieldValueType getType() { + public DocumentFieldType getType() { return this.type; } /** - * Set the type property: Type of field value. + * Set the type property: Data type of the field value. * * @param type the type value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setType(FieldValueType type) { + public DocumentField setType(DocumentFieldType type) { this.type = type; return this; } @@ -143,15 +142,15 @@ public String getValueString() { * Set the valueString property: String value. * * @param valueString the valueString value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValueString(String valueString) { + public DocumentField setValueString(String valueString) { this.valueString = valueString; return this; } /** - * Get the valueDate property: Date value. + * Get the valueDate property: Date value in YYYY-MM-DD format (ISO 8601). * * @return the valueDate value. */ @@ -160,18 +159,18 @@ public LocalDate getValueDate() { } /** - * Set the valueDate property: Date value. + * Set the valueDate property: Date value in YYYY-MM-DD format (ISO 8601). * * @param valueDate the valueDate value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValueDate(LocalDate valueDate) { + public DocumentField setValueDate(LocalDate valueDate) { this.valueDate = valueDate; return this; } /** - * Get the valueTime property: Time value. + * Get the valueTime property: Time value in hh:mm:ss format (ISO 8601). * * @return the valueTime value. */ @@ -180,18 +179,18 @@ public String getValueTime() { } /** - * Set the valueTime property: Time value. + * Set the valueTime property: Time value in hh:mm:ss format (ISO 8601). * * @param valueTime the valueTime value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValueTime(String valueTime) { + public DocumentField setValueTime(String valueTime) { this.valueTime = valueTime; return this; } /** - * Get the valuePhoneNumber property: Phone number value. + * Get the valuePhoneNumber property: Phone number value in E.164 format (ex. +19876543210). * * @return the valuePhoneNumber value. */ @@ -200,12 +199,12 @@ public String getValuePhoneNumber() { } /** - * Set the valuePhoneNumber property: Phone number value. + * Set the valuePhoneNumber property: Phone number value in E.164 format (ex. +19876543210). * * @param valuePhoneNumber the valuePhoneNumber value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValuePhoneNumber(String valuePhoneNumber) { + public DocumentField setValuePhoneNumber(String valuePhoneNumber) { this.valuePhoneNumber = valuePhoneNumber; return this; } @@ -223,9 +222,9 @@ public Float getValueNumber() { * Set the valueNumber property: Floating point value. * * @param valueNumber the valueNumber value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValueNumber(Float valueNumber) { + public DocumentField setValueNumber(Float valueNumber) { this.valueNumber = valueNumber; return this; } @@ -235,7 +234,7 @@ public FieldValue setValueNumber(Float valueNumber) { * * @return the valueInteger value. */ - public Integer getValueInteger() { + public Long getValueInteger() { return this.valueInteger; } @@ -243,192 +242,190 @@ public Integer getValueInteger() { * Set the valueInteger property: Integer value. * * @param valueInteger the valueInteger value to set. - * @return the FieldValue object itself. + * @return the DocumentField object itself. */ - public FieldValue setValueInteger(Integer valueInteger) { + public DocumentField setValueInteger(Long valueInteger) { this.valueInteger = valueInteger; return this; } /** - * Get the valueArray property: Array of field values. + * Get the valueSelectionMark property: Selection mark value. * - * @return the valueArray value. + * @return the valueSelectionMark value. */ - public List getValueArray() { - return this.valueArray; + public SelectionMarkState getValueSelectionMark() { + return this.valueSelectionMark; } /** - * Set the valueArray property: Array of field values. + * Set the valueSelectionMark property: Selection mark value. * - * @param valueArray the valueArray value to set. - * @return the FieldValue object itself. + * @param valueSelectionMark the valueSelectionMark value to set. + * @return the DocumentField object itself. */ - public FieldValue setValueArray(List valueArray) { - this.valueArray = valueArray; + public DocumentField setValueSelectionMark(SelectionMarkState valueSelectionMark) { + this.valueSelectionMark = valueSelectionMark; return this; } /** - * Get the valueObject property: Dictionary of named field values. + * Get the valueSignature property: Presence of signature. * - * @return the valueObject value. + * @return the valueSignature value. */ - public Map getValueObject() { - return this.valueObject; + public DocumentSignatureType getValueSignature() { + return this.valueSignature; } /** - * Set the valueObject property: Dictionary of named field values. + * Set the valueSignature property: Presence of signature. * - * @param valueObject the valueObject value to set. - * @return the FieldValue object itself. + * @param valueSignature the valueSignature value to set. + * @return the DocumentField object itself. */ - public FieldValue setValueObject(Map valueObject) { - this.valueObject = valueObject; + public DocumentField setValueSignature(DocumentSignatureType valueSignature) { + this.valueSignature = valueSignature; return this; } /** - * Get the valueSelectionMark property: Selection mark value. + * Get the valueCountryRegion property: 3-letter country code value (ISO 3166-1 alpha-3). * - * @return the valueSelectionMark value. + * @return the valueCountryRegion value. */ - public FieldValueSelectionMark getValueSelectionMark() { - return this.valueSelectionMark; + public String getValueCountryRegion() { + return this.valueCountryRegion; } /** - * Set the valueSelectionMark property: Selection mark value. + * Set the valueCountryRegion property: 3-letter country code value (ISO 3166-1 alpha-3). * - * @param valueSelectionMark the valueSelectionMark value to set. - * @return the FieldValue object itself. + * @param valueCountryRegion the valueCountryRegion value to set. + * @return the DocumentField object itself. */ - public FieldValue setValueSelectionMark(FieldValueSelectionMark valueSelectionMark) { - this.valueSelectionMark = valueSelectionMark; + public DocumentField setValueCountryRegion(String valueCountryRegion) { + this.valueCountryRegion = valueCountryRegion; return this; } /** - * Get the valueCountryRegion property: 3-letter country code (ISO 3166-1 alpha-3). + * Get the valueArray property: Array of field values. * - * @return the valueCountryRegion value. + * @return the valueArray value. */ - public String getValueCountryRegion() { - return this.valueCountryRegion; + public List getValueArray() { + return this.valueArray; } /** - * Set the valueCountryRegion property: 3-letter country code (ISO 3166-1 alpha-3). + * Set the valueArray property: Array of field values. * - * @param valueCountryRegion the valueCountryRegion value to set. - * @return the FieldValue object itself. + * @param valueArray the valueArray value to set. + * @return the DocumentField object itself. */ - public FieldValue setValueCountryRegion(String valueCountryRegion) { - this.valueCountryRegion = valueCountryRegion; + public DocumentField setValueArray(List valueArray) { + this.valueArray = valueArray; return this; } /** - * Get the text property: Text content of the extracted field. + * Get the valueObject property: Dictionary of named field values. * - * @return the text value. + * @return the valueObject value. */ - public String getText() { - return this.text; + public Map getValueObject() { + return this.valueObject; } /** - * Set the text property: Text content of the extracted field. + * Set the valueObject property: Dictionary of named field values. * - * @param text the text value to set. - * @return the FieldValue object itself. + * @param valueObject the valueObject value to set. + * @return the DocumentField object itself. */ - public FieldValue setText(String text) { - this.text = text; + public DocumentField setValueObject(Map valueObject) { + this.valueObject = valueObject; return this; } /** - * Get the boundingBox property: Bounding box of the field value, if appropriate. + * Get the content property: Field content. * - * @return the boundingBox value. + * @return the content value. */ - public List getBoundingBox() { - return this.boundingBox; + public String getContent() { + return this.content; } /** - * Set the boundingBox property: Bounding box of the field value, if appropriate. + * Set the content property: Field content. * - * @param boundingBox the boundingBox value to set. - * @return the FieldValue object itself. + * @param content the content value to set. + * @return the DocumentField object itself. */ - public FieldValue setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; + public DocumentField setContent(String content) { + this.content = content; return this; } /** - * Get the confidence property: Confidence score. + * Get the boundingRegions property: Bounding regions covering the field. * - * @return the confidence value. + * @return the boundingRegions value. */ - public Float getConfidence() { - return this.confidence; + public List getBoundingRegions() { + return this.boundingRegions; } /** - * Set the confidence property: Confidence score. + * Set the boundingRegions property: Bounding regions covering the field. * - * @param confidence the confidence value to set. - * @return the FieldValue object itself. + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentField object itself. */ - public FieldValue setConfidence(Float confidence) { - this.confidence = confidence; + public DocumentField setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; return this; } /** - * Get the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this field. + * Get the spans property: Location of the field in the reading order concatenated content. * - * @return the elements value. + * @return the spans value. */ - public List getElements() { - return this.elements; + public List getSpans() { + return this.spans; } /** - * Set the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this field. + * Set the spans property: Location of the field in the reading order concatenated content. * - * @param elements the elements value to set. - * @return the FieldValue object itself. + * @param spans the spans value to set. + * @return the DocumentField object itself. */ - public FieldValue setElements(List elements) { - this.elements = elements; + public DocumentField setSpans(List spans) { + this.spans = spans; return this; } /** - * Get the page property: The 1-based page number in the input document. + * Get the confidence property: Confidence of correctly extracting the field. * - * @return the page value. + * @return the confidence value. */ - public Integer getPage() { - return this.page; + public Float getConfidence() { + return this.confidence; } /** - * Set the page property: The 1-based page number in the input document. + * Set the confidence property: Confidence of correctly extracting the field. * - * @param page the page value to set. - * @return the FieldValue object itself. + * @param confidence the confidence value to set. + * @return the DocumentField object itself. */ - public FieldValue setPage(Integer page) { - this.page = page; + public DocumentField setConfidence(Float confidence) { + this.confidence = confidence; return this; } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldSchema.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldSchema.java new file mode 100644 index 0000000000000..53a2fd9bca9a5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldSchema.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Description of the field semantic schema using a JSON Schema style syntax. */ +@Fluent +public final class DocumentFieldSchema { + /* + * Semantic data type of the field value. + */ + @JsonProperty(value = "type", required = true) + private DocumentFieldType type; + + /* + * Field description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * Example field content. + */ + @JsonProperty(value = "example") + private String example; + + /* + * Field type schema of each array element. + */ + @JsonProperty(value = "items") + private DocumentFieldSchema items; + + /* + * Named sub-fields of the object field. + */ + @JsonProperty(value = "properties") + private Map properties; + + /** + * Get the type property: Semantic data type of the field value. + * + * @return the type value. + */ + public DocumentFieldType getType() { + return this.type; + } + + /** + * Set the type property: Semantic data type of the field value. + * + * @param type the type value to set. + * @return the DocumentFieldSchema object itself. + */ + public DocumentFieldSchema setType(DocumentFieldType type) { + this.type = type; + return this; + } + + /** + * Get the description property: Field description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Field description. + * + * @param description the description value to set. + * @return the DocumentFieldSchema object itself. + */ + public DocumentFieldSchema setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the example property: Example field content. + * + * @return the example value. + */ + public String getExample() { + return this.example; + } + + /** + * Set the example property: Example field content. + * + * @param example the example value to set. + * @return the DocumentFieldSchema object itself. + */ + public DocumentFieldSchema setExample(String example) { + this.example = example; + return this; + } + + /** + * Get the items property: Field type schema of each array element. + * + * @return the items value. + */ + public DocumentFieldSchema getItems() { + return this.items; + } + + /** + * Set the items property: Field type schema of each array element. + * + * @param items the items value to set. + * @return the DocumentFieldSchema object itself. + */ + public DocumentFieldSchema setItems(DocumentFieldSchema items) { + this.items = items; + return this; + } + + /** + * Get the properties property: Named sub-fields of the object field. + * + * @return the properties value. + */ + public Map getProperties() { + return this.properties; + } + + /** + * Set the properties property: Named sub-fields of the object field. + * + * @param properties the properties value to set. + * @return the DocumentFieldSchema object itself. + */ + public DocumentFieldSchema setProperties(Map properties) { + this.properties = properties; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldType.java new file mode 100644 index 0000000000000..a14c44291fef1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentFieldType.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DocumentFieldType. */ +public final class DocumentFieldType extends ExpandableStringEnum { + /** Static value string for DocumentFieldType. */ + public static final DocumentFieldType STRING = fromString("string"); + + /** Static value date for DocumentFieldType. */ + public static final DocumentFieldType DATE = fromString("date"); + + /** Static value time for DocumentFieldType. */ + public static final DocumentFieldType TIME = fromString("time"); + + /** Static value phoneNumber for DocumentFieldType. */ + public static final DocumentFieldType PHONE_NUMBER = fromString("phoneNumber"); + + /** Static value number for DocumentFieldType. */ + public static final DocumentFieldType NUMBER = fromString("number"); + + /** Static value integer for DocumentFieldType. */ + public static final DocumentFieldType INTEGER = fromString("integer"); + + /** Static value selectionMark for DocumentFieldType. */ + public static final DocumentFieldType SELECTION_MARK = fromString("selectionMark"); + + /** Static value countryRegion for DocumentFieldType. */ + public static final DocumentFieldType COUNTRY_REGION = fromString("countryRegion"); + + /** Static value signature for DocumentFieldType. */ + public static final DocumentFieldType SIGNATURE = fromString("signature"); + + /** Static value array for DocumentFieldType. */ + public static final DocumentFieldType ARRAY = fromString("array"); + + /** Static value object for DocumentFieldType. */ + public static final DocumentFieldType OBJECT = fromString("object"); + + /** + * Creates or finds a DocumentFieldType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentFieldType. + */ + @JsonCreator + public static DocumentFieldType fromString(String name) { + return fromString(name, DocumentFieldType.class); + } + + /** @return known DocumentFieldType values. */ + public static Collection values() { + return values(DocumentFieldType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValueElement.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValueElement.java new file mode 100644 index 0000000000000..c68836a86de5e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValueElement.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing the field key or value in a key-value pair. */ +@Fluent +public final class DocumentKeyValueElement { + /* + * Concatenated content of the key-value element in reading order. + */ + @JsonProperty(value = "content", required = true) + private String content; + + /* + * Bounding regions covering the key-value element. + */ + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the key-value element in the reading order concatenated + * content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /** + * Get the content property: Concatenated content of the key-value element in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the key-value element in reading order. + * + * @param content the content value to set. + * @return the DocumentKeyValueElement object itself. + */ + public DocumentKeyValueElement setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the boundingRegions property: Bounding regions covering the key-value element. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the key-value element. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentKeyValueElement object itself. + */ + public DocumentKeyValueElement setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + return this; + } + + /** + * Get the spans property: Location of the key-value element in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the key-value element in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentKeyValueElement object itself. + */ + public DocumentKeyValueElement setSpans(List spans) { + this.spans = spans; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValuePair.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValuePair.java new file mode 100644 index 0000000000000..6fec46ee90c73 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentKeyValuePair.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** An object representing a form field with distinct field label (key) and field value (may be empty). */ +@Fluent +public final class DocumentKeyValuePair { + /* + * Field label of the key-value pair. + */ + @JsonProperty(value = "key", required = true) + private DocumentKeyValueElement key; + + /* + * Field value of the key-value pair. + */ + @JsonProperty(value = "value") + private DocumentKeyValueElement value; + + /* + * Confidence of correctly extracting the key-value pair. + */ + @JsonProperty(value = "confidence", required = true) + private float confidence; + + /** + * Get the key property: Field label of the key-value pair. + * + * @return the key value. + */ + public DocumentKeyValueElement getKey() { + return this.key; + } + + /** + * Set the key property: Field label of the key-value pair. + * + * @param key the key value to set. + * @return the DocumentKeyValuePair object itself. + */ + public DocumentKeyValuePair setKey(DocumentKeyValueElement key) { + this.key = key; + return this; + } + + /** + * Get the value property: Field value of the key-value pair. + * + * @return the value value. + */ + public DocumentKeyValueElement getValue() { + return this.value; + } + + /** + * Set the value property: Field value of the key-value pair. + * + * @param value the value value to set. + * @return the DocumentKeyValuePair object itself. + */ + public DocumentKeyValuePair setValue(DocumentKeyValueElement value) { + this.value = value; + return this; + } + + /** + * Get the confidence property: Confidence of correctly extracting the key-value pair. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the key-value pair. + * + * @param confidence the confidence value to set. + * @return the DocumentKeyValuePair object itself. + */ + public DocumentKeyValuePair setConfidence(float confidence) { + this.confidence = confidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentLine.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentLine.java new file mode 100644 index 0000000000000..bdf1ee8b30e4a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentLine.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A content line object consisting of an adjacent sequence of content elements, such as words and selection marks. */ +@Fluent +public final class DocumentLine { + /* + * Concatenated content of the contained elements in reading order. + */ + @JsonProperty(value = "content", required = true) + private String content; + + /* + * Bounding box of the line. + */ + @JsonProperty(value = "boundingBox") + private List boundingBox; + + /* + * Location of the line in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /** + * Get the content property: Concatenated content of the contained elements in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the contained elements in reading order. + * + * @param content the content value to set. + * @return the DocumentLine object itself. + */ + public DocumentLine setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the boundingBox property: Bounding box of the line. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box of the line. + * + * @param boundingBox the boundingBox value to set. + * @return the DocumentLine object itself. + */ + public DocumentLine setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + return this; + } + + /** + * Get the spans property: Location of the line in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the line in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentLine object itself. + */ + public DocumentLine setSpans(List spans) { + this.spans = spans; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentModelBuildTechnique.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentModelBuildTechnique.java new file mode 100644 index 0000000000000..56192953e872a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentModelBuildTechnique.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DocumentModelBuildTechnique. */ +public final class DocumentModelBuildTechnique extends ExpandableStringEnum { + /** Static value fixedTemplate-2021-07-30 for DocumentModelBuildTechnique. */ + public static final DocumentModelBuildTechnique FIXED_TEMPLATE20210730 = fromString("fixedTemplate-2021-07-30"); + + /** + * Creates or finds a DocumentModelBuildTechnique from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentModelBuildTechnique. + */ + @JsonCreator + public static DocumentModelBuildTechnique fromString(String name) { + return fromString(name, DocumentModelBuildTechnique.class); + } + + /** @return known DocumentModelBuildTechnique values. */ + public static Collection values() { + return values(DocumentModelBuildTechnique.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentPage.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentPage.java new file mode 100644 index 0000000000000..ab94017f3e5c0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentPage.java @@ -0,0 +1,254 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Content and layout elements extracted from a page from the input. */ +@Fluent +public final class DocumentPage { + /* + * 1-based page number in the input document. + */ + @JsonProperty(value = "pageNumber", required = true) + private int pageNumber; + + /* + * The general orientation of the content in clockwise direction, measured + * in degrees between (-180, 180]. + */ + @JsonProperty(value = "angle", required = true) + private float angle; + + /* + * The width of the image/PDF in pixels/inches, respectively. + */ + @JsonProperty(value = "width", required = true) + private float width; + + /* + * The height of the image/PDF in pixels/inches, respectively. + */ + @JsonProperty(value = "height", required = true) + private float height; + + /* + * The unit used by the width, height, and boundingBox properties. For + * images, the unit is "pixel". For PDF, the unit is "inch". + */ + @JsonProperty(value = "unit", required = true) + private LengthUnit unit; + + /* + * Location of the page in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /* + * Extracted words from the page. + */ + @JsonProperty(value = "words", required = true) + private List words; + + /* + * Extracted selection marks from the page. + */ + @JsonProperty(value = "selectionMarks") + private List selectionMarks; + + /* + * Extracted lines from the page, potentially containing both textual and + * visual elements. + */ + @JsonProperty(value = "lines", required = true) + private List lines; + + /** + * Get the pageNumber property: 1-based page number in the input document. + * + * @return the pageNumber value. + */ + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Set the pageNumber property: 1-based page number in the input document. + * + * @param pageNumber the pageNumber value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + return this; + } + + /** + * Get the angle property: The general orientation of the content in clockwise direction, measured in degrees + * between (-180, 180]. + * + * @return the angle value. + */ + public float getAngle() { + return this.angle; + } + + /** + * Set the angle property: The general orientation of the content in clockwise direction, measured in degrees + * between (-180, 180]. + * + * @param angle the angle value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setAngle(float angle) { + this.angle = angle; + return this; + } + + /** + * Get the width property: The width of the image/PDF in pixels/inches, respectively. + * + * @return the width value. + */ + public float getWidth() { + return this.width; + } + + /** + * Set the width property: The width of the image/PDF in pixels/inches, respectively. + * + * @param width the width value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setWidth(float width) { + this.width = width; + return this; + } + + /** + * Get the height property: The height of the image/PDF in pixels/inches, respectively. + * + * @return the height value. + */ + public float getHeight() { + return this.height; + } + + /** + * Set the height property: The height of the image/PDF in pixels/inches, respectively. + * + * @param height the height value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setHeight(float height) { + this.height = height; + return this; + } + + /** + * Get the unit property: The unit used by the width, height, and boundingBox properties. For images, the unit is + * "pixel". For PDF, the unit is "inch". + * + * @return the unit value. + */ + public LengthUnit getUnit() { + return this.unit; + } + + /** + * Set the unit property: The unit used by the width, height, and boundingBox properties. For images, the unit is + * "pixel". For PDF, the unit is "inch". + * + * @param unit the unit value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setUnit(LengthUnit unit) { + this.unit = unit; + return this; + } + + /** + * Get the spans property: Location of the page in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the page in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setSpans(List spans) { + this.spans = spans; + return this; + } + + /** + * Get the words property: Extracted words from the page. + * + * @return the words value. + */ + public List getWords() { + return this.words; + } + + /** + * Set the words property: Extracted words from the page. + * + * @param words the words value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setWords(List words) { + this.words = words; + return this; + } + + /** + * Get the selectionMarks property: Extracted selection marks from the page. + * + * @return the selectionMarks value. + */ + public List getSelectionMarks() { + return this.selectionMarks; + } + + /** + * Set the selectionMarks property: Extracted selection marks from the page. + * + * @param selectionMarks the selectionMarks value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setSelectionMarks(List selectionMarks) { + this.selectionMarks = selectionMarks; + return this; + } + + /** + * Get the lines property: Extracted lines from the page, potentially containing both textual and visual elements. + * + * @return the lines value. + */ + public List getLines() { + return this.lines; + } + + /** + * Set the lines property: Extracted lines from the page, potentially containing both textual and visual elements. + * + * @param lines the lines value to set. + * @return the DocumentPage object itself. + */ + public DocumentPage setLines(List lines) { + this.lines = lines; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentResult.java deleted file mode 100644 index 4dab59463e656..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentResult.java +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -/** A set of extracted fields corresponding to the input document. */ -@Fluent -public final class DocumentResult { - /* - * Document type. - */ - @JsonProperty(value = "docType", required = true) - private String docType; - - /* - * Model identifier. - */ - @JsonProperty(value = "modelId") - private UUID modelId; - - /* - * First and last page number where the document is found. - */ - @JsonProperty(value = "pageRange", required = true) - private List pageRange; - - /* - * Predicted document type confidence. - */ - @JsonProperty(value = "docTypeConfidence") - private Float docTypeConfidence; - - /* - * Dictionary of named field values. - */ - @JsonProperty(value = "fields", required = true) - private Map fields; - - /** - * Get the docType property: Document type. - * - * @return the docType value. - */ - public String getDocType() { - return this.docType; - } - - /** - * Set the docType property: Document type. - * - * @param docType the docType value to set. - * @return the DocumentResult object itself. - */ - public DocumentResult setDocType(String docType) { - this.docType = docType; - return this; - } - - /** - * Get the modelId property: Model identifier. - * - * @return the modelId value. - */ - public UUID getModelId() { - return this.modelId; - } - - /** - * Set the modelId property: Model identifier. - * - * @param modelId the modelId value to set. - * @return the DocumentResult object itself. - */ - public DocumentResult setModelId(UUID modelId) { - this.modelId = modelId; - return this; - } - - /** - * Get the pageRange property: First and last page number where the document is found. - * - * @return the pageRange value. - */ - public List getPageRange() { - return this.pageRange; - } - - /** - * Set the pageRange property: First and last page number where the document is found. - * - * @param pageRange the pageRange value to set. - * @return the DocumentResult object itself. - */ - public DocumentResult setPageRange(List pageRange) { - this.pageRange = pageRange; - return this; - } - - /** - * Get the docTypeConfidence property: Predicted document type confidence. - * - * @return the docTypeConfidence value. - */ - public Float getDocTypeConfidence() { - return this.docTypeConfidence; - } - - /** - * Set the docTypeConfidence property: Predicted document type confidence. - * - * @param docTypeConfidence the docTypeConfidence value to set. - * @return the DocumentResult object itself. - */ - public DocumentResult setDocTypeConfidence(Float docTypeConfidence) { - this.docTypeConfidence = docTypeConfidence; - return this; - } - - /** - * Get the fields property: Dictionary of named field values. - * - * @return the fields value. - */ - public Map getFields() { - return this.fields; - } - - /** - * Set the fields property: Dictionary of named field values. - * - * @param fields the fields value to set. - * @return the DocumentResult object itself. - */ - public DocumentResult setFields(Map fields) { - this.fields = fields; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SelectionMark.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSelectionMark.java similarity index 53% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SelectionMark.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSelectionMark.java index b871736bb758a..e666ec4b64a78 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SelectionMark.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSelectionMark.java @@ -8,26 +8,53 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** Information about the extracted selection mark. */ +/** A selection mark object representing check boxes, radio buttons, and other elements indicating a selection. */ @Fluent -public final class SelectionMark { +public final class DocumentSelectionMark { + /* + * State of the selection mark. + */ + @JsonProperty(value = "state", required = true) + private SelectionMarkState state; + /* * Bounding box of the selection mark. */ - @JsonProperty(value = "boundingBox", required = true) + @JsonProperty(value = "boundingBox") private List boundingBox; /* - * Confidence value. + * Location of the selection mark in the reading order concatenated + * content. + */ + @JsonProperty(value = "span", required = true) + private DocumentSpan span; + + /* + * Confidence of correctly extracting the selection mark. */ @JsonProperty(value = "confidence", required = true) private float confidence; - /* - * State of the selection mark. + /** + * Get the state property: State of the selection mark. + * + * @return the state value. */ - @JsonProperty(value = "state", required = true) - private SelectionMarkState state; + public SelectionMarkState getState() { + return this.state; + } + + /** + * Set the state property: State of the selection mark. + * + * @param state the state value to set. + * @return the DocumentSelectionMark object itself. + */ + public DocumentSelectionMark setState(SelectionMarkState state) { + this.state = state; + return this; + } /** * Get the boundingBox property: Bounding box of the selection mark. @@ -42,50 +69,50 @@ public List getBoundingBox() { * Set the boundingBox property: Bounding box of the selection mark. * * @param boundingBox the boundingBox value to set. - * @return the SelectionMark object itself. + * @return the DocumentSelectionMark object itself. */ - public SelectionMark setBoundingBox(List boundingBox) { + public DocumentSelectionMark setBoundingBox(List boundingBox) { this.boundingBox = boundingBox; return this; } /** - * Get the confidence property: Confidence value. + * Get the span property: Location of the selection mark in the reading order concatenated content. * - * @return the confidence value. + * @return the span value. */ - public float getConfidence() { - return this.confidence; + public DocumentSpan getSpan() { + return this.span; } /** - * Set the confidence property: Confidence value. + * Set the span property: Location of the selection mark in the reading order concatenated content. * - * @param confidence the confidence value to set. - * @return the SelectionMark object itself. + * @param span the span value to set. + * @return the DocumentSelectionMark object itself. */ - public SelectionMark setConfidence(float confidence) { - this.confidence = confidence; + public DocumentSelectionMark setSpan(DocumentSpan span) { + this.span = span; return this; } /** - * Get the state property: State of the selection mark. + * Get the confidence property: Confidence of correctly extracting the selection mark. * - * @return the state value. + * @return the confidence value. */ - public SelectionMarkState getState() { - return this.state; + public float getConfidence() { + return this.confidence; } /** - * Set the state property: State of the selection mark. + * Set the confidence property: Confidence of correctly extracting the selection mark. * - * @param state the state value to set. - * @return the SelectionMark object itself. + * @param confidence the confidence value to set. + * @return the DocumentSelectionMark object itself. */ - public SelectionMark setState(SelectionMarkState state) { - this.state = state; + public DocumentSelectionMark setConfidence(float confidence) { + this.confidence = confidence; return this; } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSignatureType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSignatureType.java new file mode 100644 index 0000000000000..e4141eed915fa --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSignatureType.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DocumentSignatureType. */ +public final class DocumentSignatureType extends ExpandableStringEnum { + /** Static value signed for DocumentSignatureType. */ + public static final DocumentSignatureType SIGNED = fromString("signed"); + + /** Static value unsigned for DocumentSignatureType. */ + public static final DocumentSignatureType UNSIGNED = fromString("unsigned"); + + /** + * Creates or finds a DocumentSignatureType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentSignatureType. + */ + @JsonCreator + public static DocumentSignatureType fromString(String name) { + return fromString(name, DocumentSignatureType.class); + } + + /** @return known DocumentSignatureType values. */ + public static Collection values() { + return values(DocumentSignatureType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSpan.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSpan.java new file mode 100644 index 0000000000000..6b726b29e47a5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentSpan.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Contiguous region of the concatenated content property, specified as an offset and length. */ +@Fluent +public final class DocumentSpan { + /* + * Zero-based index of the content represented by the span. + */ + @JsonProperty(value = "offset", required = true) + private int offset; + + /* + * Number of characters in the content represented by the span. + */ + @JsonProperty(value = "length", required = true) + private int length; + + /** + * Get the offset property: Zero-based index of the content represented by the span. + * + * @return the offset value. + */ + public int getOffset() { + return this.offset; + } + + /** + * Set the offset property: Zero-based index of the content represented by the span. + * + * @param offset the offset value to set. + * @return the DocumentSpan object itself. + */ + public DocumentSpan setOffset(int offset) { + this.offset = offset; + return this; + } + + /** + * Get the length property: Number of characters in the content represented by the span. + * + * @return the length value. + */ + public int getLength() { + return this.length; + } + + /** + * Set the length property: Number of characters in the content represented by the span. + * + * @param length the length value to set. + * @return the DocumentSpan object itself. + */ + public DocumentSpan setLength(int length) { + this.length = length; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentStyle.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentStyle.java new file mode 100644 index 0000000000000..2f8b12263fd61 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentStyle.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing observed text styles. */ +@Fluent +public final class DocumentStyle { + /* + * Is content handwritten? + */ + @JsonProperty(value = "isHandwritten") + private Boolean isHandwritten; + + /* + * Location of the text elements in the concatenated content the style + * applies to. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /* + * Confidence of correctly identifying the style. + */ + @JsonProperty(value = "confidence", required = true) + private float confidence; + + /** + * Get the isHandwritten property: Is content handwritten?. + * + * @return the isHandwritten value. + */ + public Boolean isHandwritten() { + return this.isHandwritten; + } + + /** + * Set the isHandwritten property: Is content handwritten?. + * + * @param isHandwritten the isHandwritten value to set. + * @return the DocumentStyle object itself. + */ + public DocumentStyle setIsHandwritten(Boolean isHandwritten) { + this.isHandwritten = isHandwritten; + return this; + } + + /** + * Get the spans property: Location of the text elements in the concatenated content the style applies to. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the text elements in the concatenated content the style applies to. + * + * @param spans the spans value to set. + * @return the DocumentStyle object itself. + */ + public DocumentStyle setSpans(List spans) { + this.spans = spans; + return this; + } + + /** + * Get the confidence property: Confidence of correctly identifying the style. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly identifying the style. + * + * @param confidence the confidence value to set. + * @return the DocumentStyle object itself. + */ + public DocumentStyle setConfidence(float confidence) { + this.confidence = confidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTable.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTable.java new file mode 100644 index 0000000000000..cab93e4b6e70d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTable.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A table object consisting table cells arranged in a rectangular layout. */ +@Fluent +public final class DocumentTable { + /* + * Number of rows in the table. + */ + @JsonProperty(value = "rowCount", required = true) + private int rowCount; + + /* + * Number of columns in the table. + */ + @JsonProperty(value = "columnCount", required = true) + private int columnCount; + + /* + * Cells contained within the table. + */ + @JsonProperty(value = "cells", required = true) + private List cells; + + /* + * Bounding regions covering the table. + */ + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the table in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /** + * Get the rowCount property: Number of rows in the table. + * + * @return the rowCount value. + */ + public int getRowCount() { + return this.rowCount; + } + + /** + * Set the rowCount property: Number of rows in the table. + * + * @param rowCount the rowCount value to set. + * @return the DocumentTable object itself. + */ + public DocumentTable setRowCount(int rowCount) { + this.rowCount = rowCount; + return this; + } + + /** + * Get the columnCount property: Number of columns in the table. + * + * @return the columnCount value. + */ + public int getColumnCount() { + return this.columnCount; + } + + /** + * Set the columnCount property: Number of columns in the table. + * + * @param columnCount the columnCount value to set. + * @return the DocumentTable object itself. + */ + public DocumentTable setColumnCount(int columnCount) { + this.columnCount = columnCount; + return this; + } + + /** + * Get the cells property: Cells contained within the table. + * + * @return the cells value. + */ + public List getCells() { + return this.cells; + } + + /** + * Set the cells property: Cells contained within the table. + * + * @param cells the cells value to set. + * @return the DocumentTable object itself. + */ + public DocumentTable setCells(List cells) { + this.cells = cells; + return this; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the table. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentTable object itself. + */ + public DocumentTable setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + return this; + } + + /** + * Get the spans property: Location of the table in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the table in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentTable object itself. + */ + public DocumentTable setSpans(List spans) { + this.spans = spans; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCell.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCell.java new file mode 100644 index 0000000000000..e0de9b4e23d90 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCell.java @@ -0,0 +1,221 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing the location and content of a table cell. */ +@Fluent +public final class DocumentTableCell { + /* + * Table cell kind. + */ + @JsonProperty(value = "kind") + private DocumentTableCellKind kind; + + /* + * Row index of the cell. + */ + @JsonProperty(value = "rowIndex", required = true) + private int rowIndex; + + /* + * Column index of the cell. + */ + @JsonProperty(value = "columnIndex", required = true) + private int columnIndex; + + /* + * Number of rows spanned by this cell. + */ + @JsonProperty(value = "rowSpan") + private Integer rowSpan; + + /* + * Number of columns spanned by this cell. + */ + @JsonProperty(value = "columnSpan") + private Integer columnSpan; + + /* + * Concatenated content of the table cell in reading order. + */ + @JsonProperty(value = "content", required = true) + private String content; + + /* + * Bounding regions covering the table cell. + */ + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the table cell in the reading order concatenated content. + */ + @JsonProperty(value = "spans", required = true) + private List spans; + + /** + * Get the kind property: Table cell kind. + * + * @return the kind value. + */ + public DocumentTableCellKind getKind() { + return this.kind; + } + + /** + * Set the kind property: Table cell kind. + * + * @param kind the kind value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setKind(DocumentTableCellKind kind) { + this.kind = kind; + return this; + } + + /** + * Get the rowIndex property: Row index of the cell. + * + * @return the rowIndex value. + */ + public int getRowIndex() { + return this.rowIndex; + } + + /** + * Set the rowIndex property: Row index of the cell. + * + * @param rowIndex the rowIndex value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setRowIndex(int rowIndex) { + this.rowIndex = rowIndex; + return this; + } + + /** + * Get the columnIndex property: Column index of the cell. + * + * @return the columnIndex value. + */ + public int getColumnIndex() { + return this.columnIndex; + } + + /** + * Set the columnIndex property: Column index of the cell. + * + * @param columnIndex the columnIndex value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setColumnIndex(int columnIndex) { + this.columnIndex = columnIndex; + return this; + } + + /** + * Get the rowSpan property: Number of rows spanned by this cell. + * + * @return the rowSpan value. + */ + public Integer getRowSpan() { + return this.rowSpan; + } + + /** + * Set the rowSpan property: Number of rows spanned by this cell. + * + * @param rowSpan the rowSpan value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setRowSpan(Integer rowSpan) { + this.rowSpan = rowSpan; + return this; + } + + /** + * Get the columnSpan property: Number of columns spanned by this cell. + * + * @return the columnSpan value. + */ + public Integer getColumnSpan() { + return this.columnSpan; + } + + /** + * Set the columnSpan property: Number of columns spanned by this cell. + * + * @param columnSpan the columnSpan value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setColumnSpan(Integer columnSpan) { + this.columnSpan = columnSpan; + return this; + } + + /** + * Get the content property: Concatenated content of the table cell in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the table cell in reading order. + * + * @param content the content value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table cell. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the table cell. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + return this; + } + + /** + * Get the spans property: Location of the table cell in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the table cell in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentTableCell object itself. + */ + public DocumentTableCell setSpans(List spans) { + this.spans = spans; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCellKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCellKind.java new file mode 100644 index 0000000000000..b8c7ca6ce9728 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentTableCellKind.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DocumentTableCellKind. */ +public final class DocumentTableCellKind extends ExpandableStringEnum { + /** Static value content for DocumentTableCellKind. */ + public static final DocumentTableCellKind CONTENT = fromString("content"); + + /** Static value rowHeader for DocumentTableCellKind. */ + public static final DocumentTableCellKind ROW_HEADER = fromString("rowHeader"); + + /** Static value columnHeader for DocumentTableCellKind. */ + public static final DocumentTableCellKind COLUMN_HEADER = fromString("columnHeader"); + + /** Static value stubHead for DocumentTableCellKind. */ + public static final DocumentTableCellKind STUB_HEAD = fromString("stubHead"); + + /** Static value description for DocumentTableCellKind. */ + public static final DocumentTableCellKind DESCRIPTION = fromString("description"); + + /** + * Creates or finds a DocumentTableCellKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentTableCellKind. + */ + @JsonCreator + public static DocumentTableCellKind fromString(String name) { + return fromString(name, DocumentTableCellKind.class); + } + + /** @return known DocumentTableCellKind values. */ + public static Collection values() { + return values(DocumentTableCellKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentWord.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentWord.java new file mode 100644 index 0000000000000..8e5e5feafcd02 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/DocumentWord.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, + * Japanese, and Korean, each character is represented as its own word. + */ +@Fluent +public final class DocumentWord { + /* + * Text content of the word. + */ + @JsonProperty(value = "content", required = true) + private String content; + + /* + * Bounding box of the word. + */ + @JsonProperty(value = "boundingBox") + private List boundingBox; + + /* + * Location of the word in the reading order concatenated content. + */ + @JsonProperty(value = "span", required = true) + private DocumentSpan span; + + /* + * Confidence of correctly extracting the word. + */ + @JsonProperty(value = "confidence", required = true) + private float confidence; + + /** + * Get the content property: Text content of the word. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Text content of the word. + * + * @param content the content value to set. + * @return the DocumentWord object itself. + */ + public DocumentWord setContent(String content) { + this.content = content; + return this; + } + + /** + * Get the boundingBox property: Bounding box of the word. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box of the word. + * + * @param boundingBox the boundingBox value to set. + * @return the DocumentWord object itself. + */ + public DocumentWord setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + return this; + } + + /** + * Get the span property: Location of the word in the reading order concatenated content. + * + * @return the span value. + */ + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Set the span property: Location of the word in the reading order concatenated content. + * + * @param span the span value to set. + * @return the DocumentWord object itself. + */ + public DocumentWord setSpan(DocumentSpan span) { + this.span = span; + return this; + } + + /** + * Get the confidence property: Confidence of correctly extracting the word. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the word. + * + * @param confidence the confidence value to set. + * @return the DocumentWord object itself. + */ + public DocumentWord setConfidence(float confidence) { + this.confidence = confidence; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Enum0.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Enum0.java deleted file mode 100644 index d71fe7a856e22..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Enum0.java +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** - * Defines values for Enum0. - */ -public final class Enum0 extends ExpandableStringEnum { - /** - * Static value full for Enum0. - */ - public static final Enum0 FULL = fromString("full"); - - /** - * Static value summary for Enum0. - */ - public static final Enum0 SUMMARY = fromString("summary"); - - /** - * Creates or finds a Enum0 from its string representation. - * - * @param name a name to look for. - * @return the corresponding Enum0. - */ - @JsonCreator - public static Enum0 fromString(String name) { - return fromString(name, Enum0.class); - } - - /** - * @return known Enum0 values. - */ - public static Collection values() { - return values(Enum0.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Error.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Error.java new file mode 100644 index 0000000000000..642520a7013a5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Error.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Error info. */ +@Fluent +public final class Error { + /* + * Error code. + */ + @JsonProperty(value = "code", required = true) + private String code; + + /* + * Error message. + */ + @JsonProperty(value = "message", required = true) + private String message; + + /* + * Target of the error. + */ + @JsonProperty(value = "target") + private String target; + + /* + * List of detailed errors. + */ + @JsonProperty(value = "details") + private List details; + + /* + * Detailed error. + */ + @JsonProperty(value = "innererror") + private InnerError innererror; + + /** + * Get the code property: Error code. + * + * @return the code value. + */ + public String getCode() { + return this.code; + } + + /** + * Set the code property: Error code. + * + * @param code the code value to set. + * @return the Error object itself. + */ + public Error setCode(String code) { + this.code = code; + return this; + } + + /** + * Get the message property: Error message. + * + * @return the message value. + */ + public String getMessage() { + return this.message; + } + + /** + * Set the message property: Error message. + * + * @param message the message value to set. + * @return the Error object itself. + */ + public Error setMessage(String message) { + this.message = message; + return this; + } + + /** + * Get the target property: Target of the error. + * + * @return the target value. + */ + public String getTarget() { + return this.target; + } + + /** + * Set the target property: Target of the error. + * + * @param target the target value to set. + * @return the Error object itself. + */ + public Error setTarget(String target) { + this.target = target; + return this; + } + + /** + * Get the details property: List of detailed errors. + * + * @return the details value. + */ + public List getDetails() { + return this.details; + } + + /** + * Set the details property: List of detailed errors. + * + * @param details the details value to set. + * @return the Error object itself. + */ + public Error setDetails(List details) { + this.details = details; + return this; + } + + /** + * Get the innererror property: Detailed error. + * + * @return the innererror value. + */ + public InnerError getInnererror() { + return this.innererror; + } + + /** + * Set the innererror property: Detailed error. + * + * @param innererror the innererror value to set. + * @return the Error object itself. + */ + public Error setInnererror(InnerError innererror) { + this.innererror = innererror; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorInformation.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorInformation.java deleted file mode 100644 index f899b8b620906..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorInformation.java +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The ErrorInformation model. */ -@Fluent -public final class ErrorInformation { - /* - * The code property. - */ - @JsonProperty(value = "code", required = true) - private String code; - - /* - * The message property. - */ - @JsonProperty(value = "message", required = true) - private String message; - - /** - * Get the code property: The code property. - * - * @return the code value. - */ - public String getCode() { - return this.code; - } - - /** - * Set the code property: The code property. - * - * @param code the code value to set. - * @return the ErrorInformation object itself. - */ - public ErrorInformation setCode(String code) { - this.code = code; - return this; - } - - /** - * Get the message property: The message property. - * - * @return the message value. - */ - public String getMessage() { - return this.message; - } - - /** - * Set the message property: The message property. - * - * @param message the message value to set. - * @return the ErrorInformation object itself. - */ - public ErrorInformation setMessage(String message) { - this.message = message; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorResponse.java index edd72cc183565..ab833735f4485 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorResponse.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ErrorResponse.java @@ -7,31 +7,31 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -/** The ErrorResponse model. */ +/** Error response object. */ @Fluent public final class ErrorResponse { /* - * The error property. + * Error info. */ @JsonProperty(value = "error", required = true) - private ErrorInformation error; + private Error error; /** - * Get the error property: The error property. + * Get the error property: Error info. * * @return the error value. */ - public ErrorInformation getError() { + public Error getError() { return this.error; } /** - * Set the error property: The error property. + * Set the error property: Error info. * * @param error the error value to set. * @return the ErrorResponse object itself. */ - public ErrorResponse setError(ErrorInformation error) { + public ErrorResponse setError(Error error) { this.error = error; return this; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchema.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchema.java new file mode 100644 index 0000000000000..29c0eefee7eb5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchema.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Description of the field semantic schema using a JSON Schema style syntax. */ +@Fluent +public final class FieldTypeSchema { + /* + * Field type. + */ + @JsonProperty(value = "type") + private FieldTypeSchemaType type; + + /* + * Field description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * Example field content. + */ + @JsonProperty(value = "example") + private String example; + + /* + * Field type schema of each array element. + */ + @JsonProperty(value = "items") + private FieldTypeSchema items; + + /* + * Named sub-fields of the object field. + */ + @JsonProperty(value = "properties") + private Map properties; + + /** + * Get the type property: Field type. + * + * @return the type value. + */ + public FieldTypeSchemaType getType() { + return this.type; + } + + /** + * Set the type property: Field type. + * + * @param type the type value to set. + * @return the FieldTypeSchema object itself. + */ + public FieldTypeSchema setType(FieldTypeSchemaType type) { + this.type = type; + return this; + } + + /** + * Get the description property: Field description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Field description. + * + * @param description the description value to set. + * @return the FieldTypeSchema object itself. + */ + public FieldTypeSchema setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the example property: Example field content. + * + * @return the example value. + */ + public String getExample() { + return this.example; + } + + /** + * Set the example property: Example field content. + * + * @param example the example value to set. + * @return the FieldTypeSchema object itself. + */ + public FieldTypeSchema setExample(String example) { + this.example = example; + return this; + } + + /** + * Get the items property: Field type schema of each array element. + * + * @return the items value. + */ + public FieldTypeSchema getItems() { + return this.items; + } + + /** + * Set the items property: Field type schema of each array element. + * + * @param items the items value to set. + * @return the FieldTypeSchema object itself. + */ + public FieldTypeSchema setItems(FieldTypeSchema items) { + this.items = items; + return this; + } + + /** + * Get the properties property: Named sub-fields of the object field. + * + * @return the properties value. + */ + public Map getProperties() { + return this.properties; + } + + /** + * Set the properties property: Named sub-fields of the object field. + * + * @param properties the properties value to set. + * @return the FieldTypeSchema object itself. + */ + public FieldTypeSchema setProperties(Map properties) { + this.properties = properties; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchemaType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchemaType.java new file mode 100644 index 0000000000000..0f1fc63150ca7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldTypeSchemaType.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for FieldTypeSchemaType. */ +public final class FieldTypeSchemaType extends ExpandableStringEnum { + /** Static value string for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType STRING = fromString("string"); + + /** Static value date for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType DATE = fromString("date"); + + /** Static value time for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType TIME = fromString("time"); + + /** Static value phoneNumber for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType PHONE_NUMBER = fromString("phoneNumber"); + + /** Static value number for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType NUMBER = fromString("number"); + + /** Static value integer for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType INTEGER = fromString("integer"); + + /** Static value selectionMark for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType SELECTION_MARK = fromString("selectionMark"); + + /** Static value countryRegion for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType COUNTRY_REGION = fromString("countryRegion"); + + /** Static value currency for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType CURRENCY = fromString("currency"); + + /** Static value signature for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType SIGNATURE = fromString("signature"); + + /** Static value array for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType ARRAY = fromString("array"); + + /** Static value object for FieldTypeSchemaType. */ + public static final FieldTypeSchemaType OBJECT = fromString("object"); + + /** + * Creates or finds a FieldTypeSchemaType from its string representation. + * + * @param name a name to look for. + * @return the corresponding FieldTypeSchemaType. + */ + @JsonCreator + public static FieldTypeSchemaType fromString(String name) { + return fromString(name, FieldTypeSchemaType.class); + } + + /** @return known FieldTypeSchemaType values. */ + public static Collection values() { + return values(FieldTypeSchemaType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueSelectionMark.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueSelectionMark.java deleted file mode 100644 index 24dce82352e06..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueSelectionMark.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for FieldValueSelectionMark. */ -public final class FieldValueSelectionMark extends ExpandableStringEnum { - /** Static value selected for FieldValueSelectionMark. */ - public static final FieldValueSelectionMark SELECTED = fromString("selected"); - - /** Static value unselected for FieldValueSelectionMark. */ - public static final FieldValueSelectionMark UNSELECTED = fromString("unselected"); - - /** - * Creates or finds a FieldValueSelectionMark from its string representation. - * - * @param name a name to look for. - * @return the corresponding FieldValueSelectionMark. - */ - @JsonCreator - public static FieldValueSelectionMark fromString(String name) { - return fromString(name, FieldValueSelectionMark.class); - } - - /** @return known FieldValueSelectionMark values. */ - public static Collection values() { - return values(FieldValueSelectionMark.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueType.java deleted file mode 100644 index a10e47631e230..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FieldValueType.java +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - -/** Defines values for FieldValueType. */ -public enum FieldValueType { - /** Enum value string. */ - STRING("string"), - - /** Enum value date. */ - DATE("date"), - - /** Enum value time. */ - TIME("time"), - - /** Enum value phoneNumber. */ - PHONE_NUMBER("phoneNumber"), - - /** Enum value number. */ - NUMBER("number"), - - /** Enum value integer. */ - INTEGER("integer"), - - /** Enum value array. */ - ARRAY("array"), - - /** Enum value object. */ - OBJECT("object"), - - /** Enum value selectionMark. */ - SELECTION_MARK("selectionMark"), - - /** Enum value countryRegion. */ - COUNTRY_REGION("countryRegion"); - - /** The actual serialized value for a FieldValueType instance. */ - private final String value; - - FieldValueType(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a FieldValueType instance. - * - * @param value the serialized value to parse. - * @return the parsed FieldValueType object, or null if unable to parse. - */ - @JsonCreator - public static FieldValueType fromString(String value) { - FieldValueType[] items = FieldValueType.values(); - for (FieldValueType item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - @JsonValue - @Override - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FormFieldsReport.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FormFieldsReport.java deleted file mode 100644 index d94fb0521e92c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/FormFieldsReport.java +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Report for a custom model training field. */ -@Fluent -public final class FormFieldsReport { - /* - * Training field name. - */ - @JsonProperty(value = "fieldName", required = true) - private String fieldName; - - /* - * Estimated extraction accuracy for this field. - */ - @JsonProperty(value = "accuracy", required = true) - private float accuracy; - - /** - * Get the fieldName property: Training field name. - * - * @return the fieldName value. - */ - public String getFieldName() { - return this.fieldName; - } - - /** - * Set the fieldName property: Training field name. - * - * @param fieldName the fieldName value to set. - * @return the FormFieldsReport object itself. - */ - public FormFieldsReport setFieldName(String fieldName) { - this.fieldName = fieldName; - return this; - } - - /** - * Get the accuracy property: Estimated extraction accuracy for this field. - * - * @return the accuracy value. - */ - public float getAccuracy() { - return this.accuracy; - } - - /** - * Set the accuracy property: Estimated extraction accuracy for this field. - * - * @param accuracy the accuracy value to set. - * @return the FormFieldsReport object itself. - */ - public FormFieldsReport setAccuracy(float accuracy) { - this.accuracy = accuracy; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationHeaders.java deleted file mode 100644 index aea93c10e06d7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The GenerateModelCopyAuthorizationHeaders model. */ -@Fluent -public final class GenerateModelCopyAuthorizationHeaders { - /* - * The Location property. - */ - @JsonProperty(value = "Location") - private String location; - - /** - * Get the location property: The Location property. - * - * @return the location value. - */ - public String getLocation() { - return this.location; - } - - /** - * Set the location property: The Location property. - * - * @param location the location value to set. - * @return the GenerateModelCopyAuthorizationHeaders object itself. - */ - public GenerateModelCopyAuthorizationHeaders setLocation(String location) { - this.location = location; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationResponse.java deleted file mode 100644 index 72118bfaf9225..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GenerateModelCopyAuthorizationResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the generateModelCopyAuthorization operation. */ -public final class GenerateModelCopyAuthorizationResponse - extends ResponseBase { - /** - * Creates an instance of GenerateModelCopyAuthorizationResponse. - * - * @param request the request which resulted in this GenerateModelCopyAuthorizationResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public GenerateModelCopyAuthorizationResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - CopyAuthorizationResult value, - GenerateModelCopyAuthorizationHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } - - /** @return the deserialized response body. */ - @Override - public CopyAuthorizationResult getValue() { - return super.getValue(); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponse.java new file mode 100644 index 0000000000000..bf5c1f938a26c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponse.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** General information regarding the current resource. */ +@Fluent +public final class GetInfoResponse { + /* + * Info regarding custom document models. + */ + @JsonProperty(value = "customDocumentModels", required = true) + private CustomDocumentModelsInfo customDocumentModels; + + /** + * Get the customDocumentModels property: Info regarding custom document models. + * + * @return the customDocumentModels value. + */ + public CustomDocumentModelsInfo getCustomDocumentModels() { + return this.customDocumentModels; + } + + /** + * Set the customDocumentModels property: Info regarding custom document models. + * + * @param customDocumentModels the customDocumentModels value to set. + * @return the GetInfoResponse object itself. + */ + public GetInfoResponse setCustomDocumentModels(CustomDocumentModelsInfo customDocumentModels) { + this.customDocumentModels = customDocumentModels; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponseCustomDocumentModels.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponseCustomDocumentModels.java new file mode 100644 index 0000000000000..52b61f7ad6c61 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetInfoResponseCustomDocumentModels.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Info regarding custom document models. */ +@Fluent +public final class GetInfoResponseCustomDocumentModels { + /* + * Number of custom models in the current resource. + */ + @JsonProperty(value = "count", required = true) + private int count; + + /* + * Maximum number of custom models supported in the current resource. + */ + @JsonProperty(value = "limit", required = true) + private int limit; + + /** + * Get the count property: Number of custom models in the current resource. + * + * @return the count value. + */ + public int getCount() { + return this.count; + } + + /** + * Set the count property: Number of custom models in the current resource. + * + * @param count the count value to set. + * @return the GetInfoResponseCustomDocumentModels object itself. + */ + public GetInfoResponseCustomDocumentModels setCount(int count) { + this.count = count; + return this; + } + + /** + * Get the limit property: Maximum number of custom models supported in the current resource. + * + * @return the limit value. + */ + public int getLimit() { + return this.limit; + } + + /** + * Set the limit property: Maximum number of custom models supported in the current resource. + * + * @param limit the limit value to set. + * @return the GetInfoResponseCustomDocumentModels object itself. + */ + public GetInfoResponseCustomDocumentModels setLimit(int limit) { + this.limit = limit; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetModelsResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetModelsResponse.java new file mode 100644 index 0000000000000..ab45b72b36edb --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetModelsResponse.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List Models response object. */ +@Fluent +public final class GetModelsResponse { + /* + * List of models. + */ + @JsonProperty(value = "value", required = true) + private List value; + + /* + * Link to the next page of models. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: List of models. + * + * @return the value value. + */ + public List getValue() { + return this.value; + } + + /** + * Set the value property: List of models. + * + * @param value the value value to set. + * @return the GetModelsResponse object itself. + */ + public GetModelsResponse setValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: Link to the next page of models. + * + * @return the nextLink value. + */ + public String getNextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: Link to the next page of models. + * + * @param nextLink the nextLink value to set. + * @return the GetModelsResponse object itself. + */ + public GetModelsResponse setNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationResponse.java new file mode 100644 index 0000000000000..2d4f0f4985177 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationResponse.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Get Operation response object. */ +@Fluent +public final class GetOperationResponse extends OperationInfo { + /* + * Encountered error. + */ + @JsonProperty(value = "error") + private Error error; + + /* + * Operation result upon success. + */ + @JsonProperty(value = "result") + private ModelInfo result; + + /** + * Get the error property: Encountered error. + * + * @return the error value. + */ + public Error getError() { + return this.error; + } + + /** + * Set the error property: Encountered error. + * + * @param error the error value to set. + * @return the GetOperationResponse object itself. + */ + public GetOperationResponse setError(Error error) { + this.error = error; + return this; + } + + /** + * Get the result property: Operation result upon success. + * + * @return the result value. + */ + public ModelInfo getResult() { + return this.result; + } + + /** + * Set the result property: Operation result upon success. + * + * @param result the result value to set. + * @return the GetOperationResponse object itself. + */ + public GetOperationResponse setResult(ModelInfo result) { + this.result = result; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationsResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationsResponse.java new file mode 100644 index 0000000000000..49e679cdd7a7b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/GetOperationsResponse.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List Operations response object. */ +@Fluent +public final class GetOperationsResponse { + /* + * List of operations. + */ + @JsonProperty(value = "value", required = true) + private List value; + + /* + * Link to the next page of operations. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: List of operations. + * + * @return the value value. + */ + public List getValue() { + return this.value; + } + + /** + * Set the value property: List of operations. + * + * @param value the value value to set. + * @return the GetOperationsResponse object itself. + */ + public GetOperationsResponse setValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: Link to the next page of operations. + * + * @return the nextLink value. + */ + public String getNextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: Link to the next page of operations. + * + * @param nextLink the nextLink value to set. + * @return the GetOperationsResponse object itself. + */ + public GetOperationsResponse setNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/InnerError.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/InnerError.java new file mode 100644 index 0000000000000..bc79f0d02d70b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/InnerError.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Detailed error. */ +@Fluent +public final class InnerError { + /* + * Error code. + */ + @JsonProperty(value = "code", required = true) + private String code; + + /* + * Error message. + */ + @JsonProperty(value = "message") + private String message; + + /* + * Detailed error. + */ + @JsonProperty(value = "innererror") + private InnerError innererror; + + /** + * Get the code property: Error code. + * + * @return the code value. + */ + public String getCode() { + return this.code; + } + + /** + * Set the code property: Error code. + * + * @param code the code value to set. + * @return the InnerError object itself. + */ + public InnerError setCode(String code) { + this.code = code; + return this; + } + + /** + * Get the message property: Error message. + * + * @return the message value. + */ + public String getMessage() { + return this.message; + } + + /** + * Set the message property: Error message. + * + * @param message the message value to set. + * @return the InnerError object itself. + */ + public InnerError setMessage(String message) { + this.message = message; + return this; + } + + /** + * Get the innererror property: Detailed error. + * + * @return the innererror value. + */ + public InnerError getInnererror() { + return this.innererror; + } + + /** + * Set the innererror property: Detailed error. + * + * @param innererror the innererror value to set. + * @return the InnerError object itself. + */ + public InnerError setInnererror(InnerError innererror) { + this.innererror = innererror; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueElement.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueElement.java deleted file mode 100644 index fa285d90cb16c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueElement.java +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Information about the extracted key or value in a key-value pair. */ -@Fluent -public final class KeyValueElement { - /* - * Semantic data type of the key value element. - */ - @JsonProperty(value = "type") - private KeyValueType type; - - /* - * The text content of the key or value. - */ - @JsonProperty(value = "text", required = true) - private String text; - - /* - * Bounding box of the key or value. - */ - @JsonProperty(value = "boundingBox") - private List boundingBox; - - /* - * When includeTextDetails is set to true, a list of references to the text - * elements constituting this key or value. - */ - @JsonProperty(value = "elements") - private List elements; - - /** - * Get the type property: Semantic data type of the key value element. - * - * @return the type value. - */ - public KeyValueType getType() { - return this.type; - } - - /** - * Set the type property: Semantic data type of the key value element. - * - * @param type the type value to set. - * @return the KeyValueElement object itself. - */ - public KeyValueElement setType(KeyValueType type) { - this.type = type; - return this; - } - - /** - * Get the text property: The text content of the key or value. - * - * @return the text value. - */ - public String getText() { - return this.text; - } - - /** - * Set the text property: The text content of the key or value. - * - * @param text the text value to set. - * @return the KeyValueElement object itself. - */ - public KeyValueElement setText(String text) { - this.text = text; - return this; - } - - /** - * Get the boundingBox property: Bounding box of the key or value. - * - * @return the boundingBox value. - */ - public List getBoundingBox() { - return this.boundingBox; - } - - /** - * Set the boundingBox property: Bounding box of the key or value. - * - * @param boundingBox the boundingBox value to set. - * @return the KeyValueElement object itself. - */ - public KeyValueElement setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; - return this; - } - - /** - * Get the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this key or value. - * - * @return the elements value. - */ - public List getElements() { - return this.elements; - } - - /** - * Set the elements property: When includeTextDetails is set to true, a list of references to the text elements - * constituting this key or value. - * - * @param elements the elements value to set. - * @return the KeyValueElement object itself. - */ - public KeyValueElement setElements(List elements) { - this.elements = elements; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValuePair.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValuePair.java deleted file mode 100644 index 2d0d2ef956168..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValuePair.java +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Information about the extracted key-value pair. */ -@Fluent -public final class KeyValuePair { - /* - * A user defined label for the key/value pair entry. - */ - @JsonProperty(value = "label") - private String label; - - /* - * Information about the extracted key in a key-value pair. - */ - @JsonProperty(value = "key", required = true) - private KeyValueElement key; - - /* - * Information about the extracted value in a key-value pair. - */ - @JsonProperty(value = "value", required = true) - private KeyValueElement value; - - /* - * Confidence value. - */ - @JsonProperty(value = "confidence", required = true) - private float confidence; - - /** - * Get the label property: A user defined label for the key/value pair entry. - * - * @return the label value. - */ - public String getLabel() { - return this.label; - } - - /** - * Set the label property: A user defined label for the key/value pair entry. - * - * @param label the label value to set. - * @return the KeyValuePair object itself. - */ - public KeyValuePair setLabel(String label) { - this.label = label; - return this; - } - - /** - * Get the key property: Information about the extracted key in a key-value pair. - * - * @return the key value. - */ - public KeyValueElement getKey() { - return this.key; - } - - /** - * Set the key property: Information about the extracted key in a key-value pair. - * - * @param key the key value to set. - * @return the KeyValuePair object itself. - */ - public KeyValuePair setKey(KeyValueElement key) { - this.key = key; - return this; - } - - /** - * Get the value property: Information about the extracted value in a key-value pair. - * - * @return the value value. - */ - public KeyValueElement getValue() { - return this.value; - } - - /** - * Set the value property: Information about the extracted value in a key-value pair. - * - * @param value the value value to set. - * @return the KeyValuePair object itself. - */ - public KeyValuePair setValue(KeyValueElement value) { - this.value = value; - return this; - } - - /** - * Get the confidence property: Confidence value. - * - * @return the confidence value. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * Set the confidence property: Confidence value. - * - * @param confidence the confidence value to set. - * @return the KeyValuePair object itself. - */ - public KeyValuePair setConfidence(float confidence) { - this.confidence = confidence; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueType.java deleted file mode 100644 index 824c1c0e0c2cf..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeyValueType.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for KeyValueType. */ -public final class KeyValueType extends ExpandableStringEnum { - /** Static value string for KeyValueType. */ - public static final KeyValueType STRING = fromString("string"); - - /** Static value selectionMark for KeyValueType. */ - public static final KeyValueType SELECTION_MARK = fromString("selectionMark"); - - /** - * Creates or finds a KeyValueType from its string representation. - * - * @param name a name to look for. - * @return the corresponding KeyValueType. - */ - @JsonCreator - public static KeyValueType fromString(String name) { - return fromString(name, KeyValueType.class); - } - - /** @return known KeyValueType values. */ - public static Collection values() { - return values(KeyValueType.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeysResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeysResult.java deleted file mode 100644 index cc85316fc0539..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/KeysResult.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.Map; - -/** Keys extracted by the custom model. */ -@Fluent -public final class KeysResult { - /* - * Object mapping clusterIds to a list of keys. - */ - @JsonProperty(value = "clusters", required = true) - private Map> clusters; - - /** - * Get the clusters property: Object mapping clusterIds to a list of keys. - * - * @return the clusters value. - */ - public Map> getClusters() { - return this.clusters; - } - - /** - * Set the clusters property: Object mapping clusterIds to a list of keys. - * - * @param clusters the clusters value to set. - * @return the KeysResult object itself. - */ - public KeysResult setClusters(Map> clusters) { - this.clusters = clusters; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Language.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Language.java deleted file mode 100644 index b2fa204f28677..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Language.java +++ /dev/null @@ -1,247 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for Language. */ -public final class Language extends ExpandableStringEnum { - /** Static value af for Language. */ - public static final Language AF = fromString("af"); - - /** Static value ast for Language. */ - public static final Language AST = fromString("ast"); - - /** Static value bi for Language. */ - public static final Language BI = fromString("bi"); - - /** Static value br for Language. */ - public static final Language BR = fromString("br"); - - /** Static value ca for Language. */ - public static final Language CA = fromString("ca"); - - /** Static value ceb for Language. */ - public static final Language CEB = fromString("ceb"); - - /** Static value ch for Language. */ - public static final Language CH = fromString("ch"); - - /** Static value co for Language. */ - public static final Language CO = fromString("co"); - - /** Static value crh for Language. */ - public static final Language CRH = fromString("crh"); - - /** Static value cs for Language. */ - public static final Language CS = fromString("cs"); - - /** Static value csb for Language. */ - public static final Language CSB = fromString("csb"); - - /** Static value da for Language. */ - public static final Language DA = fromString("da"); - - /** Static value de for Language. */ - public static final Language DE = fromString("de"); - - /** Static value en for Language. */ - public static final Language EN = fromString("en"); - - /** Static value es for Language. */ - public static final Language ES = fromString("es"); - - /** Static value et for Language. */ - public static final Language ET = fromString("et"); - - /** Static value eu for Language. */ - public static final Language EU = fromString("eu"); - - /** Static value fi for Language. */ - public static final Language FI = fromString("fi"); - - /** Static value fil for Language. */ - public static final Language FIL = fromString("fil"); - - /** Static value fj for Language. */ - public static final Language FJ = fromString("fj"); - - /** Static value fr for Language. */ - public static final Language FR = fromString("fr"); - - /** Static value fur for Language. */ - public static final Language FUR = fromString("fur"); - - /** Static value fy for Language. */ - public static final Language FY = fromString("fy"); - - /** Static value ga for Language. */ - public static final Language GA = fromString("ga"); - - /** Static value gd for Language. */ - public static final Language GD = fromString("gd"); - - /** Static value gil for Language. */ - public static final Language GIL = fromString("gil"); - - /** Static value gl for Language. */ - public static final Language GL = fromString("gl"); - - /** Static value gv for Language. */ - public static final Language GV = fromString("gv"); - - /** Static value hni for Language. */ - public static final Language HNI = fromString("hni"); - - /** Static value hsb for Language. */ - public static final Language HSB = fromString("hsb"); - - /** Static value ht for Language. */ - public static final Language HT = fromString("ht"); - - /** Static value hu for Language. */ - public static final Language HU = fromString("hu"); - - /** Static value ia for Language. */ - public static final Language IA = fromString("ia"); - - /** Static value id for Language. */ - public static final Language ID = fromString("id"); - - /** Static value it for Language. */ - public static final Language IT = fromString("it"); - - /** Static value iu for Language. */ - public static final Language IU = fromString("iu"); - - /** Static value ja for Language. */ - public static final Language JA = fromString("ja"); - - /** Static value jv for Language. */ - public static final Language JV = fromString("jv"); - - /** Static value kaa for Language. */ - public static final Language KAA = fromString("kaa"); - - /** Static value kac for Language. */ - public static final Language KAC = fromString("kac"); - - /** Static value kea for Language. */ - public static final Language KEA = fromString("kea"); - - /** Static value kha for Language. */ - public static final Language KHA = fromString("kha"); - - /** Static value kl for Language. */ - public static final Language KL = fromString("kl"); - - /** Static value ko for Language. */ - public static final Language KO = fromString("ko"); - - /** Static value ku for Language. */ - public static final Language KU = fromString("ku"); - - /** Static value kw for Language. */ - public static final Language KW = fromString("kw"); - - /** Static value lb for Language. */ - public static final Language LB = fromString("lb"); - - /** Static value ms for Language. */ - public static final Language MS = fromString("ms"); - - /** Static value mww for Language. */ - public static final Language MWW = fromString("mww"); - - /** Static value nap for Language. */ - public static final Language NAP = fromString("nap"); - - /** Static value nl for Language. */ - public static final Language NL = fromString("nl"); - - /** Static value no for Language. */ - public static final Language NO = fromString("no"); - - /** Static value oc for Language. */ - public static final Language OC = fromString("oc"); - - /** Static value pl for Language. */ - public static final Language PL = fromString("pl"); - - /** Static value pt for Language. */ - public static final Language PT = fromString("pt"); - - /** Static value quc for Language. */ - public static final Language QUC = fromString("quc"); - - /** Static value rm for Language. */ - public static final Language RM = fromString("rm"); - - /** Static value sco for Language. */ - public static final Language SCO = fromString("sco"); - - /** Static value sl for Language. */ - public static final Language SL = fromString("sl"); - - /** Static value sq for Language. */ - public static final Language SQ = fromString("sq"); - - /** Static value sv for Language. */ - public static final Language SV = fromString("sv"); - - /** Static value sw for Language. */ - public static final Language SW = fromString("sw"); - - /** Static value tet for Language. */ - public static final Language TET = fromString("tet"); - - /** Static value tr for Language. */ - public static final Language TR = fromString("tr"); - - /** Static value tt for Language. */ - public static final Language TT = fromString("tt"); - - /** Static value uz for Language. */ - public static final Language UZ = fromString("uz"); - - /** Static value vo for Language. */ - public static final Language VO = fromString("vo"); - - /** Static value wae for Language. */ - public static final Language WAE = fromString("wae"); - - /** Static value yua for Language. */ - public static final Language YUA = fromString("yua"); - - /** Static value za for Language. */ - public static final Language ZA = fromString("za"); - - /** Static value zh-Hans for Language. */ - public static final Language ZH_HANS = fromString("zh-Hans"); - - /** Static value zh-Hant for Language. */ - public static final Language ZH_HANT = fromString("zh-Hant"); - - /** Static value zu for Language. */ - public static final Language ZU = fromString("zu"); - - /** - * Creates or finds a Language from its string representation. - * - * @param name a name to look for. - * @return the corresponding Language. - */ - @JsonCreator - public static Language fromString(String name) { - return fromString(name, Language.class); - } - - /** @return known Language values. */ - public static Collection values() { - return values(Language.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LengthUnit.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LengthUnit.java new file mode 100644 index 0000000000000..dcb793ae11cf1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LengthUnit.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for LengthUnit. */ +public final class LengthUnit extends ExpandableStringEnum { + /** Static value pixel for LengthUnit. */ + public static final LengthUnit PIXEL = fromString("pixel"); + + /** Static value inch for LengthUnit. */ + public static final LengthUnit INCH = fromString("inch"); + + /** + * Creates or finds a LengthUnit from its string representation. + * + * @param name a name to look for. + * @return the corresponding LengthUnit. + */ + @JsonCreator + public static LengthUnit fromString(String name) { + return fromString(name, LengthUnit.class); + } + + /** @return known LengthUnit values. */ + public static Collection values() { + return values(LengthUnit.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LocalContentSource.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LocalContentSource.java new file mode 100644 index 0000000000000..67c5fe62b2247 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/LocalContentSource.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Local storage content. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("local") +@Fluent +public final class LocalContentSource extends ContentSource { + /* + * Local path. + */ + @JsonProperty(value = "path", required = true) + private String path; + + /** + * Get the path property: Local path. + * + * @return the path value. + */ + public String getPath() { + return this.path; + } + + /** + * Set the path property: Local path. + * + * @param path the path value to set. + * @return the LocalContentSource object itself. + */ + public LocalContentSource setPath(String path) { + this.path = path; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Locale.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Locale.java deleted file mode 100644 index 94efe2d8469ce..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Locale.java +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for Locale. */ -public final class Locale extends ExpandableStringEnum { - /** Static value en-AU for Locale. */ - public static final Locale EN_AU = fromString("en-AU"); - - /** Static value en-CA for Locale. */ - public static final Locale EN_CA = fromString("en-CA"); - - /** Static value en-GB for Locale. */ - public static final Locale EN_GB = fromString("en-GB"); - - /** Static value en-IN for Locale. */ - public static final Locale EN_IN = fromString("en-IN"); - - /** Static value en-US for Locale. */ - public static final Locale EN_US = fromString("en-US"); - - /** - * Creates or finds a Locale from its string representation. - * - * @param name a name to look for. - * @return the corresponding Locale. - */ - @JsonCreator - public static Locale fromString(String name) { - return fromString(name, Locale.class); - } - - /** @return known Locale values. */ - public static Collection values() { - return values(Locale.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Model.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Model.java deleted file mode 100644 index d2278129bb7d7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Model.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Response to the get custom model operation. */ -@Fluent -public final class Model { - /* - * Basic custom model information. - */ - @JsonProperty(value = "modelInfo", required = true) - private ModelInfo modelInfo; - - /* - * Keys extracted by the custom model. - */ - @JsonProperty(value = "keys") - private KeysResult keys; - - /* - * Training result for custom model. - */ - @JsonProperty(value = "trainResult") - private TrainResult trainResult; - - /* - * Training result for composed model. - */ - @JsonProperty(value = "composedTrainResults") - private List composedTrainResults; - - /** - * Get the modelInfo property: Basic custom model information. - * - * @return the modelInfo value. - */ - public ModelInfo getModelInfo() { - return this.modelInfo; - } - - /** - * Set the modelInfo property: Basic custom model information. - * - * @param modelInfo the modelInfo value to set. - * @return the Model object itself. - */ - public Model setModelInfo(ModelInfo modelInfo) { - this.modelInfo = modelInfo; - return this; - } - - /** - * Get the keys property: Keys extracted by the custom model. - * - * @return the keys value. - */ - public KeysResult getKeys() { - return this.keys; - } - - /** - * Set the keys property: Keys extracted by the custom model. - * - * @param keys the keys value to set. - * @return the Model object itself. - */ - public Model setKeys(KeysResult keys) { - this.keys = keys; - return this; - } - - /** - * Get the trainResult property: Training result for custom model. - * - * @return the trainResult value. - */ - public TrainResult getTrainResult() { - return this.trainResult; - } - - /** - * Set the trainResult property: Training result for custom model. - * - * @param trainResult the trainResult value to set. - * @return the Model object itself. - */ - public Model setTrainResult(TrainResult trainResult) { - this.trainResult = trainResult; - return this; - } - - /** - * Get the composedTrainResults property: Training result for composed model. - * - * @return the composedTrainResults value. - */ - public List getComposedTrainResults() { - return this.composedTrainResults; - } - - /** - * Set the composedTrainResults property: Training result for composed model. - * - * @param composedTrainResults the composedTrainResults value to set. - * @return the Model object itself. - */ - public Model setComposedTrainResults(List composedTrainResults) { - this.composedTrainResults = composedTrainResults; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelInfo.java index 7b3a0f11804c4..a6bf8ef7dd63d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelInfo.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelInfo.java @@ -6,165 +6,34 @@ import com.azure.core.annotation.Fluent; import com.fasterxml.jackson.annotation.JsonProperty; -import java.time.OffsetDateTime; -import java.util.UUID; +import java.util.Map; -/** Basic custom model information. */ +/** Model info. */ @Fluent -public final class ModelInfo { +public final class ModelInfo extends ModelSummary { /* - * Model identifier. + * Supported document types. */ - @JsonProperty(value = "modelId", required = true) - private UUID modelId; - - /* - * Status of the model. - */ - @JsonProperty(value = "status", required = true) - private ModelStatus status; - - /* - * Date and time (UTC) when the model was created. - */ - @JsonProperty(value = "createdDateTime", required = true) - private OffsetDateTime createdDateTime; - - /* - * Date and time (UTC) when the status was last updated. - */ - @JsonProperty(value = "lastUpdatedDateTime", required = true) - private OffsetDateTime lastUpdatedDateTime; - - /* - * Optional user defined model name (max length: 1024). - */ - @JsonProperty(value = "modelName") - private String modelName; - - /* - * Optional model attributes. - */ - @JsonProperty(value = "attributes") - private Attributes attributes; - - /** - * Get the modelId property: Model identifier. - * - * @return the modelId value. - */ - public UUID getModelId() { - return this.modelId; - } - - /** - * Set the modelId property: Model identifier. - * - * @param modelId the modelId value to set. - * @return the ModelInfo object itself. - */ - public ModelInfo setModelId(UUID modelId) { - this.modelId = modelId; - return this; - } - - /** - * Get the status property: Status of the model. - * - * @return the status value. - */ - public ModelStatus getStatus() { - return this.status; - } - - /** - * Set the status property: Status of the model. - * - * @param status the status value to set. - * @return the ModelInfo object itself. - */ - public ModelInfo setStatus(ModelStatus status) { - this.status = status; - return this; - } - - /** - * Get the createdDateTime property: Date and time (UTC) when the model was created. - * - * @return the createdDateTime value. - */ - public OffsetDateTime getCreatedDateTime() { - return this.createdDateTime; - } - - /** - * Set the createdDateTime property: Date and time (UTC) when the model was created. - * - * @param createdDateTime the createdDateTime value to set. - * @return the ModelInfo object itself. - */ - public ModelInfo setCreatedDateTime(OffsetDateTime createdDateTime) { - this.createdDateTime = createdDateTime; - return this; - } - - /** - * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. - * - * @return the lastUpdatedDateTime value. - */ - public OffsetDateTime getLastUpdatedDateTime() { - return this.lastUpdatedDateTime; - } - - /** - * Set the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. - * - * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. - * @return the ModelInfo object itself. - */ - public ModelInfo setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { - this.lastUpdatedDateTime = lastUpdatedDateTime; - return this; - } - - /** - * Get the modelName property: Optional user defined model name (max length: 1024). - * - * @return the modelName value. - */ - public String getModelName() { - return this.modelName; - } - - /** - * Set the modelName property: Optional user defined model name (max length: 1024). - * - * @param modelName the modelName value to set. - * @return the ModelInfo object itself. - */ - public ModelInfo setModelName(String modelName) { - this.modelName = modelName; - return this; - } + @JsonProperty(value = "docTypes") + private Map docTypes; /** - * Get the attributes property: Optional model attributes. + * Get the docTypes property: Supported document types. * - * @return the attributes value. + * @return the docTypes value. */ - public Attributes getAttributes() { - return this.attributes; + public Map getDocTypes() { + return this.docTypes; } /** - * Set the attributes property: Optional model attributes. + * Set the docTypes property: Supported document types. * - * @param attributes the attributes value to set. + * @param docTypes the docTypes value to set. * @return the ModelInfo object itself. */ - public ModelInfo setAttributes(Attributes attributes) { - this.attributes = attributes; + public ModelInfo setDocTypes(Map docTypes) { + this.docTypes = docTypes; return this; } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelStatus.java deleted file mode 100644 index 58b17dd6f49b6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelStatus.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - -/** Defines values for ModelStatus. */ -public enum ModelStatus { - /** Enum value creating. */ - CREATING("creating"), - - /** Enum value ready. */ - READY("ready"), - - /** Enum value invalid. */ - INVALID("invalid"); - - /** The actual serialized value for a ModelStatus instance. */ - private final String value; - - ModelStatus(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a ModelStatus instance. - * - * @param value the serialized value to parse. - * @return the parsed ModelStatus object, or null if unable to parse. - */ - @JsonCreator - public static ModelStatus fromString(String value) { - ModelStatus[] items = ModelStatus.values(); - for (ModelStatus item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - @JsonValue - @Override - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelSummary.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelSummary.java new file mode 100644 index 0000000000000..4982466a05745 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelSummary.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Model summary. */ +@Fluent +public class ModelSummary { + /* + * Unique model name. + */ + @JsonProperty(value = "modelId", required = true) + private String modelId; + + /* + * Model description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * Date and time (UTC) when the model was created. + */ + @JsonProperty(value = "createdDateTime", required = true) + private OffsetDateTime createdDateTime; + + /** + * Get the modelId property: Unique model name. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Unique model name. + * + * @param modelId the modelId value to set. + * @return the ModelSummary object itself. + */ + public ModelSummary setModelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Get the description property: Model description. + * + * @return the description value. + */ + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Model description. + * + * @param description the description value to set. + * @return the ModelSummary object itself. + */ + public ModelSummary setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the model was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Set the createdDateTime property: Date and time (UTC) when the model was created. + * + * @param createdDateTime the createdDateTime value to set. + * @return the ModelSummary object itself. + */ + public ModelSummary setCreatedDateTime(OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Models.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Models.java deleted file mode 100644 index b28cad4858599..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Models.java +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Response to the list custom models operation. */ -@Fluent -public final class Models { - /* - * Summary of all trained custom models. - */ - @JsonProperty(value = "summary") - private ModelsSummary summary; - - /* - * Collection of trained custom models. - */ - @JsonProperty(value = "modelList") - private List modelList; - - /* - * Link to the next page of custom models. - */ - @JsonProperty(value = "nextLink") - private String nextLink; - - /** - * Get the summary property: Summary of all trained custom models. - * - * @return the summary value. - */ - public ModelsSummary getSummary() { - return this.summary; - } - - /** - * Set the summary property: Summary of all trained custom models. - * - * @param summary the summary value to set. - * @return the Models object itself. - */ - public Models setSummary(ModelsSummary summary) { - this.summary = summary; - return this; - } - - /** - * Get the modelList property: Collection of trained custom models. - * - * @return the modelList value. - */ - public List getModelList() { - return this.modelList; - } - - /** - * Set the modelList property: Collection of trained custom models. - * - * @param modelList the modelList value to set. - * @return the Models object itself. - */ - public Models setModelList(List modelList) { - this.modelList = modelList; - return this; - } - - /** - * Get the nextLink property: Link to the next page of custom models. - * - * @return the nextLink value. - */ - public String getNextLink() { - return this.nextLink; - } - - /** - * Set the nextLink property: Link to the next page of custom models. - * - * @param nextLink the nextLink value to set. - * @return the Models object itself. - */ - public Models setNextLink(String nextLink) { - this.nextLink = nextLink; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsModel.java deleted file mode 100644 index 4b8d8d08579ac..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsModel.java +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** - * Response to the list custom models operation. - */ -@Fluent -public final class ModelsModel { - /* - * Summary of all trained custom models. - */ - @JsonProperty(value = "summary") - private ModelsSummary summary; - - /* - * Collection of trained custom models. - */ - @JsonProperty(value = "modelList") - private List modelList; - - /* - * Link to the next page of custom models. - */ - @JsonProperty(value = "nextLink") - private String nextLink; - - /** - * Get the summary property: Summary of all trained custom models. - * - * @return the summary value. - */ - public ModelsSummary getSummary() { - return this.summary; - } - - /** - * Set the summary property: Summary of all trained custom models. - * - * @param summary the summary value to set. - * @return the ModelsModel object itself. - */ - public ModelsModel setSummary(ModelsSummary summary) { - this.summary = summary; - return this; - } - - /** - * Get the modelList property: Collection of trained custom models. - * - * @return the modelList value. - */ - public List getModelList() { - return this.modelList; - } - - /** - * Set the modelList property: Collection of trained custom models. - * - * @param modelList the modelList value to set. - * @return the ModelsModel object itself. - */ - public ModelsModel setModelList(List modelList) { - this.modelList = modelList; - return this; - } - - /** - * Get the nextLink property: Link to the next page of custom models. - * - * @return the nextLink value. - */ - public String getNextLink() { - return this.nextLink; - } - - /** - * Set the nextLink property: Link to the next page of custom models. - * - * @param nextLink the nextLink value to set. - * @return the ModelsModel object itself. - */ - public ModelsModel setNextLink(String nextLink) { - this.nextLink = nextLink; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsSummary.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsSummary.java deleted file mode 100644 index 7c2e40e3f79e6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ModelsSummary.java +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.time.OffsetDateTime; - -/** Summary of all trained custom models. */ -@Fluent -public final class ModelsSummary { - /* - * Current count of trained custom models. - */ - @JsonProperty(value = "count", required = true) - private int count; - - /* - * Max number of models that can be trained for this account. - */ - @JsonProperty(value = "limit", required = true) - private int limit; - - /* - * Date and time (UTC) when the summary was last updated. - */ - @JsonProperty(value = "lastUpdatedDateTime", required = true) - private OffsetDateTime lastUpdatedDateTime; - - /** - * Get the count property: Current count of trained custom models. - * - * @return the count value. - */ - public int getCount() { - return this.count; - } - - /** - * Set the count property: Current count of trained custom models. - * - * @param count the count value to set. - * @return the ModelsSummary object itself. - */ - public ModelsSummary setCount(int count) { - this.count = count; - return this; - } - - /** - * Get the limit property: Max number of models that can be trained for this account. - * - * @return the limit value. - */ - public int getLimit() { - return this.limit; - } - - /** - * Set the limit property: Max number of models that can be trained for this account. - * - * @param limit the limit value to set. - * @return the ModelsSummary object itself. - */ - public ModelsSummary setLimit(int limit) { - this.limit = limit; - return this; - } - - /** - * Get the lastUpdatedDateTime property: Date and time (UTC) when the summary was last updated. - * - * @return the lastUpdatedDateTime value. - */ - public OffsetDateTime getLastUpdatedDateTime() { - return this.lastUpdatedDateTime; - } - - /** - * Set the lastUpdatedDateTime property: Date and time (UTC) when the summary was last updated. - * - * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. - * @return the ModelsSummary object itself. - */ - public ModelsSummary setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { - this.lastUpdatedDateTime = lastUpdatedDateTime; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfo.java new file mode 100644 index 0000000000000..796020506fc74 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfo.java @@ -0,0 +1,195 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Operation info. */ +@Fluent +public class OperationInfo { + /* + * Operation ID + */ + @JsonProperty(value = "operationId", required = true) + private String operationId; + + /* + * Operation status. + */ + @JsonProperty(value = "status", required = true) + private OperationStatus status; + + /* + * Operation progress (0-100). + */ + @JsonProperty(value = "percentCompleted") + private Integer percentCompleted; + + /* + * Date and time (UTC) when the operation was created. + */ + @JsonProperty(value = "createdDateTime", required = true) + private OffsetDateTime createdDateTime; + + /* + * Date and time (UTC) when the status was last updated. + */ + @JsonProperty(value = "lastUpdatedDateTime", required = true) + private OffsetDateTime lastUpdatedDateTime; + + /* + * Type of operation. + */ + @JsonProperty(value = "kind", required = true) + private OperationKind kind; + + /* + * URL of the resource targeted by this operation. + */ + @JsonProperty(value = "resourceLocation", required = true) + private String resourceLocation; + + /** + * Get the operationId property: Operation ID. + * + * @return the operationId value. + */ + public String getOperationId() { + return this.operationId; + } + + /** + * Set the operationId property: Operation ID. + * + * @param operationId the operationId value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setOperationId(String operationId) { + this.operationId = operationId; + return this; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + public OperationStatus getStatus() { + return this.status; + } + + /** + * Set the status property: Operation status. + * + * @param status the status value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setStatus(OperationStatus status) { + this.status = status; + return this; + } + + /** + * Get the percentCompleted property: Operation progress (0-100). + * + * @return the percentCompleted value. + */ + public Integer getPercentCompleted() { + return this.percentCompleted; + } + + /** + * Set the percentCompleted property: Operation progress (0-100). + * + * @param percentCompleted the percentCompleted value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setPercentCompleted(Integer percentCompleted) { + this.percentCompleted = percentCompleted; + return this; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the operation was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Set the createdDateTime property: Date and time (UTC) when the operation was created. + * + * @param createdDateTime the createdDateTime value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setCreatedDateTime(OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + return this; + } + + /** + * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @return the lastUpdatedDateTime value. + */ + public OffsetDateTime getLastUpdatedDateTime() { + return this.lastUpdatedDateTime; + } + + /** + * Set the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setLastUpdatedDateTime(OffsetDateTime lastUpdatedDateTime) { + this.lastUpdatedDateTime = lastUpdatedDateTime; + return this; + } + + /** + * Get the kind property: Type of operation. + * + * @return the kind value. + */ + public OperationKind getKind() { + return this.kind; + } + + /** + * Set the kind property: Type of operation. + * + * @param kind the kind value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setKind(OperationKind kind) { + this.kind = kind; + return this; + } + + /** + * Get the resourceLocation property: URL of the resource targeted by this operation. + * + * @return the resourceLocation value. + */ + public String getResourceLocation() { + return this.resourceLocation; + } + + /** + * Set the resourceLocation property: URL of the resource targeted by this operation. + * + * @param resourceLocation the resourceLocation value to set. + * @return the OperationInfo object itself. + */ + public OperationInfo setResourceLocation(String resourceLocation) { + this.resourceLocation = resourceLocation; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfoKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfoKind.java new file mode 100644 index 0000000000000..367a71bf51741 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationInfoKind.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for OperationInfoKind. */ +public final class OperationInfoKind extends ExpandableStringEnum { + /** Static value documentModelBuild for OperationInfoKind. */ + public static final OperationInfoKind DOCUMENT_MODEL_BUILD = fromString("documentModelBuild"); + + /** Static value documentModelCompose for OperationInfoKind. */ + public static final OperationInfoKind DOCUMENT_MODEL_COMPOSE = fromString("documentModelCompose"); + + /** Static value documentModelCopyTo for OperationInfoKind. */ + public static final OperationInfoKind DOCUMENT_MODEL_COPY_TO = fromString("documentModelCopyTo"); + + /** + * Creates or finds a OperationInfoKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding OperationInfoKind. + */ + @JsonCreator + public static OperationInfoKind fromString(String name) { + return fromString(name, OperationInfoKind.class); + } + + /** @return known OperationInfoKind values. */ + public static Collection values() { + return values(OperationInfoKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationKind.java new file mode 100644 index 0000000000000..781c04425163e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationKind.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for OperationKind. */ +public final class OperationKind extends ExpandableStringEnum { + /** Static value documentModelBuild for OperationKind. */ + public static final OperationKind DOCUMENT_MODEL_BUILD = fromString("documentModelBuild"); + + /** Static value documentModelCompose for OperationKind. */ + public static final OperationKind DOCUMENT_MODEL_COMPOSE = fromString("documentModelCompose"); + + /** Static value documentModelCopyTo for OperationKind. */ + public static final OperationKind DOCUMENT_MODEL_COPY_TO = fromString("documentModelCopyTo"); + + /** + * Creates or finds a OperationKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding OperationKind. + */ + @JsonCreator + public static OperationKind fromString(String name) { + return fromString(name, OperationKind.class); + } + + /** @return known OperationKind values. */ + public static Collection values() { + return values(OperationKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationStatus.java index bbf2198f8a859..101d9b8af1097 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationStatus.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/OperationStatus.java @@ -15,11 +15,14 @@ public enum OperationStatus { /** Enum value running. */ RUNNING("running"), + /** Enum value failed. */ + FAILED("failed"), + /** Enum value succeeded. */ SUCCEEDED("succeeded"), - /** Enum value failed. */ - FAILED("failed"); + /** Enum value canceled. */ + CANCELED("canceled"); /** The actual serialized value for a OperationStatus instance. */ private final String value; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/PageResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/PageResult.java deleted file mode 100644 index 455a340c60495..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/PageResult.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Extracted information from a single page. */ -@Fluent -public final class PageResult { - /* - * Page number. - */ - @JsonProperty(value = "page", required = true) - private int page; - - /* - * Cluster identifier. - */ - @JsonProperty(value = "clusterId") - private Integer clusterId; - - /* - * List of key-value pairs extracted from the page. - */ - @JsonProperty(value = "keyValuePairs") - private List keyValuePairs; - - /* - * List of data tables extracted from the page. - */ - @JsonProperty(value = "tables") - private List tables; - - /** - * Get the page property: Page number. - * - * @return the page value. - */ - public int getPage() { - return this.page; - } - - /** - * Set the page property: Page number. - * - * @param page the page value to set. - * @return the PageResult object itself. - */ - public PageResult setPage(int page) { - this.page = page; - return this; - } - - /** - * Get the clusterId property: Cluster identifier. - * - * @return the clusterId value. - */ - public Integer getClusterId() { - return this.clusterId; - } - - /** - * Set the clusterId property: Cluster identifier. - * - * @param clusterId the clusterId value to set. - * @return the PageResult object itself. - */ - public PageResult setClusterId(Integer clusterId) { - this.clusterId = clusterId; - return this; - } - - /** - * Get the keyValuePairs property: List of key-value pairs extracted from the page. - * - * @return the keyValuePairs value. - */ - public List getKeyValuePairs() { - return this.keyValuePairs; - } - - /** - * Set the keyValuePairs property: List of key-value pairs extracted from the page. - * - * @param keyValuePairs the keyValuePairs value to set. - * @return the PageResult object itself. - */ - public PageResult setKeyValuePairs(List keyValuePairs) { - this.keyValuePairs = keyValuePairs; - return this; - } - - /** - * Get the tables property: List of data tables extracted from the page. - * - * @return the tables value. - */ - public List getTables() { - return this.tables; - } - - /** - * Set the tables property: List of data tables extracted from the page. - * - * @param tables the tables value to set. - * @return the PageResult object itself. - */ - public PageResult setTables(List tables) { - this.tables = tables; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadResult.java deleted file mode 100644 index 36f24b58bfc20..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadResult.java +++ /dev/null @@ -1,216 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.ai.formrecognizer.models.LengthUnit; -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Text extracted from a page in the input document. */ -@Fluent -public final class ReadResult { - /* - * The 1-based page number in the input document. - */ - @JsonProperty(value = "page", required = true) - private int page; - - /* - * The general orientation of the text in clockwise direction, measured in - * degrees between (-180, 180]. - */ - @JsonProperty(value = "angle", required = true) - private float angle; - - /* - * The width of the image/PDF in pixels/inches, respectively. - */ - @JsonProperty(value = "width", required = true) - private float width; - - /* - * The height of the image/PDF in pixels/inches, respectively. - */ - @JsonProperty(value = "height", required = true) - private float height; - - /* - * The unit used by the width, height and boundingBox properties. For - * images, the unit is "pixel". For PDF, the unit is "inch". - */ - @JsonProperty(value = "unit", required = true) - private LengthUnit unit; - - /* - * When includeTextDetails is set to true, a list of recognized text lines. - * The maximum number of lines returned is 300 per page. The lines are - * sorted top to bottom, left to right, although in certain cases proximity - * is treated with higher priority. As the sorting order depends on the - * detected text, it may change across images and OCR version updates. - * Thus, business logic should be built upon the actual line location - * instead of order. - */ - @JsonProperty(value = "lines") - private List lines; - - /* - * List of selection marks extracted from the page. - */ - @JsonProperty(value = "selectionMarks") - private List selectionMarks; - - /** - * Get the page property: The 1-based page number in the input document. - * - * @return the page value. - */ - public int getPage() { - return this.page; - } - - /** - * Set the page property: The 1-based page number in the input document. - * - * @param page the page value to set. - * @return the ReadResult object itself. - */ - public ReadResult setPage(int page) { - this.page = page; - return this; - } - - /** - * Get the angle property: The general orientation of the text in clockwise direction, measured in degrees between - * (-180, 180]. - * - * @return the angle value. - */ - public float getAngle() { - return this.angle; - } - - /** - * Set the angle property: The general orientation of the text in clockwise direction, measured in degrees between - * (-180, 180]. - * - * @param angle the angle value to set. - * @return the ReadResult object itself. - */ - public ReadResult setAngle(float angle) { - this.angle = angle; - return this; - } - - /** - * Get the width property: The width of the image/PDF in pixels/inches, respectively. - * - * @return the width value. - */ - public float getWidth() { - return this.width; - } - - /** - * Set the width property: The width of the image/PDF in pixels/inches, respectively. - * - * @param width the width value to set. - * @return the ReadResult object itself. - */ - public ReadResult setWidth(float width) { - this.width = width; - return this; - } - - /** - * Get the height property: The height of the image/PDF in pixels/inches, respectively. - * - * @return the height value. - */ - public float getHeight() { - return this.height; - } - - /** - * Set the height property: The height of the image/PDF in pixels/inches, respectively. - * - * @param height the height value to set. - * @return the ReadResult object itself. - */ - public ReadResult setHeight(float height) { - this.height = height; - return this; - } - - /** - * Get the unit property: The unit used by the width, height and boundingBox properties. For images, the unit is - * "pixel". For PDF, the unit is "inch". - * - * @return the unit value. - */ - public LengthUnit getUnit() { - return this.unit; - } - - /** - * Set the unit property: The unit used by the width, height and boundingBox properties. For images, the unit is - * "pixel". For PDF, the unit is "inch". - * - * @param unit the unit value to set. - * @return the ReadResult object itself. - */ - public ReadResult setUnit(LengthUnit unit) { - this.unit = unit; - return this; - } - - /** - * Get the lines property: When includeTextDetails is set to true, a list of recognized text lines. The maximum - * number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain - * cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change - * across images and OCR version updates. Thus, business logic should be built upon the actual line location instead - * of order. - * - * @return the lines value. - */ - public List getLines() { - return this.lines; - } - - /** - * Set the lines property: When includeTextDetails is set to true, a list of recognized text lines. The maximum - * number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain - * cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change - * across images and OCR version updates. Thus, business logic should be built upon the actual line location instead - * of order. - * - * @param lines the lines value to set. - * @return the ReadResult object itself. - */ - public ReadResult setLines(List lines) { - this.lines = lines; - return this; - } - - /** - * Get the selectionMarks property: List of selection marks extracted from the page. - * - * @return the selectionMarks value. - */ - public List getSelectionMarks() { - return this.selectionMarks; - } - - /** - * Set the selectionMarks property: List of selection marks extracted from the page. - * - * @param selectionMarks the selectionMarks value to set. - * @return the ReadResult object itself. - */ - public ReadResult setSelectionMarks(List selectionMarks) { - this.selectionMarks = selectionMarks; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadingOrder.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadingOrder.java deleted file mode 100644 index 5764322b7e837..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/ReadingOrder.java +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - -/** Defines values for ReadingOrder. */ -public enum ReadingOrder { - /** Enum value basic. */ - BASIC("basic"), - - /** Enum value natural. */ - NATURAL("natural"); - - /** The actual serialized value for a ReadingOrder instance. */ - private final String value; - - ReadingOrder(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a ReadingOrder instance. - * - * @param value the serialized value to parse. - * @return the parsed ReadingOrder object, or null if unable to parse. - */ - @JsonCreator - public static ReadingOrder fromString(String value) { - ReadingOrder[] items = ReadingOrder.values(); - for (ReadingOrder item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - @JsonValue - @Override - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SourcePath.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SourcePath.java deleted file mode 100644 index 460a9a42e6d95..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/SourcePath.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Uri or local path to source data. */ -@Fluent -public final class SourcePath { - /* - * File source path. - */ - @JsonProperty(value = "source") - private String source; - - /** - * Get the source property: File source path. - * - * @return the source value. - */ - public String getSource() { - return this.source; - } - - /** - * Set the source property: File source path. - * - * @param source the source value to set. - * @return the SourcePath object itself. - */ - public SourcePath setSource(String source) { - this.source = source; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/StringIndexType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/StringIndexType.java new file mode 100644 index 0000000000000..56af67964fc06 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/StringIndexType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for StringIndexType. */ +public final class StringIndexType extends ExpandableStringEnum { + /** Static value textElements for StringIndexType. */ + public static final StringIndexType TEXT_ELEMENTS = fromString("textElements"); + + /** Static value unicodeCodePoint for StringIndexType. */ + public static final StringIndexType UNICODE_CODE_POINT = fromString("unicodeCodePoint"); + + /** Static value utf16CodeUnit for StringIndexType. */ + public static final StringIndexType UTF16CODE_UNIT = fromString("utf16CodeUnit"); + + /** + * Creates or finds a StringIndexType from its string representation. + * + * @param name a name to look for. + * @return the corresponding StringIndexType. + */ + @JsonCreator + public static StringIndexType fromString(String name) { + return fromString(name, StringIndexType.class); + } + + /** @return known StringIndexType values. */ + public static Collection values() { + return values(StringIndexType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Style.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Style.java deleted file mode 100644 index dd88586d46ba7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/Style.java +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** An object representing the style of the text line. */ -@Fluent -public final class Style { - /* - * The text line style name, including handwriting and other. - */ - @JsonProperty(value = "name", required = true) - private TextStyle name; - - /* - * The confidence of text line style. - */ - @JsonProperty(value = "confidence", required = true) - private float confidence; - - /** - * Get the name property: The text line style name, including handwriting and other. - * - * @return the name value. - */ - public TextStyle getName() { - return this.name; - } - - /** - * Set the name property: The text line style name, including handwriting and other. - * - * @param name the name value to set. - * @return the Style object itself. - */ - public Style setName(TextStyle name) { - this.name = name; - return this; - } - - /** - * Get the confidence property: The confidence of text line style. - * - * @return the confidence value. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * Set the confidence property: The confidence of text line style. - * - * @param confidence the confidence value to set. - * @return the Style object itself. - */ - public Style setConfidence(float confidence) { - this.confidence = confidence; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextLine.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextLine.java deleted file mode 100644 index 04103121816c4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextLine.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** An object representing an extracted text line. */ -@Fluent -public final class TextLine { - /* - * The text content of the line. - */ - @JsonProperty(value = "text", required = true) - private String text; - - /* - * Bounding box of an extracted line. - */ - @JsonProperty(value = "boundingBox", required = true) - private List boundingBox; - - /* - * List of words in the text line. - */ - @JsonProperty(value = "words", required = true) - private List words; - - /* - * Text appearance properties. - */ - @JsonProperty(value = "appearance") - private Appearance appearance; - - /** - * Get the text property: The text content of the line. - * - * @return the text value. - */ - public String getText() { - return this.text; - } - - /** - * Set the text property: The text content of the line. - * - * @param text the text value to set. - * @return the TextLine object itself. - */ - public TextLine setText(String text) { - this.text = text; - return this; - } - - /** - * Get the boundingBox property: Bounding box of an extracted line. - * - * @return the boundingBox value. - */ - public List getBoundingBox() { - return this.boundingBox; - } - - /** - * Set the boundingBox property: Bounding box of an extracted line. - * - * @param boundingBox the boundingBox value to set. - * @return the TextLine object itself. - */ - public TextLine setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; - return this; - } - - /** - * Get the words property: List of words in the text line. - * - * @return the words value. - */ - public List getWords() { - return this.words; - } - - /** - * Set the words property: List of words in the text line. - * - * @param words the words value to set. - * @return the TextLine object itself. - */ - public TextLine setWords(List words) { - this.words = words; - return this; - } - - /** - * Get the appearance property: Text appearance properties. - * - * @return the appearance value. - */ - public Appearance getAppearance() { - return this.appearance; - } - - /** - * Set the appearance property: Text appearance properties. - * - * @param appearance the appearance value to set. - * @return the TextLine object itself. - */ - public TextLine setAppearance(Appearance appearance) { - this.appearance = appearance; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextStyle.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextStyle.java deleted file mode 100644 index 90d8ed4eb1f47..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextStyle.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for TextStyle. */ -public final class TextStyle extends ExpandableStringEnum { - /** Static value other for TextStyle. */ - public static final TextStyle OTHER = fromString("other"); - - /** Static value handwriting for TextStyle. */ - public static final TextStyle HANDWRITING = fromString("handwriting"); - - /** - * Creates or finds a TextStyle from its string representation. - * - * @param name a name to look for. - * @return the corresponding TextStyle. - */ - @JsonCreator - public static TextStyle fromString(String name) { - return fromString(name, TextStyle.class); - } - - /** @return known TextStyle values. */ - public static Collection values() { - return values(TextStyle.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextWord.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextWord.java deleted file mode 100644 index 7cb4be453d323..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TextWord.java +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** An object representing a word. */ -@Fluent -public final class TextWord { - /* - * The text content of the word. - */ - @JsonProperty(value = "text", required = true) - private String text; - - /* - * Bounding box of an extracted word. - */ - @JsonProperty(value = "boundingBox", required = true) - private List boundingBox; - - /* - * Confidence value. - */ - @JsonProperty(value = "confidence") - private Float confidence; - - /** - * Get the text property: The text content of the word. - * - * @return the text value. - */ - public String getText() { - return this.text; - } - - /** - * Set the text property: The text content of the word. - * - * @param text the text value to set. - * @return the TextWord object itself. - */ - public TextWord setText(String text) { - this.text = text; - return this; - } - - /** - * Get the boundingBox property: Bounding box of an extracted word. - * - * @return the boundingBox value. - */ - public List getBoundingBox() { - return this.boundingBox; - } - - /** - * Set the boundingBox property: Bounding box of an extracted word. - * - * @param boundingBox the boundingBox value to set. - * @return the TextWord object itself. - */ - public TextWord setBoundingBox(List boundingBox) { - this.boundingBox = boundingBox; - return this; - } - - /** - * Get the confidence property: Confidence value. - * - * @return the confidence value. - */ - public Float getConfidence() { - return this.confidence; - } - - /** - * Set the confidence property: Confidence value. - * - * @param confidence the confidence value to set. - * @return the TextWord object itself. - */ - public TextWord setConfidence(Float confidence) { - this.confidence = confidence; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncHeaders.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncHeaders.java deleted file mode 100644 index 4e9675ccaa743..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncHeaders.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** The TrainCustomModelAsyncHeaders model. */ -@Fluent -public final class TrainCustomModelAsyncHeaders { - /* - * The Location property. - */ - @JsonProperty(value = "Location") - private String location; - - /** - * Get the location property: The Location property. - * - * @return the location value. - */ - public String getLocation() { - return this.location; - } - - /** - * Set the location property: The Location property. - * - * @param location the location value to set. - * @return the TrainCustomModelAsyncHeaders object itself. - */ - public TrainCustomModelAsyncHeaders setLocation(String location) { - this.location = location; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncResponse.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncResponse.java deleted file mode 100644 index e1baeef294716..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainCustomModelAsyncResponse.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.http.HttpHeaders; -import com.azure.core.http.HttpRequest; -import com.azure.core.http.rest.ResponseBase; - -/** Contains all response data for the trainCustomModelAsync operation. */ -public final class TrainCustomModelAsyncResponse extends ResponseBase { - /** - * Creates an instance of TrainCustomModelAsyncResponse. - * - * @param request the request which resulted in this TrainCustomModelAsyncResponse. - * @param statusCode the status code of the HTTP response. - * @param rawHeaders the raw headers of the HTTP response. - * @param value the deserialized value of the HTTP response. - * @param headers the deserialized headers of the HTTP response. - */ - public TrainCustomModelAsyncResponse( - HttpRequest request, - int statusCode, - HttpHeaders rawHeaders, - Void value, - TrainCustomModelAsyncHeaders headers) { - super(request, statusCode, rawHeaders, value, headers); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainRequest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainRequest.java deleted file mode 100644 index 59e12405aea54..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainRequest.java +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Request parameter to train a new custom model. */ -@Fluent -public final class TrainRequest { - /* - * Source path containing the training documents. - */ - @JsonProperty(value = "source", required = true) - private String source; - - /* - * Filter to apply to the documents in the source path for training. - */ - @JsonProperty(value = "sourceFilter") - private TrainSourceFilter sourceFilter; - - /* - * Use label file for training a model. - */ - @JsonProperty(value = "useLabelFile") - private Boolean useLabelFile; - - /* - * Optional user defined model name (max length: 1024). - */ - @JsonProperty(value = "modelName") - private String modelName; - - /** - * Get the source property: Source path containing the training documents. - * - * @return the source value. - */ - public String getSource() { - return this.source; - } - - /** - * Set the source property: Source path containing the training documents. - * - * @param source the source value to set. - * @return the TrainRequest object itself. - */ - public TrainRequest setSource(String source) { - this.source = source; - return this; - } - - /** - * Get the sourceFilter property: Filter to apply to the documents in the source path for training. - * - * @return the sourceFilter value. - */ - public TrainSourceFilter getSourceFilter() { - return this.sourceFilter; - } - - /** - * Set the sourceFilter property: Filter to apply to the documents in the source path for training. - * - * @param sourceFilter the sourceFilter value to set. - * @return the TrainRequest object itself. - */ - public TrainRequest setSourceFilter(TrainSourceFilter sourceFilter) { - this.sourceFilter = sourceFilter; - return this; - } - - /** - * Get the useLabelFile property: Use label file for training a model. - * - * @return the useLabelFile value. - */ - public Boolean isUseLabelFile() { - return this.useLabelFile; - } - - /** - * Set the useLabelFile property: Use label file for training a model. - * - * @param useLabelFile the useLabelFile value to set. - * @return the TrainRequest object itself. - */ - public TrainRequest setUseLabelFile(Boolean useLabelFile) { - this.useLabelFile = useLabelFile; - return this; - } - - /** - * Get the modelName property: Optional user defined model name (max length: 1024). - * - * @return the modelName value. - */ - public String getModelName() { - return this.modelName; - } - - /** - * Set the modelName property: Optional user defined model name (max length: 1024). - * - * @param modelName the modelName value to set. - * @return the TrainRequest object itself. - */ - public TrainRequest setModelName(String modelName) { - this.modelName = modelName; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainResult.java deleted file mode 100644 index 3f2ec8e1c60aa..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainResult.java +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; -import java.util.UUID; - -/** Custom model training result. */ -@Fluent -public final class TrainResult { - /* - * List of the documents used to train the model and any errors reported in - * each document. - */ - @JsonProperty(value = "trainingDocuments", required = true) - private List trainingDocuments; - - /* - * List of fields used to train the model and the train operation error - * reported by each. - */ - @JsonProperty(value = "fields") - private List fields; - - /* - * Average accuracy. - */ - @JsonProperty(value = "averageModelAccuracy") - private Float averageModelAccuracy; - - /* - * Model identifier. - */ - @JsonProperty(value = "modelId") - private UUID modelId; - - /* - * Errors returned during the training operation. - */ - @JsonProperty(value = "errors") - private List errors; - - /** - * Get the trainingDocuments property: List of the documents used to train the model and any errors reported in each - * document. - * - * @return the trainingDocuments value. - */ - public List getTrainingDocuments() { - return this.trainingDocuments; - } - - /** - * Set the trainingDocuments property: List of the documents used to train the model and any errors reported in each - * document. - * - * @param trainingDocuments the trainingDocuments value to set. - * @return the TrainResult object itself. - */ - public TrainResult setTrainingDocuments(List trainingDocuments) { - this.trainingDocuments = trainingDocuments; - return this; - } - - /** - * Get the fields property: List of fields used to train the model and the train operation error reported by each. - * - * @return the fields value. - */ - public List getFields() { - return this.fields; - } - - /** - * Set the fields property: List of fields used to train the model and the train operation error reported by each. - * - * @param fields the fields value to set. - * @return the TrainResult object itself. - */ - public TrainResult setFields(List fields) { - this.fields = fields; - return this; - } - - /** - * Get the averageModelAccuracy property: Average accuracy. - * - * @return the averageModelAccuracy value. - */ - public Float getAverageModelAccuracy() { - return this.averageModelAccuracy; - } - - /** - * Set the averageModelAccuracy property: Average accuracy. - * - * @param averageModelAccuracy the averageModelAccuracy value to set. - * @return the TrainResult object itself. - */ - public TrainResult setAverageModelAccuracy(Float averageModelAccuracy) { - this.averageModelAccuracy = averageModelAccuracy; - return this; - } - - /** - * Get the modelId property: Model identifier. - * - * @return the modelId value. - */ - public UUID getModelId() { - return this.modelId; - } - - /** - * Set the modelId property: Model identifier. - * - * @param modelId the modelId value to set. - * @return the TrainResult object itself. - */ - public TrainResult setModelId(UUID modelId) { - this.modelId = modelId; - return this; - } - - /** - * Get the errors property: Errors returned during the training operation. - * - * @return the errors value. - */ - public List getErrors() { - return this.errors; - } - - /** - * Set the errors property: Errors returned during the training operation. - * - * @param errors the errors value to set. - * @return the TrainResult object itself. - */ - public TrainResult setErrors(List errors) { - this.errors = errors; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainSourceFilter.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainSourceFilter.java deleted file mode 100644 index 4305a1c533eb6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainSourceFilter.java +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** Filter to apply to the documents in the source path for training. */ -@Fluent -public final class TrainSourceFilter { - /* - * A case-sensitive prefix string to filter documents in the source path - * for training. For example, when using a Azure storage blob Uri, use the - * prefix to restrict sub folders for training. - */ - @JsonProperty(value = "prefix") - private String prefix; - - /* - * A flag to indicate if sub folders within the set of prefix folders will - * also need to be included when searching for content to be preprocessed. - */ - @JsonProperty(value = "includeSubFolders") - private Boolean includeSubFolders; - - /** - * Get the prefix property: A case-sensitive prefix string to filter documents in the source path for training. For - * example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training. - * - * @return the prefix value. - */ - public String getPrefix() { - return this.prefix; - } - - /** - * Set the prefix property: A case-sensitive prefix string to filter documents in the source path for training. For - * example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training. - * - * @param prefix the prefix value to set. - * @return the TrainSourceFilter object itself. - */ - public TrainSourceFilter setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Get the includeSubFolders property: A flag to indicate if sub folders within the set of prefix folders will also - * need to be included when searching for content to be preprocessed. - * - * @return the includeSubFolders value. - */ - public Boolean isIncludeSubFolders() { - return this.includeSubFolders; - } - - /** - * Set the includeSubFolders property: A flag to indicate if sub folders within the set of prefix folders will also - * need to be included when searching for content to be preprocessed. - * - * @param includeSubFolders the includeSubFolders value to set. - * @return the TrainSourceFilter object itself. - */ - public TrainSourceFilter setIncludeSubFolders(Boolean includeSubFolders) { - this.includeSubFolders = includeSubFolders; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainStatus.java deleted file mode 100644 index 746bf6b055265..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainStatus.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - -/** Defines values for TrainStatus. */ -public enum TrainStatus { - /** Enum value succeeded. */ - SUCCEEDED("succeeded"), - - /** Enum value partiallySucceeded. */ - PARTIALLY_SUCCEEDED("partiallySucceeded"), - - /** Enum value failed. */ - FAILED("failed"); - - /** The actual serialized value for a TrainStatus instance. */ - private final String value; - - TrainStatus(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a TrainStatus instance. - * - * @param value the serialized value to parse. - * @return the parsed TrainStatus object, or null if unable to parse. - */ - @JsonCreator - public static TrainStatus fromString(String value) { - TrainStatus[] items = TrainStatus.values(); - for (TrainStatus item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - @JsonValue - @Override - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainingDocumentInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainingDocumentInfo.java deleted file mode 100644 index 7a69bc38070e4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/TrainingDocumentInfo.java +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.List; - -/** Report for a custom model training document. */ -@Fluent -public final class TrainingDocumentInfo { - /* - * Training document name. - */ - @JsonProperty(value = "documentName", required = true) - private String documentName; - - /* - * Total number of pages trained. - */ - @JsonProperty(value = "pages", required = true) - private int pages; - - /* - * List of errors. - */ - @JsonProperty(value = "errors", required = true) - private List errors; - - /* - * Status of the training operation. - */ - @JsonProperty(value = "status", required = true) - private TrainStatus status; - - /** - * Get the documentName property: Training document name. - * - * @return the documentName value. - */ - public String getDocumentName() { - return this.documentName; - } - - /** - * Set the documentName property: Training document name. - * - * @param documentName the documentName value to set. - * @return the TrainingDocumentInfo object itself. - */ - public TrainingDocumentInfo setDocumentName(String documentName) { - this.documentName = documentName; - return this; - } - - /** - * Get the pages property: Total number of pages trained. - * - * @return the pages value. - */ - public int getPages() { - return this.pages; - } - - /** - * Set the pages property: Total number of pages trained. - * - * @param pages the pages value to set. - * @return the TrainingDocumentInfo object itself. - */ - public TrainingDocumentInfo setPages(int pages) { - this.pages = pages; - return this; - } - - /** - * Get the errors property: List of errors. - * - * @return the errors value. - */ - public List getErrors() { - return this.errors; - } - - /** - * Set the errors property: List of errors. - * - * @param errors the errors value to set. - * @return the TrainingDocumentInfo object itself. - */ - public TrainingDocumentInfo setErrors(List errors) { - this.errors = errors; - return this; - } - - /** - * Get the status property: Status of the training operation. - * - * @return the status value. - */ - public TrainStatus getStatus() { - return this.status; - } - - /** - * Set the status property: Status of the training operation. - * - * @param status the status value to set. - * @return the TrainingDocumentInfo object itself. - */ - public TrainingDocumentInfo setStatus(TrainStatus status) { - this.status = status; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/WebContentSource.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/WebContentSource.java new file mode 100644 index 0000000000000..d6829c2de2d55 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/WebContentSource.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.ai.formrecognizer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Publicly accessible Internet content. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("web") +@Fluent +public final class WebContentSource extends ContentSource { + /* + * Publicly accessible URL. + */ + @JsonProperty(value = "url", required = true) + private String url; + + /** + * Get the url property: Publicly accessible URL. + * + * @return the url value. + */ + public String getUrl() { + return this.url; + } + + /** + * Set the url property: Publicly accessible URL. + * + * @param url the url value to set. + * @return the WebContentSource object itself. + */ + public WebContentSource setUrl(String url) { + this.url = url; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/package-info.java index 2eea555814abf..bfac6d9f68a50 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/package-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/models/package-info.java @@ -3,7 +3,7 @@ // Code generated by Microsoft (R) AutoRest Code Generator. /** - * Package containing the data models for FormRecognizerClient. Extracts information from forms and images into - * structured data. + * Package containing the data models for FormRecognizerClient. Extracts content, layout, and structured data from + * documents. */ package com.azure.ai.formrecognizer.implementation.models; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/package-info.java index 390a816a486a2..be813ad0f4798 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/package-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/package-info.java @@ -3,7 +3,7 @@ // Code generated by Microsoft (R) AutoRest Code Generator. /** - * Package containing the implementations for FormRecognizerClient. Extracts information from forms and images into - * structured data. + * Package containing the implementations for FormRecognizerClient. Extracts content, layout, and structured data from + * documents. */ package com.azure.ai.formrecognizer.implementation; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AccountPropertiesHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AccountPropertiesHelper.java new file mode 100644 index 0000000000000..2594cc385fff3 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AccountPropertiesHelper.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.AccountProperties; + +/** + * The helper class to set the non-public properties of an {@link AccountProperties} instance. + */ +public final class AccountPropertiesHelper { + private static AccountPropertiesAccessor accessor; + + private AccountPropertiesHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link AccountProperties} instance. + */ + public interface AccountPropertiesAccessor { + void setDocumentModelCount(AccountProperties accountProperties, int documentModelCount); + void setDocumentModelLimit(AccountProperties accountProperties, int documentModelLimit); + } + + /** + * The method called from {@link AccountProperties} to set it's accessor. + * + * @param accountPropertiesAccessor The accessor. + */ + public static void setAccessor(final AccountPropertiesHelper.AccountPropertiesAccessor accountPropertiesAccessor) { + accessor = accountPropertiesAccessor; + } + + static void setDocumentModelCount(AccountProperties accountProperties, int documentModelCount) { + accessor.setDocumentModelCount(accountProperties, documentModelCount); + } + + static void setDocumentModelLimit(AccountProperties accountProperties, int documentModelLimit) { + accessor.setDocumentModelLimit(accountProperties, documentModelLimit); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzeResultHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzeResultHelper.java new file mode 100644 index 0000000000000..31bf9ac762999 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzeResultHelper.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentEntity; +import com.azure.ai.formrecognizer.models.DocumentKeyValuePair; +import com.azure.ai.formrecognizer.models.DocumentPage; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentStyle; +import com.azure.ai.formrecognizer.models.DocumentTable; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link AnalyzeResult} instance. + */ +public final class AnalyzeResultHelper { + private static AnalyzeResultAccessor accessor; + + private AnalyzeResultHelper() { } + + /** + * Type defining the methods to set the non-public properties of an {@link AnalyzeResult} instance. + */ + public interface AnalyzeResultAccessor { + void setModelId(AnalyzeResult analyzeResult, String id); + void setContent(AnalyzeResult analyzeResult, String content); + void setPages(AnalyzeResult analyzeResult, List pages); + void setTables(AnalyzeResult analyzeResult, List tables); + void setKeyValuePairs(AnalyzeResult analyzeResult, List keyValuePairs); + void setEntities(AnalyzeResult analyzeResult, List entities); + void setStyles(AnalyzeResult analyzeResult, List documentStyles); + void setDocuments(AnalyzeResult analyzeResult, List documents); + } + + /** + * The method called from {@link AnalyzeResult} to set it's accessor. + * + * @param analyzeResultAccessor The accessor. + */ + public static void setAccessor(final AnalyzeResultAccessor analyzeResultAccessor) { + accessor = analyzeResultAccessor; + } + + static void setModelId(AnalyzeResult analyzeResult, String modelId) { + accessor.setModelId(analyzeResult, modelId); + } + + static void setContent(AnalyzeResult analyzeResult, String content) { + accessor.setContent(analyzeResult, content); + } + + static void setPages(AnalyzeResult analyzeResult, List pages) { + accessor.setPages(analyzeResult, pages); + } + + static void setTables(AnalyzeResult analyzeResult, List tables) { + accessor.setTables(analyzeResult, tables); + } + + static void setKeyValuePairs(AnalyzeResult analyzeResult, List keyValuePairs) { + accessor.setKeyValuePairs(analyzeResult, keyValuePairs); + } + + static void setEntities(AnalyzeResult analyzeResult, List entities) { + accessor.setEntities(analyzeResult, entities); + } + + static void setDocuments(AnalyzeResult analyzeResult, List documents) { + accessor.setDocuments(analyzeResult, documents); + } + + static void setStyles(AnalyzeResult analyzeResult, List styles) { + accessor.setStyles(analyzeResult, styles); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzedDocumentHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzedDocumentHelper.java new file mode 100644 index 0000000000000..f4a33a9d35984 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/AnalyzedDocumentHelper.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link AnalyzedDocument} instance. + */ +public final class AnalyzedDocumentHelper { + private static AnalyzedDocumentAccessor accessor; + + private AnalyzedDocumentHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link AnalyzedDocument} instance. + */ + public interface AnalyzedDocumentAccessor { + void setDocType(AnalyzedDocument analyzedDocument, String docType); + void setBoundingRegions(AnalyzedDocument analyzedDocument, List boundingRegions); + void setSpans(AnalyzedDocument analyzedDocument, List spans); + void setFields(AnalyzedDocument analyzedDocument, Map fields); + void setConfidence(AnalyzedDocument analyzedDocument, float confidence); + } + + /** + * The method called from {@link AnalyzedDocument} to set it's accessor. + * + * @param analyzedDocumentAccessor The accessor. + */ + public static void setAccessor(final AnalyzedDocumentHelper.AnalyzedDocumentAccessor analyzedDocumentAccessor) { + accessor = analyzedDocumentAccessor; + } + + static void setDocType(AnalyzedDocument analyzedDocument, String docType) { + accessor.setDocType(analyzedDocument, docType); + } + + static void setBoundingRegions(AnalyzedDocument analyzedDocument, List boundingRegions) { + accessor.setBoundingRegions(analyzedDocument, boundingRegions); + } + + static void setSpans(AnalyzedDocument analyzedDocument, List spans) { + accessor.setSpans(analyzedDocument, spans); + } + + static void setFields(AnalyzedDocument analyzedDocument, Map fields) { + accessor.setFields(analyzedDocument, fields); + } + + static void setConfidence(AnalyzedDocument analyzedDocument, float confidence) { + accessor.setConfidence(analyzedDocument, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/BoundingRegionHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/BoundingRegionHelper.java new file mode 100644 index 0000000000000..f1951dc0b0344 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/BoundingRegionHelper.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link BoundingRegion} instance. + */ +public final class BoundingRegionHelper { + private static BoundingRegionAccessor accessor; + + private BoundingRegionHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link BoundingRegion} instance. + */ + public interface BoundingRegionAccessor { + void setPageNumber(BoundingRegion boundingRegion, int pageNumber); + void setBoundingBox(BoundingRegion boundingRegion, List boundingBox); + } + + /** + * The method called from {@link BoundingRegion} to set it's accessor. + * + * @param boundingRegionAccessor The accessor. + */ + public static void setAccessor(final BoundingRegionHelper.BoundingRegionAccessor boundingRegionAccessor) { + accessor = boundingRegionAccessor; + } + + static void setPageNumber(BoundingRegion boundingRegion, int pageNumber) { + accessor.setPageNumber(boundingRegion, pageNumber); + } + + static void setBoundingBox(BoundingRegion boundingRegion, List boundingBox) { + accessor.setBoundingBox(boundingRegion, boundingBox); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Constants.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Constants.java similarity index 61% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Constants.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Constants.java index 6a9b0ea9228b1..77e472d84312c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/Constants.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Constants.java @@ -1,14 +1,26 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.ai.formrecognizer.implementation; +package com.azure.ai.formrecognizer.implementation.util; +import com.azure.core.http.HttpHeaders; import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.util.ClientOptions; +import java.time.Duration; import java.util.function.Supplier; public class Constants { + static final String DEFAULT_SCOPE = "https://cognitiveservices.azure.com/.default"; + static final String FORM_RECOGNIZER_PROPERTIES = "azure-ai-formrecognizer.properties"; + static final String NAME = "name"; + static final String OCP_APIM_SUBSCRIPTION_KEY = "Ocp-Apim-Subscription-Key"; + static final String VERSION = "version"; + static final ClientOptions DEFAULT_CLIENT_OPTIONS = new ClientOptions(); + static final HttpHeaders DEFAULT_HTTP_HEADERS = new HttpHeaders(); + static final HttpLogOptions DEFAULT_LOG_OPTIONS = new HttpLogOptions(); + public static final Duration DEFAULT_POLL_INTERVAL = Duration.ofSeconds(5); public static final Supplier DEFAULT_LOG_OPTIONS_SUPPLIER = () -> { HttpLogOptions logOptions = new HttpLogOptions(); diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/CopyAuthorizationHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/CopyAuthorizationHelper.java new file mode 100644 index 0000000000000..73aade645c4e4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/CopyAuthorizationHelper.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; + +import java.time.OffsetDateTime; + +/** + * The helper class to set the non-public properties of an {@link CopyAuthorization} instance. + */ +public final class CopyAuthorizationHelper { + private static CopyAuthorizationAccessor accessor; + + private CopyAuthorizationHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link CopyAuthorization} instance. + */ + public interface CopyAuthorizationAccessor { + + void setTargetResourceId(CopyAuthorization copyAuthorization, String targetResourceId); + + void setTargetResourceRegion(CopyAuthorization copyAuthorization, String targetResourceRegion); + + void setTargetModelId(CopyAuthorization copyAuthorization, String targetModelId); + + void setTargetModelLocation(CopyAuthorization copyAuthorization, String targetModelLocation); + + void setAccessToken(CopyAuthorization copyAuthorization, String accessToken); + + void setExpirationDateTime(CopyAuthorization copyAuthorization, OffsetDateTime expirationDateTime); + } + + /** + * The method called from {@link CopyAuthorization} to set it's accessor. + * + * @param copyAuthorizationAccessor The accessor. + */ + public static void setAccessor(final CopyAuthorizationAccessor copyAuthorizationAccessor) { + accessor = copyAuthorizationAccessor; + } + + static void setTargetResourceId(CopyAuthorization copyAuthorization, String targetResourceId) { + accessor.setTargetResourceId(copyAuthorization, targetResourceId); + } + + static void setTargetResourceRegion(CopyAuthorization copyAuthorization, String targetResourceRegion) { + accessor.setTargetResourceRegion(copyAuthorization, targetResourceRegion); + } + + static void setTargetModelId(CopyAuthorization copyAuthorization, String targetModelId) { + accessor.setTargetModelId(copyAuthorization, targetModelId); + } + + static void setTargetModelLocation(CopyAuthorization copyAuthorization, String targetModelLocation) { + accessor.setTargetModelLocation(copyAuthorization, targetModelLocation); + } + + static void setAccessToken(CopyAuthorization copyAuthorization, String accessToken) { + accessor.setAccessToken(copyAuthorization, accessToken); + } + + static void setExpirationDateTime(CopyAuthorization copyAuthorization, OffsetDateTime expirationDateTime) { + accessor.setExpirationDateTime(copyAuthorization, expirationDateTime); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocTypeInfoHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocTypeInfoHelper.java new file mode 100644 index 0000000000000..c92ea03e5099a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocTypeInfoHelper.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.DocTypeInfo; +import com.azure.ai.formrecognizer.administration.models.DocumentFieldSchema; + +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link DocTypeInfo} instance. + */ +public final class DocTypeInfoHelper { + private static DocTypeInfoAccessor accessor; + + private DocTypeInfoHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocTypeInfo} instance. + */ + public interface DocTypeInfoAccessor { + void setDescription(DocTypeInfo docTypeInfo, String description); + void setFieldSchema(DocTypeInfo docTypeInfo, Map fieldSchema); + void setFieldConfidence(DocTypeInfo docTypeInfo, Map fieldConfidence); + } + + /** + * The method called from {@link DocTypeInfo} to set it's accessor. + * + * @param docInfoAccessor The accessor. + */ + public static void setAccessor(final DocTypeInfoHelper.DocTypeInfoAccessor docInfoAccessor) { + accessor = docInfoAccessor; + } + + static void setDescription(DocTypeInfo docTypeInfo, String description) { + accessor.setDescription(docTypeInfo, description); + } + + static void setFieldSchema(DocTypeInfo docTypeInfo, Map fieldSchema) { + accessor.setFieldSchema(docTypeInfo, fieldSchema); + } + + static void setFieldConfidence(DocTypeInfo docTypeInfo, Map fieldConfidence) { + accessor.setFieldConfidence(docTypeInfo, fieldConfidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentAnalysisExceptionHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentAnalysisExceptionHelper.java new file mode 100644 index 0000000000000..77c8f1dea4b7b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentAnalysisExceptionHelper.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; + +/** + * The helper class to set the non-public properties of an {@link DocumentAnalysisException} instance. + */ +public final class DocumentAnalysisExceptionHelper { + private static DocumentAnalysisExceptionAccessor accessor; + + private DocumentAnalysisExceptionHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentAnalysisException} instance. + */ + public interface DocumentAnalysisExceptionAccessor { + void setErrorInformation(DocumentAnalysisException documentAnalysisException, FormRecognizerError formRecognizerError); + } + + /** + * The method called from {@link DocumentAnalysisException} to set it's accessor. + * + * @param documentAnalysisExceptionAccessor The accessor. + */ + public static void setAccessor(final DocumentAnalysisExceptionHelper.DocumentAnalysisExceptionAccessor documentAnalysisExceptionAccessor) { + accessor = documentAnalysisExceptionAccessor; + } + + static void setErrorInformation(DocumentAnalysisException documentAnalysisException, FormRecognizerError formRecognizerError) { + accessor.setErrorInformation(documentAnalysisException, formRecognizerError); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentEntityHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentEntityHelper.java new file mode 100644 index 0000000000000..7fa4e2e56c687 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentEntityHelper.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentEntity; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentEntity} instance. + */ +public final class DocumentEntityHelper { + private static DocumentEntityAccessor accessor; + + private DocumentEntityHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentEntity} instance. + */ + public interface DocumentEntityAccessor { + void setCategory(DocumentEntity documentEntity, String category); + void setSubCategory(DocumentEntity documentEntity, String subCategory); + void setContent(DocumentEntity documentEntity, String content); + void setBoundingRegions(DocumentEntity documentEntity, List boundingRegion); + void setSpans(DocumentEntity documentEntity, List spans); + void setConfidence(DocumentEntity documentEntity, Float confidence); + } + + /** + * The method called from {@link DocumentEntity} to set it's accessor. + * + * @param documentEntityAccessor The accessor. + */ + public static void setAccessor(final DocumentEntityAccessor documentEntityAccessor) { + accessor = documentEntityAccessor; + } + + static void setCategory(DocumentEntity documentEntity, String category) { + accessor.setCategory(documentEntity, category); + } + + static void setSubCategory(DocumentEntity documentEntity, String subCategory) { + accessor.setSubCategory(documentEntity, subCategory); + } + + static void setContent(DocumentEntity documentEntity, String content) { + accessor.setContent(documentEntity, content); + } + + static void setBoundingRegions(DocumentEntity documentEntity, List boundingRegions) { + accessor.setBoundingRegions(documentEntity, boundingRegions); + } + + static void setSpans(DocumentEntity documentEntity, List spans) { + accessor.setSpans(documentEntity, spans); + } + + static void setConfidence(DocumentEntity documentEntity, Float confidence) { + accessor.setConfidence(documentEntity, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldHelper.java new file mode 100644 index 0000000000000..804323a312173 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldHelper.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentSignatureType; +import com.azure.ai.formrecognizer.models.SelectionMarkState; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.List; +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link DocumentField} instance. + */ +public final class DocumentFieldHelper { + private static DocumentFieldHelper.DocumentFieldAccessor accessor; + + private DocumentFieldHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentField} instance. + */ + public interface DocumentFieldAccessor { + void setType(DocumentField documentField, DocumentFieldType type); + + void setValueString(DocumentField documentField, String valueString); + + void setValueDate(DocumentField documentField, LocalDate valueDate); + + void setValueTime(DocumentField documentField, LocalTime valueTime); + + void setValuePhoneNumber(DocumentField documentField, String valuePhoneNumber); + + void setValueNumber(DocumentField documentField, Float valueNumber); + + void setValueInteger(DocumentField documentField, Long valueInteger); + + void setValueSelectionMark(DocumentField documentField, SelectionMarkState valueSelectionMark); + + void setValueSignature(DocumentField documentField, DocumentSignatureType valueSignature); + + void setValueCountryRegion(DocumentField documentField, String valueCountryRegion); + + void setValueArray(DocumentField documentField, List valueArray); + + void setValueObject(DocumentField documentField, Map valueObject); + + void setContent(DocumentField documentField, String content); + + void setBoundingRegions(DocumentField documentField, List boundingRegions); + + void setSpans(DocumentField documentField, List spans); + + void setConfidence(DocumentField documentField, Float confidence); + } + + /** + * The method called from {@link DocumentField} to set it's accessor. + * + * @param documentFieldAccessor The accessor. + */ + public static void setAccessor(final DocumentFieldHelper.DocumentFieldAccessor documentFieldAccessor) { + accessor = documentFieldAccessor; + } + + static void setType(DocumentField documentField, DocumentFieldType type) { + accessor.setType(documentField, type); + } + + static void setValueString(DocumentField documentField, String valueString) { + accessor.setValueString(documentField, valueString); + } + + static void setValueDate(DocumentField documentField, LocalDate valueDate) { + accessor.setValueDate(documentField, valueDate); + } + + static void setValueTime(DocumentField documentField, LocalTime valueTime) { + accessor.setValueTime(documentField, valueTime); + } + + static void setValuePhoneNumber(DocumentField documentField, String valuePhoneNumber) { + accessor.setValuePhoneNumber(documentField, valuePhoneNumber); + } + + static void setValueNumber(DocumentField documentField, Float valueNumber) { + accessor.setValueNumber(documentField, valueNumber); + } + + static void setValueInteger(DocumentField documentField, Long valueInteger) { + accessor.setValueInteger(documentField, valueInteger); + } + + static void setValueSelectionMark(DocumentField documentField, SelectionMarkState valueSelectionMark) { + accessor.setValueSelectionMark(documentField, valueSelectionMark); + } + + static void setValueSignature(DocumentField documentField, DocumentSignatureType valueSignature) { + accessor.setValueSignature(documentField, valueSignature); + } + + static void setValueCountryRegion(DocumentField documentField, String valueCountryRegion) { + accessor.setValueCountryRegion(documentField, valueCountryRegion); + } + + static void setValueArray(DocumentField documentField, List valueArray) { + accessor.setValueArray(documentField, valueArray); + } + + static void setValueObject(DocumentField documentField, Map valueObject) { + accessor.setValueObject(documentField, valueObject); + } + + static void setContent(DocumentField documentField, String content) { + accessor.setContent(documentField, content); + } + + static void setBoundingRegions(DocumentField documentField, List boundingRegions) { + accessor.setBoundingRegions(documentField, boundingRegions); + } + + static void setSpans(DocumentField documentField, List spans) { + accessor.setSpans(documentField, spans); + } + + static void setConfidence(DocumentField documentField, Float confidence) { + accessor.setConfidence(documentField, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldSchemaHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldSchemaHelper.java new file mode 100644 index 0000000000000..e2d098c70e2b3 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentFieldSchemaHelper.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.administration.models.DocumentFieldSchema; + +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link DocumentFieldSchema} instance. + */ +public final class DocumentFieldSchemaHelper { + private static DocumentFieldSchemaAccessor accessor; + + private DocumentFieldSchemaHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentFieldSchema} instance. + */ + public interface DocumentFieldSchemaAccessor { + void setType(DocumentFieldSchema documentFieldSchema, DocumentFieldType type); + void setDescription(DocumentFieldSchema documentFieldSchema, String description); + void setExample(DocumentFieldSchema documentFieldSchema, String example); + void setItems(DocumentFieldSchema documentFieldSchema, DocumentFieldSchema items); + void setProperties(DocumentFieldSchema documentFieldSchema, Map properties); + } + + /** + * The method called from {@link DocumentFieldSchema} to set it's accessor. + * + * @param documentFieldSchemaAccessor The accessor. + */ + public static void setAccessor(final DocumentFieldSchemaHelper.DocumentFieldSchemaAccessor documentFieldSchemaAccessor) { + accessor = documentFieldSchemaAccessor; + } + + static void setType(DocumentFieldSchema documentFieldSchema, DocumentFieldType type) { + accessor.setType(documentFieldSchema, type); + } + + static void setDescription(DocumentFieldSchema documentFieldSchema, String description) { + accessor.setDescription(documentFieldSchema, description); + } + + static void setExample(DocumentFieldSchema documentFieldSchema, String example) { + accessor.setExample(documentFieldSchema, example); + } + + static void setItems(DocumentFieldSchema documentFieldSchema, DocumentFieldSchema items) { + accessor.setItems(documentFieldSchema, items); + } + + static void setProperties(DocumentFieldSchema documentFieldSchema, Map properties) { + accessor.setProperties(documentFieldSchema, properties); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValueElementHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValueElementHelper.java new file mode 100644 index 0000000000000..cb8fda97fea9c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValueElementHelper.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentKeyValueElement; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentKeyValueElement} instance. + */ + +/** + * The helper class to set the non-public properties of an {@link DocumentKeyValueElement} instance. + */ +public final class DocumentKeyValueElementHelper { + private static DocumentKeyValueElementAccessor accessor; + + private DocumentKeyValueElementHelper() { + } + + /** + * The method called from {@link AnalyzedDocument} to set it's accessor. + * + * @param documentKeyValueElementAccessor The accessor. + */ + public static void setAccessor( + final DocumentKeyValueElementHelper.DocumentKeyValueElementAccessor documentKeyValueElementAccessor) { + accessor = documentKeyValueElementAccessor; + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentKeyValueElement} instance. + */ + public interface DocumentKeyValueElementAccessor { + void setContent(DocumentKeyValueElement documentKeyValueElement, String content); + void setBoundingRegions(DocumentKeyValueElement documentKeyValueElement, List boundingRegions); + void setSpans(DocumentKeyValueElement documentKeyValueElement, List spans); + + } + + static void setContent(DocumentKeyValueElement documentKeyValueElement, String content) { + accessor.setContent(documentKeyValueElement, content); + } + + static void setBoundingRegions(DocumentKeyValueElement documentKeyValueElement, List boundingRegions) { + accessor.setBoundingRegions(documentKeyValueElement, boundingRegions); + } + + static void setSpans(DocumentKeyValueElement documentKeyValueElement, List spans) { + accessor.setSpans(documentKeyValueElement, spans); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValuePairHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValuePairHelper.java new file mode 100644 index 0000000000000..eac0d21ad0ff2 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentKeyValuePairHelper.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +/** + * The helper class to set the non-public properties of an {@link DocumentKeyValuePair} instance. + */ + +import com.azure.ai.formrecognizer.models.DocumentKeyValueElement; +import com.azure.ai.formrecognizer.models.DocumentKeyValuePair; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; + +/** + * The helper class to set the non-public properties of an {@link DocumentKeyValuePair} instance. + */ +public final class DocumentKeyValuePairHelper { + private static DocumentKeyValuePairAccessor accessor; + + private DocumentKeyValuePairHelper() { + } + + /** + * The method called from {@link AnalyzedDocument} to set it's accessor. + * + * @param documentKeyValueElementAccessor The accessor. + */ + public static void setAccessor( + final DocumentKeyValuePairHelper.DocumentKeyValuePairAccessor documentKeyValueElementAccessor) { + accessor = documentKeyValueElementAccessor; + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentKeyValuePair} instance. + */ + public interface DocumentKeyValuePairAccessor { + void setKey(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement key); + void setValue(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement value); + void setConfidence(DocumentKeyValuePair documentKeyValuePair, float confidence); + } + + static void setConfidence(DocumentKeyValuePair documentKeyValuePair, float confidence) { + accessor.setConfidence(documentKeyValuePair, confidence); + } + + static void setValue(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement value) { + accessor.setValue(documentKeyValuePair, value); + } + + static void setKey(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement key) { + accessor.setKey(documentKeyValuePair, key); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentLineHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentLineHelper.java new file mode 100644 index 0000000000000..7f2f256ad17ab --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentLineHelper.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentLine; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentLine} instance. + */ +public final class DocumentLineHelper { + private static DocumentLineAccessor accessor; + + private DocumentLineHelper() { + } + + /** + * The method called from {@link DocumentLine} to set it's accessor. + * + * @param documentLineAccessor The accessor. + */ + public static void setAccessor(final DocumentLineHelper.DocumentLineAccessor documentLineAccessor) { + accessor = documentLineAccessor; + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentLine} instance. + */ + public interface DocumentLineAccessor { + void setContent(DocumentLine documentLine, String content); + void setBoundingBox(DocumentLine documentLine, List boundingBox); + void setSpans(DocumentLine documentLine, List spans); + } + + static void setContent(DocumentLine documentLine, String content) { + accessor.setContent(documentLine, content); + } + + static void setBoundingBox(DocumentLine documentLine, List boundingBox) { + accessor.setBoundingBox(documentLine, boundingBox); + } + + static void setSpans(DocumentLine documentLine, List spans) { + accessor.setSpans(documentLine, spans); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelHelper.java new file mode 100644 index 0000000000000..a040cc7f32d4c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelHelper.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.DocTypeInfo; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; + +import java.time.OffsetDateTime; +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link DocumentModel} instance. + */ +public final class DocumentModelHelper { + private static DocumentModelAccessor accessor; + + private DocumentModelHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentModel} instance. + */ + public interface DocumentModelAccessor { + + void setModelId(DocumentModel documentModel, String modelId); + + void setDescription(DocumentModel documentModel, String description); + + void setCreatedOn(DocumentModel documentModel, OffsetDateTime createdOn); + + void setDocTypes(DocumentModel documentModel, Map docTypes); + + } + + /** + * The method called from {@link DocumentModel} to set it's accessor. + * + * @param documentModelAccessor The accessor. + */ + public static void setAccessor(final DocumentModelHelper.DocumentModelAccessor documentModelAccessor) { + accessor = documentModelAccessor; + } + + static void setModelId(DocumentModel documentModel, String modelId) { + accessor.setModelId(documentModel, modelId); + } + + static void setDescription(DocumentModel documentModel, String description) { + accessor.setDescription(documentModel, description); + } + + static void setCreatedOn(DocumentModel documentModel, OffsetDateTime createdOn) { + accessor.setCreatedOn(documentModel, createdOn); + } + + static void setDocTypes(DocumentModel documentModel, Map docTypes) { + accessor.setDocTypes(documentModel, docTypes); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelInfoHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelInfoHelper.java new file mode 100644 index 0000000000000..681214148aca4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentModelInfoHelper.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; + +import java.time.OffsetDateTime; + +/** + * The helper class to set the non-public properties of an {@link DocumentModelInfo} instance. + */ +public final class DocumentModelInfoHelper { + private static DocumentModelInfoAccessor accessor; + + private DocumentModelInfoHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentModelInfo} instance. + */ + public interface DocumentModelInfoAccessor { + void setModelId(DocumentModelInfo documentModelInfo, String modelId); + void setDescription(DocumentModelInfo documentModelInfo, String description); + void setCreatedOn(DocumentModelInfo documentModelInfo, OffsetDateTime createdDateTime); + } + + /** + * The method called from {@link DocumentModelInfo} to set it's accessor. + * + * @param documentModelInfoAccessor The accessor. + */ + public static void setAccessor(final DocumentModelInfoHelper.DocumentModelInfoAccessor documentModelInfoAccessor) { + accessor = documentModelInfoAccessor; + } + + static void setModelId(DocumentModelInfo documentModelInfo, String modelId) { + accessor.setModelId(documentModelInfo, modelId); + } + + static void setDescription(DocumentModelInfo documentModelInfo, String description) { + accessor.setDescription(documentModelInfo, description); + } + + static void setCreatedOn(DocumentModelInfo documentModelInfo, OffsetDateTime createdDateTime) { + accessor.setCreatedOn(documentModelInfo, createdDateTime); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentOperationResultHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentOperationResultHelper.java new file mode 100644 index 0000000000000..8b7e90579ad0e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentOperationResultHelper.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentOperationResult; + +/** + * The helper class to set the non-public properties of an {@link DocumentOperationResult} instance. + */ +public final class DocumentOperationResultHelper { + private static DocumentOperationResultAccessor accessor; + + private DocumentOperationResultHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentOperationResult} instance. + */ + public interface DocumentOperationResultAccessor { + void setResultId(DocumentOperationResult documentOperationResult, String resultId); + } + + /** + * The method called from {@link DocumentOperationResult} to set it's accessor. + * + * @param documentOperationResultAccessor The accessor. + */ + public static void setAccessor(final DocumentOperationResultAccessor documentOperationResultAccessor) { + accessor = documentOperationResultAccessor; + } + + public static void setResultId(DocumentOperationResult documentOperationResult, String resultId) { + accessor.setResultId(documentOperationResult, resultId); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentPageHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentPageHelper.java new file mode 100644 index 0000000000000..43ad7abed98f4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentPageHelper.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentLine; +import com.azure.ai.formrecognizer.models.DocumentPage; +import com.azure.ai.formrecognizer.models.DocumentSelectionMark; +import com.azure.ai.formrecognizer.models.DocumentWord; +import com.azure.ai.formrecognizer.models.LengthUnit; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentPage} instance. + */ +public final class DocumentPageHelper { + private static DocumentPageAccessor accessor; + + private DocumentPageHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentPage} instance. + */ + public interface DocumentPageAccessor { + void setPageNumber(DocumentPage documentPage, int pageNumber); + void setAngle(DocumentPage documentPage, float angle); + void setWidth(DocumentPage documentPage, float width); + void setHeight(DocumentPage documentPage, float height); + void setUnit(DocumentPage documentPage, LengthUnit unit); + void setSpans(DocumentPage documentPage, List spans); + void setWords(DocumentPage documentPage, List words); + void setSelectionMarks(DocumentPage documentPage, List selectionMarks); + void setLines(DocumentPage documentPage, List lines); + } + + /** + * The method called from {@link DocumentPage} to set it's accessor. + * + * @param documentPageAccessor The accessor. + */ + public static void setAccessor(final DocumentPageAccessor documentPageAccessor) { + accessor = documentPageAccessor; + } + + static void setPageNumber(DocumentPage documentPage, int pageNumber) { + accessor.setPageNumber(documentPage, pageNumber); + } + + static void setAngle(DocumentPage documentPage, float angle) { + accessor.setAngle(documentPage, angle); + } + + static void setWidth(DocumentPage documentPage, float width) { + accessor.setWidth(documentPage, width); + } + + static void setHeight(DocumentPage documentPage, float height) { + accessor.setHeight(documentPage, height); + } + + static void setUnit(DocumentPage documentPage, LengthUnit unit) { + accessor.setUnit(documentPage, unit); + } + + static void setSpans(DocumentPage documentPage, List spans) { + accessor.setSpans(documentPage, spans); + } + + static void setWords(DocumentPage documentPage, List words) { + accessor.setWords(documentPage, words); + } + + static void setSelectionMarks(DocumentPage documentPage, List selectionMarks) { + accessor.setSelectionMarks(documentPage, selectionMarks); + } + + static void setLines(DocumentPage documentPage, List lines) { + accessor.setLines(documentPage, lines); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSelectionMarkHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSelectionMarkHelper.java new file mode 100644 index 0000000000000..1176a0cbf4e5c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSelectionMarkHelper.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentSelectionMark; +import com.azure.ai.formrecognizer.models.SelectionMarkState; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentSelectionMark} instance. + */ +public final class DocumentSelectionMarkHelper { + private static DocumentSelectionMarkAccessor accessor; + + private DocumentSelectionMarkHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentSelectionMark} instance. + */ + public interface DocumentSelectionMarkAccessor { + void setState(DocumentSelectionMark documentSelectionMark, SelectionMarkState state); + void setBoundingBox(DocumentSelectionMark documentSelectionMark, List boundingBox); + void setSpan(DocumentSelectionMark documentSelectionMark, DocumentSpan span); + void setConfidence(DocumentSelectionMark documentSelectionMark, float confidence); + + } + + /** + * The method called from {@link DocumentSelectionMark} to set it's accessor. + * + * @param documentPageAccessor The accessor. + */ + public static void setAccessor(final DocumentSelectionMarkAccessor documentPageAccessor) { + accessor = documentPageAccessor; + } + + static void setState(DocumentSelectionMark documentSelectionMark, SelectionMarkState state) { + accessor.setState(documentSelectionMark, state); + } + + static void setBoundingBox(DocumentSelectionMark documentSelectionMark, List boundingBox) { + accessor.setBoundingBox(documentSelectionMark, boundingBox); + } + + static void setSpan(DocumentSelectionMark documentSelectionMark, DocumentSpan span) { + accessor.setSpan(documentSelectionMark, span); + } + + static void setConfidence(DocumentSelectionMark documentSelectionMark, float confidence) { + accessor.setConfidence(documentSelectionMark, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSpanHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSpanHelper.java new file mode 100644 index 0000000000000..e1d83742bb9ac --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentSpanHelper.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentSpan; + +/** + * The helper class to set the non-public properties of an {@link DocumentSpan} instance. + */ +public final class DocumentSpanHelper { + private static DocumentSpanAccessor accessor; + + private DocumentSpanHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentSpan} instance. + */ + public interface DocumentSpanAccessor { + void setOffset(DocumentSpan documentSpan, int offset); + void setLength(DocumentSpan documentSpan, int length); + } + + /** + * The method called from {@link DocumentSpan} to set it's accessor. + * + * @param documentSpanAccessor The accessor. + */ + public static void setAccessor(final DocumentSpanHelper.DocumentSpanAccessor documentSpanAccessor) { + accessor = documentSpanAccessor; + } + + static void setOffset(DocumentSpan documentSpan, int offset) { + accessor.setOffset(documentSpan, offset); + } + + static void setLength(DocumentSpan documentSpan, int length) { + accessor.setLength(documentSpan, length); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentStyleHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentStyleHelper.java new file mode 100644 index 0000000000000..4642dd8004875 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentStyleHelper.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentSpan; +import com.azure.ai.formrecognizer.models.DocumentStyle; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentStyle} instance. + */ +public final class DocumentStyleHelper { + private static DocumentStyleAccessor accessor; + + private DocumentStyleHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentStyle} instance. + */ + public interface DocumentStyleAccessor { + void setSpans(DocumentStyle documentStyle, List spans); + + void setIsHandwritten(DocumentStyle documentStyle, Boolean isHandwritten); + + void setConfidence(DocumentStyle documentStyle, Float confidence); + } + + /** + * The method called from {@link DocumentStyle} to set it's accessor. + * + * @param documentStyleAccessor The accessor. + */ + public static void setAccessor(final DocumentStyleHelper.DocumentStyleAccessor documentStyleAccessor) { + accessor = documentStyleAccessor; + } + + static void setSpans(DocumentStyle documentStyle, List spans) { + accessor.setSpans(documentStyle, spans); + } + + static void setIsHandwritten(DocumentStyle documentStyle, Boolean isHandwritten) { + accessor.setIsHandwritten(documentStyle, isHandwritten); + } + + static void setConfidence(DocumentStyle documentStyle, Float confidence) { + accessor.setConfidence(documentStyle, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableCellHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableCellHelper.java new file mode 100644 index 0000000000000..fc1e37b9e3628 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableCellHelper.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentTableCell; +import com.azure.ai.formrecognizer.models.DocumentTableCellKind; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentTableCell} instance. + */ +public final class DocumentTableCellHelper { + private static DocumentTableCellAccessor accessor; + + private DocumentTableCellHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentTableCell} instance. + */ + public interface DocumentTableCellAccessor { + void setSpans(DocumentTableCell documentTableCell, List spans); + void setBoundingRegions(DocumentTableCell documentTableCell, List boundingRegions); + + void setContent(DocumentTableCell documentTableCell, String content); + + void setColumnSpan(DocumentTableCell documentTableCell, Integer columnSpan); + + void setRowSpan(DocumentTableCell documentTableCell, Integer rowSpan); + + void setColumnIndex(DocumentTableCell documentTableCell, int columnIndex); + + void setRowIndex(DocumentTableCell documentTableCell, int rowIndex); + + void setKind(DocumentTableCell documentTableCell, DocumentTableCellKind kind); + } + + /** + * The method called from {@link DocumentTableCell} to set it's accessor. + * + * @param documentTableCellAccessor The accessor. + */ + public static void setAccessor(final DocumentTableCellHelper.DocumentTableCellAccessor documentTableCellAccessor) { + accessor = documentTableCellAccessor; + } + + static void setSpans(DocumentTableCell documentTableCell, List spans) { + accessor.setSpans(documentTableCell, spans); + } + + static void setBoundingRegions(DocumentTableCell documentTableCell, List boundingRegions) { + accessor.setBoundingRegions(documentTableCell, boundingRegions); + } + + static void setContent(DocumentTableCell documentTableCell, String content) { + accessor.setContent(documentTableCell, content); + } + + static void setColumnSpan(DocumentTableCell documentTableCell, Integer columnSpan) { + accessor.setColumnSpan(documentTableCell, columnSpan); + } + + static void setRowSpan(DocumentTableCell documentTableCell, Integer rowSpan) { + accessor.setRowSpan(documentTableCell, rowSpan); + } + + static void setColumnIndex(DocumentTableCell documentTableCell, int columnIndex) { + accessor.setColumnIndex(documentTableCell, columnIndex); + } + + static void setRowIndex(DocumentTableCell documentTableCell, int rowIndex) { + accessor.setRowIndex(documentTableCell, rowIndex); + } + + static void setKind(DocumentTableCell documentTableCell, DocumentTableCellKind kind) { + accessor.setKind(documentTableCell, kind); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableHelper.java new file mode 100644 index 0000000000000..76980d6392f75 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentTableHelper.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentTableCell; +import com.azure.ai.formrecognizer.models.DocumentSpan; +import com.azure.ai.formrecognizer.models.DocumentTable; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentTable} instance. + */ +public final class DocumentTableHelper { + private static DocumentTableAccessor accessor; + + private DocumentTableHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentTable} instance. + */ + public interface DocumentTableAccessor { + void setRowCount(DocumentTable documentTable, int rowCount); + + void setColumnCount(DocumentTable documentTable, int columnCount); + + void setCells(DocumentTable documentTable, List cells); + + void setBoundingRegions(DocumentTable documentTable, List boundingRegions); + + void setSpans(DocumentTable documentTable, List spans); + } + + /** + * The method called from {@link DocumentTable} to set it's accessor. + * + * @param documentTableAccessor The accessor. + */ + public static void setAccessor(final DocumentTableAccessor documentTableAccessor) { + accessor = documentTableAccessor; + } + + static void setRowCount(DocumentTable documentTable, int rowCount) { + accessor.setRowCount(documentTable, rowCount); + } + + static void setColumnCount(DocumentTable documentTable, int columnCount) { + accessor.setColumnCount(documentTable, columnCount); + } + + static void setCells(DocumentTable documentTable, List cells) { + accessor.setCells(documentTable, cells); + } + + static void setBoundingRegions(DocumentTable documentTable, List boundingRegions) { + accessor.setBoundingRegions(documentTable, boundingRegions); + } + + static void setSpans(DocumentTable documentTable, List spans) { + accessor.setSpans(documentTable, spans); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentWordHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentWordHelper.java new file mode 100644 index 0000000000000..66b8b0a6ceee5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/DocumentWordHelper.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentWord; +import com.azure.ai.formrecognizer.models.DocumentSpan; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link DocumentWord} instance. + */ +public final class DocumentWordHelper { + private static DocumentWordAccessor accessor; + + private DocumentWordHelper() { + } + + /** + * The method called from {@link DocumentWord} to set it's accessor. + * + * @param documentLineAccessor The accessor. + */ + public static void setAccessor(final DocumentWordHelper.DocumentWordAccessor documentLineAccessor) { + accessor = documentLineAccessor; + } + + /** + * Type defining the methods to set the non-public properties of an {@link DocumentWord} instance. + */ + public interface DocumentWordAccessor { + void setBoundingBox(DocumentWord documentWord, List boundingBox); + void setContent(DocumentWord documentWord, String content); + void setSpan(DocumentWord documentWord, DocumentSpan span); + void setConfidence(DocumentWord documentWord, float confidence); + + } + + static void setBoundingBox(DocumentWord documentWord, List boundingBox) { + accessor.setBoundingBox(documentWord, boundingBox); + } + + static void setContent(DocumentWord documentWord, String content) { + accessor.setContent(documentWord, content); + } + + static void setSpan(DocumentWord documentWord, DocumentSpan span) { + accessor.setSpan(documentWord, span); + } + + static void setConfidence(DocumentWord documentWord, float confidence) { + accessor.setConfidence(documentWord, confidence); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/FormRecognizerErrorHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/FormRecognizerErrorHelper.java new file mode 100644 index 0000000000000..38e178f7697c5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/FormRecognizerErrorHelper.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.administration.models.InnerError; + +import java.util.List; + +/** + * The helper class to set the non-public properties of an {@link FormRecognizerError} instance. + */ +public final class FormRecognizerErrorHelper { + private static FormRecognizerErrorAccessor accessor; + + private FormRecognizerErrorHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link FormRecognizerError} instance. + */ + public interface FormRecognizerErrorAccessor { + void setCode(FormRecognizerError formRecognizerError, String errorCode); + void setMessage(FormRecognizerError formRecognizerError, String message); + + void setTarget(FormRecognizerError formRecognizerError, String target); + + void setDetails(FormRecognizerError formRecognizerError, List details); + + void setInnerError(FormRecognizerError formRecognizerError, InnerError innerError); + } + + /** + * The method called from {@link FormRecognizerError} to set it's accessor. + * + * @param formRecognizerErrorAccessor The accessor. + */ + public static void setAccessor(final FormRecognizerErrorAccessor formRecognizerErrorAccessor) { + accessor = formRecognizerErrorAccessor; + } + + static void setCode(FormRecognizerError formRecognizerError, String errorCode) { + accessor.setCode(formRecognizerError, errorCode); + } + + static void setMessage(FormRecognizerError formRecognizerError, String message) { + accessor.setMessage(formRecognizerError, message); + } + + static void setTarget(FormRecognizerError formRecognizerError, String target) { + accessor.setTarget(formRecognizerError, target); + } + + static void setDetails(FormRecognizerError formRecognizerError, List details) { + accessor.setDetails(formRecognizerError, details); + } + + static void setInnerError(FormRecognizerError formRecognizerError, InnerError innerError) { + accessor.setInnerError(formRecognizerError, innerError); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/InnerErrorHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/InnerErrorHelper.java new file mode 100644 index 0000000000000..dad9364999f14 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/InnerErrorHelper.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.InnerError; + +/** + * The helper class to set the non-public properties of an {@link InnerError} instance. + */ +public final class InnerErrorHelper { + private static InnerErrorAccessor accessor; + + private InnerErrorHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link InnerError} instance. + */ + public interface InnerErrorAccessor { + void setCode(InnerError innerError, String errorCode); + void setMessage(InnerError innerError, String message); + void setInnerError(InnerError innerError, InnerError serviceInnerError); + } + + /** + * The method called from {@link InnerError} to set it's accessor. + * + * @param innerErrorAccessor The accessor. + */ + public static void setAccessor(final InnerErrorAccessor innerErrorAccessor) { + accessor = innerErrorAccessor; + } + + static void setCode(InnerError innerError, String errorCode) { + accessor.setCode(innerError, errorCode); + } + + static void setMessage(InnerError innerError, String message) { + accessor.setMessage(innerError, message); + } + + static void setInnerError(InnerError innerError, InnerError serviceInnerError) { + accessor.setInnerError(innerError, serviceInnerError); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationHelper.java new file mode 100644 index 0000000000000..98ff5d4d128df --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationHelper.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.DocTypeInfo; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationKind; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; + +import java.time.OffsetDateTime; +import java.util.Map; + +/** + * The helper class to set the non-public properties of an {@link ModelOperation} instance. + */ +public final class ModelOperationHelper { + private static ModelOperationAccessor accessor; + + private ModelOperationHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link ModelOperation} instance. + */ + public interface ModelOperationAccessor { + + void setModelId(ModelOperation modelOperation, String modelId); + + void setDescription(ModelOperation modelOperation, String description); + + void setCreatedOn(ModelOperation modelOperation, OffsetDateTime createdOn); + + void setDocTypes(ModelOperation modelOperation, Map docTypes); + + void setError(ModelOperation modelOperation, FormRecognizerError error); + + void setOperationId(ModelOperation modelOperation, String operationId); + + void setStatus(ModelOperation modelOperation, ModelOperationStatus status); + + void setPercentCompleted(ModelOperation modelOperation, Integer percentCompleted); + + void setLastUpdatedOn(ModelOperation modelOperation, OffsetDateTime lastUpdatedOn); + + void setKind(ModelOperation modelOperation, ModelOperationKind kind); + + void setResourceLocation(ModelOperation modelOperation, String resourceLocation); + } + + /** + * The method called from {@link ModelOperation} to set it's accessor. + * + * @param modelOperationAccessor The accessor. + */ + public static void setAccessor(final ModelOperationHelper.ModelOperationAccessor modelOperationAccessor) { + accessor = modelOperationAccessor; + } + + static void setModelId(ModelOperation modelOperation, String modelId) { + accessor.setModelId(modelOperation, modelId); + } + + static void setDescription(ModelOperation modelOperation, String description) { + accessor.setDescription(modelOperation, description); + } + + static void setCreatedOn(ModelOperation modelOperation, OffsetDateTime createdOn) { + accessor.setCreatedOn(modelOperation, createdOn); + } + + static void setDocTypes(ModelOperation modelOperation, Map docTypes) { + accessor.setDocTypes(modelOperation, docTypes); + } + + static void setError(ModelOperation modelOperation, FormRecognizerError formRecognizerError) { + accessor.setError(modelOperation, formRecognizerError); + } + + static void setOperationId(ModelOperation modelOperation, String operationId) { + accessor.setOperationId(modelOperation, operationId); + } + + static void setStatus(ModelOperation modelOperation, ModelOperationStatus status) { + accessor.setStatus(modelOperation, status); + } + + static void setPercentCompleted(ModelOperation modelOperation, Integer percentCompleted) { + accessor.setPercentCompleted(modelOperation, percentCompleted); + } + + static void setLastUpdatedOn(ModelOperation modelOperation, OffsetDateTime lastUpdatedOn) { + accessor.setLastUpdatedOn(modelOperation, lastUpdatedOn); + } + + static void setKind(ModelOperation modelOperation, ModelOperationKind kind) { + accessor.setKind(modelOperation, kind); + } + + static void setResourceLocation(ModelOperation modelOperation, String resourceLocation) { + accessor.setResourceLocation(modelOperation, resourceLocation); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationInfoHelper.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationInfoHelper.java new file mode 100644 index 0000000000000..6cf3b16701422 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/ModelOperationInfoHelper.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.ModelOperationInfo; +import com.azure.ai.formrecognizer.administration.models.ModelOperationKind; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; + +import java.time.OffsetDateTime; + +/** + * The helper class to set the non-public properties of an {@link ModelOperationInfo} instance. + */ +public final class ModelOperationInfoHelper { + private static ModelOperationInfoAccessor accessor; + + private ModelOperationInfoHelper() { + } + + /** + * Type defining the methods to set the non-public properties of an {@link ModelOperationInfo} instance. + */ + public interface ModelOperationInfoAccessor { + + void setOperationId(ModelOperationInfo modelOperationInfo, String operationId); + + void setStatus(ModelOperationInfo modelOperationInfo, ModelOperationStatus status); + + void setPercentCompleted(ModelOperationInfo modelOperationInfo, Integer percentCompleted); + + void setCreatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime createdOn); + + void setLastUpdatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime lastUpdatedOn); + + void setKind(ModelOperationInfo modelOperationInfo, ModelOperationKind kind); + + void setResourceLocation(ModelOperationInfo modelOperationInfo, String resourceLocation); + } + + /** + * The method called from {@link ModelOperationInfo} to set it's accessor. + * + * @param modelOperationInfoAccessor The accessor. + */ + public static void setAccessor( + final ModelOperationInfoHelper.ModelOperationInfoAccessor modelOperationInfoAccessor) { + accessor = modelOperationInfoAccessor; + } + + static void setOperationId(ModelOperationInfo modelOperationInfo, String operationId) { + accessor.setOperationId(modelOperationInfo, operationId); + } + + static void setStatus(ModelOperationInfo modelOperationInfo, ModelOperationStatus status) { + accessor.setStatus(modelOperationInfo, status); + } + + static void setPercentCompleted(ModelOperationInfo modelOperationInfo, Integer percentCompleted) { + accessor.setPercentCompleted(modelOperationInfo, percentCompleted); + } + + static void setCreatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime createdOn) { + accessor.setCreatedOn(modelOperationInfo, createdOn); + } + + static void setLastUpdatedOn(ModelOperationInfo modelOperationInfo, OffsetDateTime lastUpdatedOn) { + accessor.setLastUpdatedOn(modelOperationInfo, lastUpdatedOn); + } + + static void setKind(ModelOperationInfo modelOperationInfo, ModelOperationKind kind) { + accessor.setKind(modelOperationInfo, kind); + } + + static void setResourceLocation(ModelOperationInfo modelOperationInfo, String resourceLocation) { + accessor.setResourceLocation(modelOperationInfo, resourceLocation); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Transforms.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Transforms.java new file mode 100644 index 0000000000000..ad575486a243b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Transforms.java @@ -0,0 +1,600 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.DocTypeInfo; +import com.azure.ai.formrecognizer.administration.models.DocumentFieldSchema; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.administration.models.InnerError; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationInfo; +import com.azure.ai.formrecognizer.administration.models.ModelOperationKind; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; +import com.azure.ai.formrecognizer.implementation.models.Error; +import com.azure.ai.formrecognizer.implementation.models.ErrorResponseException; +import com.azure.ai.formrecognizer.implementation.models.GetInfoResponse; +import com.azure.ai.formrecognizer.implementation.models.GetOperationResponse; +import com.azure.ai.formrecognizer.implementation.models.ModelInfo; +import com.azure.ai.formrecognizer.implementation.models.ModelSummary; +import com.azure.ai.formrecognizer.implementation.models.OperationInfo; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.BoundingRegion; +import com.azure.ai.formrecognizer.models.DocumentAnalysisException; +import com.azure.ai.formrecognizer.models.DocumentEntity; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentKeyValueElement; +import com.azure.ai.formrecognizer.models.DocumentKeyValuePair; +import com.azure.ai.formrecognizer.models.DocumentLine; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentPage; +import com.azure.ai.formrecognizer.models.DocumentSelectionMark; +import com.azure.ai.formrecognizer.models.DocumentSignatureType; +import com.azure.ai.formrecognizer.models.DocumentSpan; +import com.azure.ai.formrecognizer.models.DocumentStyle; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.ai.formrecognizer.models.DocumentTableCell; +import com.azure.ai.formrecognizer.models.DocumentTableCellKind; +import com.azure.ai.formrecognizer.models.DocumentWord; +import com.azure.ai.formrecognizer.models.LengthUnit; +import com.azure.ai.formrecognizer.models.SelectionMarkState; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.util.CoreUtils; + +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Helper class to convert service level models to SDK exposed models. + */ +public class Transforms { + public static AnalyzeResult toAnalyzeResultOperation( + com.azure.ai.formrecognizer.implementation.models.AnalyzeResult innerAnalyzeResult) { + AnalyzeResult analyzeResult = new AnalyzeResult(); + + // add documents + if (!CoreUtils.isNullOrEmpty(innerAnalyzeResult.getDocuments())) { + AnalyzeResultHelper.setDocuments(analyzeResult, innerAnalyzeResult.getDocuments().stream() + .map(document -> { + AnalyzedDocument analyzedDocument = new AnalyzedDocument(); + AnalyzedDocumentHelper.setBoundingRegions(analyzedDocument, document.getBoundingRegions() + .stream() + .map(boundingRegion -> toBoundingRegion(boundingRegion)) + .collect(Collectors.toList())); + AnalyzedDocumentHelper.setConfidence(analyzedDocument, document.getConfidence()); + AnalyzedDocumentHelper.setDocType(analyzedDocument, document.getDocType()); + AnalyzedDocumentHelper.setFields(analyzedDocument, toDocumentFields(document.getFields())); + AnalyzedDocumentHelper.setSpans(analyzedDocument, document.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + return analyzedDocument; + }) + .collect(Collectors.toList())); + } + + AnalyzeResultHelper.setContent(analyzeResult, innerAnalyzeResult.getContent()); + AnalyzeResultHelper.setModelId(analyzeResult, innerAnalyzeResult.getModelId()); + + // add document entities + if (!CoreUtils.isNullOrEmpty(innerAnalyzeResult.getEntities())) { + AnalyzeResultHelper.setEntities(analyzeResult, innerAnalyzeResult.getEntities() + .stream() + .map(innerDocumentEntity -> { + DocumentEntity documentEntity = new DocumentEntity(); + DocumentEntityHelper.setBoundingRegions(documentEntity, innerDocumentEntity.getBoundingRegions() + .stream() + .map(boundingRegion -> toBoundingRegion(boundingRegion)) + .collect(Collectors.toList())); + + DocumentEntityHelper.setContent(documentEntity, innerDocumentEntity.getContent()); + DocumentEntityHelper.setConfidence(documentEntity, innerDocumentEntity.getConfidence()); + DocumentEntityHelper.setSpans(documentEntity, innerDocumentEntity.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + DocumentEntityHelper.setCategory(documentEntity, innerDocumentEntity.getCategory()); + DocumentEntityHelper.setSubCategory(documentEntity, innerDocumentEntity.getSubCategory()); + return documentEntity; + }) + .collect(Collectors.toList())); + } + + //add pages + AnalyzeResultHelper.setPages(analyzeResult, innerAnalyzeResult.getPages().stream() + .map(innerDocumentPage -> { + DocumentPage documentPage = new DocumentPage(); + DocumentPageHelper.setAngle(documentPage, innerDocumentPage.getAngle()); + DocumentPageHelper.setHeight(documentPage, innerDocumentPage.getHeight()); + DocumentPageHelper.setWidth(documentPage, innerDocumentPage.getWidth()); + DocumentPageHelper.setPageNumber(documentPage, innerDocumentPage.getPageNumber()); + DocumentPageHelper.setUnit(documentPage, LengthUnit.fromString(innerDocumentPage.getUnit().toString())); + DocumentPageHelper.setSpans(documentPage, innerDocumentPage.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + DocumentPageHelper.setSelectionMarks(documentPage, innerDocumentPage.getSelectionMarks() == null + ? null + : innerDocumentPage.getSelectionMarks() + .stream() + .map(innerSelectionMark -> { + DocumentSelectionMark documentSelectionMark = new DocumentSelectionMark(); + DocumentSelectionMarkHelper.setBoundingBox(documentSelectionMark, + innerSelectionMark.getBoundingBox()); + DocumentSelectionMarkHelper.setConfidence(documentSelectionMark, + innerSelectionMark.getConfidence()); + DocumentSelectionMarkHelper.setSpan(documentSelectionMark, + toDocumentSpan(innerSelectionMark.getSpan())); + DocumentSelectionMarkHelper.setState(documentSelectionMark, + SelectionMarkState.fromString(innerSelectionMark.getState().toString())); + return documentSelectionMark; + }) + .collect(Collectors.toList())); + DocumentPageHelper.setLines(documentPage, + innerDocumentPage.getLines() == null ? null : innerDocumentPage.getLines() + .stream() + .map(innerDocumentLine -> { + DocumentLine documentLine = new DocumentLine(); + DocumentLineHelper.setBoundingBox(documentLine, innerDocumentLine.getBoundingBox()); + DocumentLineHelper.setContent(documentLine, innerDocumentLine.getContent()); + DocumentLineHelper.setSpans(documentLine, innerDocumentLine.getSpans() + .stream() + .map(documentSpan -> toDocumentSpan(documentSpan)) + .collect(Collectors.toList())); + return documentLine; + }) + .collect(Collectors.toList())); + DocumentPageHelper.setWords(documentPage, + innerDocumentPage.getWords() == null ? null : innerDocumentPage.getWords() + .stream() + .map(innerDocumentWord -> { + DocumentWord documentWord = new DocumentWord(); + DocumentWordHelper.setBoundingBox(documentWord, innerDocumentWord.getBoundingBox()); + DocumentWordHelper.setConfidence(documentWord, innerDocumentWord.getConfidence()); + DocumentWordHelper.setSpan(documentWord, toDocumentSpan(innerDocumentWord.getSpan())); + DocumentWordHelper.setContent(documentWord, innerDocumentWord.getContent()); + return documentWord; + }) + .collect(Collectors.toList())); + return documentPage; + }) + .collect(Collectors.toList())); + + // add key value pairs + if (!CoreUtils.isNullOrEmpty(innerAnalyzeResult.getKeyValuePairs())) { + AnalyzeResultHelper.setKeyValuePairs(analyzeResult, innerAnalyzeResult.getKeyValuePairs() + .stream() + .map(innerKeyValuePair -> { + DocumentKeyValuePair documentKeyValuePair = new DocumentKeyValuePair(); + DocumentKeyValuePairHelper.setValue(documentKeyValuePair, + toDocumentKeyValueElement(innerKeyValuePair.getValue())); + DocumentKeyValuePairHelper.setKey(documentKeyValuePair, + toDocumentKeyValueElement(innerKeyValuePair.getKey())); + DocumentKeyValuePairHelper.setConfidence(documentKeyValuePair, innerKeyValuePair.getConfidence()); + return documentKeyValuePair; + }) + .collect(Collectors.toList())); + } + + // add styles + if (!CoreUtils.isNullOrEmpty(innerAnalyzeResult.getStyles())) { + AnalyzeResultHelper.setStyles(analyzeResult, innerAnalyzeResult.getStyles() + .stream() + .map(innerDocumentStyle -> { + DocumentStyle documentStyle = new DocumentStyle(); + DocumentStyleHelper.setConfidence(documentStyle, innerDocumentStyle.getConfidence()); + DocumentStyleHelper.setIsHandwritten(documentStyle, innerDocumentStyle.isHandwritten()); + DocumentStyleHelper.setSpans(documentStyle, innerDocumentStyle.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + return documentStyle; + }) + .collect(Collectors.toList())); + } + + // add tables + if (!CoreUtils.isNullOrEmpty(innerAnalyzeResult.getTables())) { + AnalyzeResultHelper.setTables(analyzeResult, innerAnalyzeResult.getTables() + .stream() + .map(innerDocumentTable -> { + DocumentTable documentTable = new DocumentTable(); + DocumentTableHelper.setCells(documentTable, innerDocumentTable.getCells() + .stream() + .map(innerDocumentCell -> { + DocumentTableCell documentTableCell = new DocumentTableCell(); + DocumentTableCellHelper.setBoundingRegions(documentTableCell, + innerDocumentTable.getBoundingRegions() == null + ? null : innerDocumentTable.getBoundingRegions() + .stream() + .map(boundingRegion -> toBoundingRegion(boundingRegion)) + .collect(Collectors.toList())); + DocumentTableCellHelper.setSpans(documentTableCell, + innerDocumentTable.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + DocumentTableCellHelper.setContent(documentTableCell, innerDocumentCell.getContent()); + DocumentTableCellHelper.setColumnIndex(documentTableCell, + innerDocumentCell.getColumnIndex()); + DocumentTableCellHelper.setKind(documentTableCell, innerDocumentCell.getKind() == null + ? DocumentTableCellKind.CONTENT + : DocumentTableCellKind.fromString(innerDocumentCell.getKind().toString())); + DocumentTableCellHelper.setRowIndex(documentTableCell, innerDocumentCell.getRowIndex()); + DocumentTableCellHelper.setColumnSpan(documentTableCell, innerDocumentCell.getColumnSpan()); + DocumentTableCellHelper.setRowSpan(documentTableCell, innerDocumentCell.getRowSpan()); + return documentTableCell; + }) + .collect(Collectors.toList())); + DocumentTableHelper.setBoundingRegions(documentTable, + innerDocumentTable.getBoundingRegions() == null + ? null : innerDocumentTable.getBoundingRegions() + .stream() + .map(boundingRegion -> toBoundingRegion(boundingRegion)) + .collect(Collectors.toList())); + DocumentTableHelper.setSpans(documentTable, innerDocumentTable.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + DocumentTableHelper.setColumnCount(documentTable, innerDocumentTable.getColumnCount()); + DocumentTableHelper.setRowCount(documentTable, innerDocumentTable.getRowCount()); + return documentTable; + }) + .collect(Collectors.toList())); + } + + return analyzeResult; + } + + /** + * Mapping a {@link ErrorResponseException} to {@link HttpResponseException} if exists. Otherwise, return + * original {@link Throwable}. + * + * @param throwable A {@link Throwable}.s + * @return A {@link HttpResponseException} or the original throwable type. + */ + public static Throwable mapToHttpResponseExceptionIfExists(Throwable throwable) { + if (throwable instanceof ErrorResponseException) { + ErrorResponseException errorResponseException = (ErrorResponseException) throwable; + Error error = null; + if (errorResponseException.getValue() != null && errorResponseException.getValue().getError() != null) { + error = (errorResponseException.getValue().getError()); + } + return new HttpResponseException( + errorResponseException.getMessage(), + errorResponseException.getResponse(), + toFormRecognizerError(error) + ); + } + return throwable; + } + + public static CopyAuthorization toCopyAuthorization( + com.azure.ai.formrecognizer.implementation.models.CopyAuthorization innerCopyAuthorization) { + CopyAuthorization copyAuthorization = new CopyAuthorization(); + CopyAuthorizationHelper.setTargetModelId(copyAuthorization, innerCopyAuthorization.getTargetModelId()); + CopyAuthorizationHelper.setAccessToken(copyAuthorization, innerCopyAuthorization.getAccessToken()); + CopyAuthorizationHelper.setExpirationDateTime(copyAuthorization, + innerCopyAuthorization.getExpirationDateTime()); + CopyAuthorizationHelper.setTargetModelLocation(copyAuthorization, + innerCopyAuthorization.getTargetModelLocation()); + CopyAuthorizationHelper.setTargetResourceId(copyAuthorization, innerCopyAuthorization.getTargetResourceId()); + CopyAuthorizationHelper.setTargetResourceRegion(copyAuthorization, + innerCopyAuthorization.getTargetResourceRegion()); + return copyAuthorization; + } + + public static AccountProperties toAccountProperties(GetInfoResponse getInfoResponse) { + AccountProperties accountProperties = new AccountProperties(); + AccountPropertiesHelper.setDocumentModelCount(accountProperties, + getInfoResponse.getCustomDocumentModels().getCount()); + AccountPropertiesHelper.setDocumentModelLimit(accountProperties, + getInfoResponse.getCustomDocumentModels().getLimit()); + return accountProperties; + } + + public static DocumentModel toDocumentModel(ModelInfo modelInfo) { + DocumentModel documentModel = new DocumentModel(); + DocumentModelHelper.setModelId(documentModel, modelInfo.getModelId()); + DocumentModelHelper.setDescription(documentModel, modelInfo.getDescription()); + Map docTypeMap = getStringDocTypeInfoMap(modelInfo); + DocumentModelHelper.setDocTypes(documentModel, docTypeMap); + DocumentModelHelper.setCreatedOn(documentModel, modelInfo.getCreatedDateTime()); + return documentModel; + } + + private static Map getStringDocTypeInfoMap(ModelInfo modelInfo) { + if (!CoreUtils.isNullOrEmpty(modelInfo.getDocTypes())) { + Map docTypeMap = new HashMap<>(); + modelInfo.getDocTypes().forEach((key, innerDocTypeInfo) -> { + DocTypeInfo docTypeInfo = new DocTypeInfo(); + DocTypeInfoHelper.setDescription(docTypeInfo, innerDocTypeInfo.getDescription()); + Map schemaMap = new HashMap<>(); + innerDocTypeInfo.getFieldSchema().forEach((schemaKey, innerDocSchema) + -> schemaMap.put(schemaKey, toDocumentFieldSchema(innerDocSchema))); + DocTypeInfoHelper.setFieldSchema(docTypeInfo, schemaMap); + DocTypeInfoHelper.setFieldConfidence(docTypeInfo, innerDocTypeInfo.getFieldConfidence()); + docTypeMap.put(key, docTypeInfo); + }); + return docTypeMap; + } + return null; + } + + private static DocumentFieldSchema toDocumentFieldSchema( + com.azure.ai.formrecognizer.implementation.models.DocumentFieldSchema innerDocSchema) { + if (innerDocSchema != null) { + DocumentFieldSchema documentFieldSchema = new DocumentFieldSchema(); + DocumentFieldSchemaHelper.setDescription(documentFieldSchema, innerDocSchema.getDescription()); + DocumentFieldSchemaHelper.setExample(documentFieldSchema, innerDocSchema.getExample()); + DocumentFieldSchemaHelper.setType(documentFieldSchema, + DocumentFieldType.fromString(innerDocSchema.getType().toString())); + if (innerDocSchema.getItems() != null) { + DocumentFieldSchemaHelper.setItems(documentFieldSchema, + toDocumentFieldSchema(innerDocSchema.getItems())); + } + if (!CoreUtils.isNullOrEmpty(innerDocSchema.getProperties())) { + DocumentFieldSchemaHelper.setProperties(documentFieldSchema, + toDocumentFieldProperties(innerDocSchema.getProperties())); + } + return documentFieldSchema; + } + return null; + } + + private static Map toDocumentFieldProperties( + Map properties) { + Map schemaMap = new HashMap<>(); + properties.forEach((key, innerDocFieldSchema) -> + schemaMap.put(key, toDocumentFieldSchema(innerDocFieldSchema))); + return schemaMap; + } + + private static DocumentKeyValueElement toDocumentKeyValueElement( + com.azure.ai.formrecognizer.implementation.models.DocumentKeyValueElement innerDocKeyValElement) { + if (innerDocKeyValElement == null) { + return null; + } + DocumentKeyValueElement documentKeyValueElement = new DocumentKeyValueElement(); + DocumentKeyValueElementHelper.setContent(documentKeyValueElement, innerDocKeyValElement.getContent()); + DocumentKeyValueElementHelper.setBoundingRegions(documentKeyValueElement, + innerDocKeyValElement.getBoundingRegions() == null + ? null + : innerDocKeyValElement.getBoundingRegions() + .stream() + .map(innerBoundingRegion -> toBoundingRegion(innerBoundingRegion)) + .collect(Collectors.toList())); + DocumentKeyValueElementHelper.setSpans(documentKeyValueElement, innerDocKeyValElement.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + return documentKeyValueElement; + } + + private static Map toDocumentFields( + Map innerFields) { + Map documentFieldMap = new HashMap<>(); + innerFields.forEach((key, innerDocumentField) -> + documentFieldMap.put(key, toDocumentField(innerDocumentField))); + return documentFieldMap; + } + + private static DocumentField toDocumentField( + com.azure.ai.formrecognizer.implementation.models.DocumentField innerDocumentField) { + DocumentField documentField = new DocumentField(); + + DocumentFieldHelper.setType(documentField, + DocumentFieldType.fromString(innerDocumentField.getType().toString())); + DocumentFieldHelper.setBoundingRegions(documentField, + innerDocumentField.getBoundingRegions() == null + ? null + : innerDocumentField.getBoundingRegions().stream() + .map(boundingRegion -> toBoundingRegion(boundingRegion)) + .collect(Collectors.toList())); + DocumentFieldHelper.setContent(documentField, innerDocumentField.getContent()); + DocumentFieldHelper.setSpans(documentField, innerDocumentField.getSpans() == null + ? null + : innerDocumentField.getSpans() + .stream() + .map(innerDocumentSpan -> toDocumentSpan(innerDocumentSpan)) + .collect(Collectors.toList())); + setDocumentFieldValue(innerDocumentField, documentField); + return documentField; + } + + private static void setDocumentFieldValue( + com.azure.ai.formrecognizer.implementation.models.DocumentField innerDocumentField, DocumentField documentField) { + + if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.STRING.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueString(documentField, innerDocumentField.getValueString()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.DATE.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueDate(documentField, innerDocumentField.getValueDate()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.TIME.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueTime(documentField, innerDocumentField.getValueTime() == null + ? null : LocalTime.parse(innerDocumentField.getValueTime(), + DateTimeFormatter.ofPattern("HH:mm:ss"))); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.PHONE_NUMBER.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValuePhoneNumber(documentField, innerDocumentField.getValuePhoneNumber()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.NUMBER.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueNumber(documentField, innerDocumentField.getValueNumber()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.INTEGER.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueInteger(documentField, innerDocumentField.getValueInteger()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.SELECTION_MARK.equals( + innerDocumentField.getType())) { + if (innerDocumentField.getValueSelectionMark() == null) { + DocumentFieldHelper.setValueSelectionMark(documentField, null); + } else { + DocumentFieldHelper.setValueSelectionMark(documentField, + SelectionMarkState.fromString(innerDocumentField.getValueSelectionMark().toString())); + } + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.COUNTRY_REGION.equals( + innerDocumentField.getType())) { + DocumentFieldHelper.setValueCountryRegion(documentField, innerDocumentField.getValueCountryRegion()); + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.SIGNATURE.equals( + innerDocumentField.getType())) { + if (innerDocumentField.getValueSignature() != null) { + DocumentFieldHelper.setValueSignature(documentField, + DocumentSignatureType.fromString(innerDocumentField.getValueSignature().toString())); + } + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.ARRAY.equals( + innerDocumentField.getType())) { + if (CoreUtils.isNullOrEmpty(innerDocumentField.getValueArray())) { + DocumentFieldHelper.setValueArray(documentField, null); + } else { + DocumentFieldHelper.setValueArray(documentField, innerDocumentField.getValueArray() + .stream() + .map(innerArrayDocumentField -> toDocumentField(innerArrayDocumentField)) + .collect(Collectors.toList())); + } + } else if (com.azure.ai.formrecognizer.implementation.models.DocumentFieldType.OBJECT.equals( + innerDocumentField.getType())) { + if (CoreUtils.isNullOrEmpty(innerDocumentField.getValueObject())) { + DocumentFieldHelper.setValueObject(documentField, null); + } else { + HashMap documentFieldMap = new HashMap<>(); + innerDocumentField.getValueObject() + .forEach((key, innerMapDocumentField) + -> documentFieldMap.put(key, toDocumentField(innerMapDocumentField))); + DocumentFieldHelper.setValueObject(documentField, documentFieldMap); + } + } + } + + private static DocumentSpan toDocumentSpan( + com.azure.ai.formrecognizer.implementation.models.DocumentSpan innerDocumentSpan) { + com.azure.ai.formrecognizer.models.DocumentSpan + documentSpan = new com.azure.ai.formrecognizer.models.DocumentSpan(); + DocumentSpanHelper.setLength(documentSpan, innerDocumentSpan.getLength()); + DocumentSpanHelper.setOffset(documentSpan, innerDocumentSpan.getOffset()); + return documentSpan; + } + + private static BoundingRegion toBoundingRegion( + com.azure.ai.formrecognizer.implementation.models.BoundingRegion innerBoundingRegion) { + BoundingRegion boundingRegion = new BoundingRegion(); + BoundingRegionHelper.setBoundingBox(boundingRegion, innerBoundingRegion.getBoundingBox()); + BoundingRegionHelper.setPageNumber(boundingRegion, innerBoundingRegion.getPageNumber()); + return boundingRegion; + } + + public static List toDocumentModelInfo(List modelSummaryList) { + return modelSummaryList + .stream() + .map(modelSummary -> { + DocumentModelInfo documentModelInfo = new DocumentModelInfo(); + DocumentModelInfoHelper.setModelId(documentModelInfo, modelSummary.getModelId()); + DocumentModelInfoHelper.setDescription(documentModelInfo, modelSummary.getDescription()); + DocumentModelInfoHelper.setCreatedOn(documentModelInfo, modelSummary.getCreatedDateTime()); + return documentModelInfo; + }).collect(Collectors.toList()); + } + + public static ModelOperation toModelOperation(GetOperationResponse getOperationResponse) { + ModelOperation modelOperation = new ModelOperation(); + ModelInfo modelInfo = getOperationResponse.getResult(); + ModelOperationHelper.setModelId(modelOperation, modelInfo.getModelId()); + ModelOperationHelper.setDescription(modelOperation, modelInfo.getDescription()); + ModelOperationHelper.setCreatedOn(modelOperation, modelInfo.getCreatedDateTime()); + ModelOperationHelper.setOperationId(modelOperation, getOperationResponse.getOperationId()); + ModelOperationHelper.setCreatedOn(modelOperation, getOperationResponse.getCreatedDateTime()); + ModelOperationHelper.setKind(modelOperation, + ModelOperationKind.fromString(getOperationResponse.getKind().toString())); + ModelOperationHelper.setLastUpdatedOn(modelOperation, getOperationResponse.getLastUpdatedDateTime()); + ModelOperationHelper.setPercentCompleted(modelOperation, + getOperationResponse.getPercentCompleted() == null ? Integer.valueOf(0) + : getOperationResponse.getPercentCompleted()); + ModelOperationHelper.setStatus(modelOperation, + ModelOperationStatus.fromString(getOperationResponse.getStatus().toString())); + ModelOperationHelper.setResourceLocation(modelOperation, getOperationResponse.getResourceLocation()); + Map docTypeMap = getStringDocTypeInfoMap(modelInfo); + ModelOperationHelper.setDocTypes(modelOperation, docTypeMap); + FormRecognizerError error = toFormRecognizerError(getOperationResponse.getError()); + ModelOperationHelper.setError(modelOperation, error); + return modelOperation; + } + + public static List toModelOperationInfo(List operationInfoList) { + return operationInfoList + .stream() + .map(operationInfo -> { + ModelOperationInfo modelOperationInfo = new ModelOperationInfo(); + ModelOperationInfoHelper.setOperationId(modelOperationInfo, operationInfo.getOperationId()); + ModelOperationInfoHelper.setCreatedOn(modelOperationInfo, operationInfo.getCreatedDateTime()); + ModelOperationInfoHelper.setKind(modelOperationInfo, operationInfo.getKind() == null + ? null : ModelOperationKind.fromString(operationInfo.getKind().toString())); + ModelOperationInfoHelper.setLastUpdatedOn(modelOperationInfo, operationInfo.getLastUpdatedDateTime()); + ModelOperationInfoHelper.setPercentCompleted(modelOperationInfo, + operationInfo.getPercentCompleted() == null ? Integer.valueOf(0) + : operationInfo.getPercentCompleted()); + ModelOperationInfoHelper.setStatus(modelOperationInfo, + ModelOperationStatus.fromString(operationInfo.getStatus().toString())); + ModelOperationInfoHelper.setResourceLocation(modelOperationInfo, operationInfo.getResourceLocation()); + return modelOperationInfo; + }).collect(Collectors.toList()); + } + + public static DocumentOperationResult toFormRecognizerOperationResult( + String operationLocation) { + DocumentOperationResult documentOperationResult = new DocumentOperationResult(); + DocumentOperationResultHelper.setResultId( + documentOperationResult, + Utility.parseResultId(operationLocation)); + + return documentOperationResult; + } + + public static DocumentAnalysisException toDocumentAnalysisException(Error error) { + DocumentAnalysisException documentAnalysisException = new DocumentAnalysisException(); + FormRecognizerError formRecognizerError = toFormRecognizerError(error); + DocumentAnalysisExceptionHelper.setErrorInformation(documentAnalysisException, formRecognizerError); + return documentAnalysisException; + } + + private static FormRecognizerError toFormRecognizerError(Error error) { + if (error != null) { + FormRecognizerError formRecognizerError = new FormRecognizerError(); + FormRecognizerErrorHelper.setCode(formRecognizerError, error.getCode()); + FormRecognizerErrorHelper.setInnerError(formRecognizerError, toInnerError(error.getInnererror())); + FormRecognizerErrorHelper.setDetails(formRecognizerError, toErrorDetails(error.getDetails())); + FormRecognizerErrorHelper.setMessage(formRecognizerError, error.getMessage()); + FormRecognizerErrorHelper.setTarget(formRecognizerError, error.getTarget()); + return formRecognizerError; + } + return null; + } + + private static InnerError toInnerError( + com.azure.ai.formrecognizer.implementation.models.InnerError serviceInnerError) { + if (serviceInnerError == null) { + return null; + } + InnerError innerError = new InnerError(); + InnerErrorHelper.setCode(innerError, serviceInnerError.getCode()); + InnerErrorHelper.setMessage(innerError, serviceInnerError.getMessage()); + InnerErrorHelper.setInnerError(innerError, toInnerError(serviceInnerError.getInnererror())); + return innerError; + } + + private static List toErrorDetails(List details) { + return !CoreUtils.isNullOrEmpty(details) ? details + .stream() + .map(error -> toFormRecognizerError(error)) + .collect(Collectors.toList()) : null; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Utility.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Utility.java new file mode 100644 index 0000000000000..c3dcfefb5bee1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/implementation/util/Utility.java @@ -0,0 +1,177 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.implementation.util; + +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.credential.TokenCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.AzureKeyCredentialPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.polling.PollingContext; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; +import java.util.function.Function; +import java.util.function.Supplier; + +import static com.azure.core.util.FluxUtil.monoError; + +/** + * Utility method class. + */ +public final class Utility { + private static final ClientLogger LOGGER = new ClientLogger(Utility.class); + private static final String CLIENT_NAME; + private static final String CLIENT_VERSION; + static { + Map properties = CoreUtils.getProperties(Constants.FORM_RECOGNIZER_PROPERTIES); + CLIENT_NAME = properties.getOrDefault(Constants.NAME, "UnknownName"); + CLIENT_VERSION = properties.getOrDefault(Constants.VERSION, "UnknownVersion"); + } + + private Utility() { + } + + /** + * Creates a Flux of ByteBuffer, with each ByteBuffer wrapping bytes read from the given + * InputStream. + * + * @param inputStream InputStream to back the Flux + * @return Flux of ByteBuffer backed by the InputStream + * @throws NullPointerException If {@code inputStream} is null. + */ + public static Flux toFluxByteBuffer(InputStream inputStream) { + Objects.requireNonNull(inputStream, "'inputStream' is required and cannot be null."); + return FluxUtil + .toFluxByteBuffer(inputStream) + .cache() + .map(ByteBuffer::duplicate); + } + + public static HttpPipeline buildHttpPipeline(ClientOptions clientOptions, HttpLogOptions logOptions, + Configuration configuration, RetryPolicy retryPolicy, AzureKeyCredential credential, + TokenCredential tokenCredential, List perCallPolicies, + List perRetryPolicies, HttpClient httpClient) { + + Configuration buildConfiguration = (configuration == null) + ? Configuration.getGlobalConfiguration() + : configuration; + + ClientOptions buildClientOptions = (clientOptions == null) ? Constants.DEFAULT_CLIENT_OPTIONS : clientOptions; + HttpLogOptions buildLogOptions = (logOptions == null) ? Constants.DEFAULT_LOG_OPTIONS : logOptions; + + String applicationId = CoreUtils.getApplicationId(buildClientOptions, buildLogOptions); + + // Closest to API goes first, closest to wire goes last. + final List httpPipelinePolicies = new ArrayList<>(); + httpPipelinePolicies.add(new AddHeadersPolicy(Constants.DEFAULT_HTTP_HEADERS)); + httpPipelinePolicies.add(new AddHeadersFromContextPolicy()); + httpPipelinePolicies.add(new UserAgentPolicy(applicationId, CLIENT_NAME, CLIENT_VERSION, buildConfiguration)); + httpPipelinePolicies.add(new RequestIdPolicy()); + + httpPipelinePolicies.addAll(perCallPolicies); + HttpPolicyProviders.addBeforeRetryPolicies(httpPipelinePolicies); + httpPipelinePolicies.add(retryPolicy == null ? new RetryPolicy() : retryPolicy); + + httpPipelinePolicies.add(new AddDatePolicy()); + + // Authentications + if (tokenCredential != null) { + httpPipelinePolicies.add(new BearerTokenAuthenticationPolicy(tokenCredential, Constants.DEFAULT_SCOPE)); + } else if (credential != null) { + httpPipelinePolicies.add(new AzureKeyCredentialPolicy(Constants.OCP_APIM_SUBSCRIPTION_KEY, credential)); + } else { + // Throw exception that credential and tokenCredential cannot be null + throw LOGGER.logExceptionAsError( + new IllegalArgumentException("Missing credential information while building a client.")); + } + httpPipelinePolicies.addAll(perRetryPolicies); + HttpPolicyProviders.addAfterRetryPolicies(httpPipelinePolicies); + + HttpHeaders headers = new HttpHeaders(); + buildClientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + if (headers.getSize() > 0) { + httpPipelinePolicies.add(new AddHeadersPolicy(headers)); + } + + httpPipelinePolicies.add(new HttpLoggingPolicy(buildLogOptions)); + + return new HttpPipelineBuilder() + .clientOptions(buildClientOptions) + .httpClient(httpClient) + .policies(httpPipelinePolicies.toArray(new HttpPipelinePolicy[0])) + .build(); + } + + /** + * Extracts the result ID from the URL. + * + * @param operationLocation The URL specified in the 'Operation-Location' response header containing the + * resultId used to track the progress and obtain the result of the analyze operation. + * @return The resultId used to track the progress. + */ + public static String parseResultId(String operationLocation) { + + if (!CoreUtils.isNullOrEmpty(operationLocation)) { + int lastIndex = operationLocation.lastIndexOf('/'); + int firstIndex = operationLocation.indexOf('?'); + if (firstIndex != -1 && lastIndex != -1) { + return operationLocation.substring(operationLocation.lastIndexOf('/') + 1, + operationLocation.indexOf('?')); + } + } + throw LOGGER.logExceptionAsError( + new RuntimeException("Failed to parse operation header for result Id from: " + operationLocation)); + } + + /* + * Poller's ACTIVATION operation that takes URL as input. + */ + public static Function, Mono> + activationOperation( + Supplier> activationOperation, + ClientLogger logger) { + return pollingContext -> { + try { + return activationOperation.get().onErrorMap(Transforms::mapToHttpResponseExceptionIfExists); + } catch (RuntimeException ex) { + return monoError(logger, ex); + } + }; + } + + /** + * Generates a random UUID String. + * @return the UUID model Identifier. + */ + public static String generateRandomModelID() { + return UUID.randomUUID().toString(); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeDocumentOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeDocumentOptions.java new file mode 100644 index 0000000000000..f3e1c4d81bb6d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeDocumentOptions.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.core.annotation.Fluent; + +import java.util.List; + +/** + * Options that may be passed when using analyze document API on Document Analysis client. + */ +@Fluent +public final class AnalyzeDocumentOptions { + private List pages; + private String locale; + + /** + * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the + * pages you want to get the recognized result for. + *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page + * range with a comma, ex - ["1-3", 4].

+ * + * @return the list of custom page numbers for a multi page document. + */ + public List getPages() { + return pages; + } + + /** + * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the + * pages you want to get the recognized result for. + *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page + * range with a comma, ex - ["1-3", 4].

+ * + * @param pages the custom page numbers value to set. + * @return the updated {@code RecognizeContentOptions} value. + */ + public AnalyzeDocumentOptions setPages(List pages) { + this.pages = pages; + return this; + } + + /** + * Get the locale value. + * + * @return the locale value. + */ + public String getLocale() { + return locale; + } + + /** + * Set the locale value. + * Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US. + * + * @param locale the locale value to set. + * @return the locale value. + */ + public AnalyzeDocumentOptions setLocale(String locale) { + this.locale = locale; + return this; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeResult.java new file mode 100644 index 0000000000000..4bb0a63059338 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzeResult.java @@ -0,0 +1,251 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.AnalyzeResultHelper; + +import java.util.List; + +/** + * Document analysis result. + */ +public final class AnalyzeResult { + + /* + * Model ID used to produce this result. + */ + private String modelId; + + /* + * Concatenate string representation of all textual and visual elements in + * reading order. + */ + private String content; + + /* + * Analyzed pages. + */ + private List pages; + + /* + * Extracted tables. + */ + private List tables; + + /* + * Extracted key-value pairs. + */ + private List keyValuePairs; + + /* + * Extracted entities. + */ + private List entities; + + /* + * Extracted font styles. + */ + private List styles; + + /* + * Extracted documents. + */ + private List documents; + + /** + * Get the modelId property: Model ID used to produce this result. + * + * @return the modelId value. + */ + public String getModelId() { + return this.modelId; + } + + /** + * Set the modelId property: Model ID used to produce this result. + * + * @param modelId the modelId value to set. + * @return the AnalyzeResult object itself. + */ + void setModelId(String modelId) { + this.modelId = modelId; + } + + /** + * Get the content property: Concatenate string representation of all textual and visual elements in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenate string representation of all textual and visual elements in reading order. + * + * @param content the content value to set. + * @return the AnalyzeResult object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the pages property: Analyzed pages. + * + * @return the pages value. + */ + public List getPages() { + return this.pages; + } + + /** + * Set the pages property: Analyzed pages. + * + * @param pages the pages value to set. + * @return the AnalyzeResult object itself. + */ + void setPages(List pages) { + this.pages = pages; + } + + /** + * Get the tables property: Extracted tables. + * + * @return the tables value. + */ + public List getTables() { + return this.tables; + } + + /** + * Set the tables property: Extracted tables. + * + * @param tables the tables value to set. + * @return the AnalyzeResult object itself. + */ + void setTables(List tables) { + this.tables = tables; + } + + /** + * Get the keyValuePairs property: Extracted key-value pairs. + * + * @return the keyValuePairs value. + */ + public List getKeyValuePairs() { + return this.keyValuePairs; + } + + /** + * Set the keyValuePairs property: Extracted key-value pairs. + * + * @param keyValuePairs the keyValuePairs value to set. + * @return the AnalyzeResult object itself. + */ + void setKeyValuePairs(List keyValuePairs) { + this.keyValuePairs = keyValuePairs; + } + + /** + * Get the entities property: Extracted entities. + * + * @return the entities value. + */ + public List getEntities() { + return this.entities; + } + + /** + * Set the entities property: Extracted entities. + * + * @param entities the entities value to set. + * @return the AnalyzeResult object itself. + */ + void setEntities(List entities) { + this.entities = entities; + } + + /** + * Get the styles property: Extracted font styles. + * + * @return the styles value. + */ + public List getStyles() { + return this.styles; + } + + /** + * Set the styles property: Extracted font styles. + * + * @param styles the styles value to set. + * @return the AnalyzeResult object itself. + */ + void setStyles(List styles) { + this.styles = styles; + } + + /** + * Get the documents property: Extracted documents. + * + * @return the documents value. + */ + public List getDocuments() { + return this.documents; + } + + /** + * Set the documents property: Extracted documents. + * + * @param documents the documents value to set. + * @return the AnalyzeResult object itself. + */ + void setDocuments(List documents) { + this.documents = documents; + } + + static { + AnalyzeResultHelper.setAccessor(new AnalyzeResultHelper.AnalyzeResultAccessor() { + @Override + public void setModelId(AnalyzeResult analyzeResult, String id) { + analyzeResult.setModelId(id); + } + + @Override + public void setContent(AnalyzeResult analyzeResult, String content) { + analyzeResult.setContent(content); + } + + @Override + public void setPages(AnalyzeResult analyzeResult, List pages) { + analyzeResult.setPages(pages); + } + + @Override + public void setTables(AnalyzeResult analyzeResult, List tables) { + analyzeResult.setTables(tables); + } + + @Override + public void setKeyValuePairs(AnalyzeResult analyzeResult, List keyValuePairs) { + analyzeResult.setKeyValuePairs(keyValuePairs); + } + + @Override + public void setEntities(AnalyzeResult analyzeResult, List entities) { + analyzeResult.setEntities(entities); + } + + @Override + public void setStyles(AnalyzeResult analyzeResult, List styles) { + analyzeResult.setStyles(styles); + } + + @Override + public void setDocuments(AnalyzeResult analyzeResult, List documents) { + analyzeResult.setDocuments(documents); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzedDocument.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzedDocument.java new file mode 100644 index 0000000000000..9e378dca276f6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/AnalyzedDocument.java @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.AnalyzedDocumentHelper; + +import java.util.List; +import java.util.Map; + +/** + * An object describing the location and semantic content of a document. + */ +public final class AnalyzedDocument { + /* + * AnalyzeDocument type. + */ + private String docType; + + /* + * Bounding regions covering the document. + */ + private List boundingRegions; + + /* + * Location of the document in the reading order concatenated content. + */ + private List spans; + + /* + * Dictionary of named field values. + */ + private Map fields; + + /* + * Confidence of correctly extracting the document. + */ + private float confidence; + + /** + * Get the docType property: AnalyzeDocument type. + * + * @return the docType value. + */ + public String getDocType() { + return this.docType; + } + + /** + * Set the docType property: AnalyzeDocument type. + * + * @param docType the docType value to set. + * @return the AnalyzeDocument object itself. + */ + void setDocType(String docType) { + this.docType = docType; + } + + /** + * Get the boundingRegions property: Bounding regions covering the document. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the document. + * + * @param boundingRegions the boundingRegions value to set. + * @return the AnalyzeDocument object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the document in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the document in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the AnalyzeDocument object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + /** + * Get the fields property: Dictionary of named field values. + * + * @return the fields value. + */ + public Map getFields() { + return this.fields; + } + + /** + * Set the fields property: Dictionary of named field values. + * + * @param fields the fields value to set. + * @return the AnalyzeDocument object itself. + */ + void setFields(Map fields) { + this.fields = fields; + } + + /** + * Get the confidence property: Confidence of correctly extracting the document. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the document. + * + * @param confidence the confidence value to set. + * @return the AnalyzeDocument object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + AnalyzedDocumentHelper.setAccessor(new AnalyzedDocumentHelper.AnalyzedDocumentAccessor() { + @Override + public void setDocType(AnalyzedDocument analyzedDocument, String docType) { + analyzedDocument.setDocType(docType); + } + + @Override + public void setBoundingRegions(AnalyzedDocument analyzedDocument, List boundingRegions) { + analyzedDocument.setBoundingRegions(boundingRegions); + } + + @Override + public void setSpans(AnalyzedDocument analyzedDocument, List spans) { + analyzedDocument.setSpans(spans); + } + + @Override + public void setFields(AnalyzedDocument analyzedDocument, Map fields) { + analyzedDocument.setFields(fields); + } + + @Override + public void setConfidence(AnalyzedDocument analyzedDocument, float confidence) { + analyzedDocument.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/BoundingRegion.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/BoundingRegion.java new file mode 100644 index 0000000000000..2cc176c415020 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/BoundingRegion.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.BoundingRegionHelper; + +import java.util.List; + +/** + * Bounding box on a specific page of the input. + */ +public final class BoundingRegion { + /* + * 1-based page number of page containing the bounding region. + */ + private int pageNumber; + + /* + * Bounding box on the page, or the entire page if not specified. + */ + private List boundingBox; + + /** + * Get the pageNumber property: 1-based page number of page containing the bounding region. + * + * @return the pageNumber value. + */ + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Set the pageNumber property: 1-based page number of page containing the bounding region. + * + * @param pageNumber the pageNumber value to set. + * @return the BoundingRegion object itself. + */ + void setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + } + + /** + * Get the boundingBox property: Bounding box on the page, or the entire page if not specified. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box on the page, or the entire page if not specified. + * + * @param boundingBox the boundingBox value to set. + * @return the BoundingRegion object itself. + */ + void setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + } + + static { + BoundingRegionHelper.setAccessor(new BoundingRegionHelper.BoundingRegionAccessor() { + @Override + public void setPageNumber(BoundingRegion boundingRegion, int pageNumber) { + boundingRegion.setPageNumber(pageNumber); + } + + @Override + public void setBoundingBox(BoundingRegion boundingRegion, List boundingBox) { + boundingRegion.setBoundingBox(boundingBox); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/CreateComposedModelOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/CreateComposedModelOptions.java deleted file mode 100644 index 951a7313521ad..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/CreateComposedModelOptions.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -/** - * The configurable options to pass when creating a composed model. - */ -@Fluent -public final class CreateComposedModelOptions { - private String modelName; - - /** - * Get the optional model name defined by the user. - * - * @return the modelName. - */ - public String getModelName() { - return modelName; - } - - /** - * Set the optional model name defined by the user. - * - * @param modelName the user defined model name to set. - * - * @return the updated {@code CreateComposedModelOptions} value. - */ - public CreateComposedModelOptions setModelName(final String modelName) { - this.modelName = modelName; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentAnalysisException.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentAnalysisException.java new file mode 100644 index 0000000000000..b98da799f15d8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentAnalysisException.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.implementation.util.DocumentAnalysisExceptionHelper; +import com.azure.core.exception.AzureException; + +/** + * General exception for Document analysis client-side related failures. + * + * @see FormRecognizerError + */ +public final class DocumentAnalysisException extends AzureException { + + private FormRecognizerError errorInformation; + + /** + * Get the error information for this exception. + * + * @return the error information for this exception. + */ + public FormRecognizerError getErrorInformation() { + return this.errorInformation; + } + + /** + * Set the error information for this exception. + */ + void setErrorInformation(FormRecognizerError errorInformation) { + this.errorInformation = errorInformation; + } + + static { + DocumentAnalysisExceptionHelper.setAccessor( + (documentAnalysisException, formRecognizerError) -> documentAnalysisException.setErrorInformation(formRecognizerError)); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentEntity.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentEntity.java new file mode 100644 index 0000000000000..0d1d7f3ab12e6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentEntity.java @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentEntityHelper; + +import java.util.List; + +/** + * An object representing various categories of entities. + */ +public final class DocumentEntity { + /* + * Entity type. + */ + private String category; + + /* + * Entity sub type. + */ + private String subCategory; + + /* + * Entity content. + */ + private String content; + + /* + * Bounding regions covering the entity. + */ + private List boundingRegions; + + /* + * Location of the entity in the reading order concatenated content. + */ + private List spans; + + /* + * Confidence of correctly extracting the entity. + */ + private float confidence; + + /** + * Get the category property: Entity type. + * + * @return the category value. + */ + public String getCategory() { + return this.category; + } + + /** + * Set the category property: Entity type. + * + * @param category the category value to set. + * @return the DocumentEntity object itself. + */ + void setCategory(String category) { + this.category = category; + } + + /** + * Get the subCategory property: Entity sub type. + * + * @return the subCategory value. + */ + public String getSubCategory() { + return this.subCategory; + } + + /** + * Set the subCategory property: Entity sub type. + * + * @param subCategory the subCategory value to set. + * @return the DocumentEntity object itself. + */ + void setSubCategory(String subCategory) { + this.subCategory = subCategory; + } + + /** + * Get the content property: Entity content. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Entity content. + * + * @param content the content value to set. + * @return the DocumentEntity object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the entity. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the entity. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentEntity object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the entity in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the entity in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentEntity object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + /** + * Get the confidence property: Confidence of correctly extracting the entity. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the entity. + * + * @param confidence the confidence value to set. + * @return the DocumentEntity object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + DocumentEntityHelper.setAccessor(new DocumentEntityHelper.DocumentEntityAccessor() { + + @Override + public void setCategory(DocumentEntity documentEntity, String category) { + documentEntity.setCategory(category); + } + + @Override + public void setSubCategory(DocumentEntity documentEntity, String subCategory) { + documentEntity.setCategory(subCategory); + } + + @Override + public void setContent(DocumentEntity documentEntity, String content) { + documentEntity.setContent(content); + } + + @Override + public void setBoundingRegions(DocumentEntity documentEntity, List boundingRegion) { + documentEntity.setBoundingRegions(boundingRegion); + } + + @Override + public void setSpans(DocumentEntity documentEntity, List spans) { + documentEntity.setSpans(spans); + } + + @Override + public void setConfidence(DocumentEntity documentEntity, Float confidence) { + documentEntity.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentField.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentField.java new file mode 100644 index 0000000000000..4c82f974458be --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentField.java @@ -0,0 +1,492 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentFieldHelper; + +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.List; +import java.util.Map; + +/** An object representing the content and location of a field value. */ +public final class DocumentField { + /* + * Data type of the field value. + */ + private DocumentFieldType type; + + /* + * String value. + */ + private String valueString; + + /* + * Date value in YYYY-MM-DD format (ISO 8601). + */ + private LocalDate valueDate; + + /* + * Time value in hh:mm:ss format (ISO 8601). + */ + private LocalTime valueTime; + + /* + * Phone number value in E.164 format (ex. +19876543210). + */ + private String valuePhoneNumber; + + /* + * Floating point value. + */ + private Float valueFloat; + + /* + * Integer value. + */ + private Long valueInteger; + + /* + * Selection mark value. + */ + private SelectionMarkState valueSelectionMark; + + /* + * Presence of signature. + */ + private DocumentSignatureType valueSignature; + + /* + * 3-letter country code value (ISO 3166-1 alpha-3). + */ + private String valueCountryRegion; + + /* + * Array of field values. + */ + private List valueList; + + /* + * Dictionary of named field values. + */ + private Map valueMap; + + /* + * Field content. + */ + private String content; + + /* + * Bounding regions covering the field. + */ + private List boundingRegions; + + /* + * Location of the field in the reading order concatenated content. + */ + private List spans; + + /* + * Confidence of correctly extracting the field. + */ + private Float confidence; + + /** + * Get the type property: Data type of the field value. + * + * @return the type value. + */ + public DocumentFieldType getType() { + return this.type; + } + + /** + * Set the type property: Data type of the field value. + * + * @param type the type value to set. + * @return the DocumentField object itself. + */ + void setType(DocumentFieldType type) { + this.type = type; + } + + /** + * Get the valueString property: String value. + * + * @return the valueString value. + */ + public String getValueString() { + return this.valueString; + } + + /** + * Set the valueString property: String value. + * + * @param valueString the valueString value to set. + * @return the DocumentField object itself. + */ + void setValueString(String valueString) { + this.valueString = valueString; + } + + /** + * Get the valueDate property: Date value in YYYY-MM-DD format (ISO 8601). + * + * @return the valueDate value. + */ + public LocalDate getValueDate() { + return this.valueDate; + } + + /** + * Set the valueDate property: Date value in YYYY-MM-DD format (ISO 8601). + * + * @param valueDate the valueDate value to set. + * @return the DocumentField object itself. + */ + void setValueDate(LocalDate valueDate) { + this.valueDate = valueDate; + } + + /** + * Get the valueTime property: Time value in hh:mm:ss format (ISO 8601). + * + * @return the valueTime value. + */ + public LocalTime getValueTime() { + return this.valueTime; + } + + /** + * Set the valueTime property: Time value in hh:mm:ss format (ISO 8601). + * + * @param valueTime the valueTime value to set. + * @return the DocumentField object itself. + */ + void setValueTime(LocalTime valueTime) { + this.valueTime = valueTime; + } + + /** + * Get the valuePhoneNumber property: Phone number value in E.164 format (ex. +19876543210). + * + * @return the valuePhoneNumber value. + */ + public String getValuePhoneNumber() { + return this.valuePhoneNumber; + } + + /** + * Set the valuePhoneNumber property: Phone number value in E.164 format (ex. +19876543210). + * + * @param valuePhoneNumber the valuePhoneNumber value to set. + * @return the DocumentField object itself. + */ + void setValuePhoneNumber(String valuePhoneNumber) { + this.valuePhoneNumber = valuePhoneNumber; + } + + /** + * Get the valueFloat property: Floating point value. + * + * @return the valueFloat value. + */ + public Float getValueFloat() { + return this.valueFloat; + } + + /** + * Set the valueFloat property: Floating point value. + * + * @param valueFloat the valueFloat value to set. + * @return the DocumentField object itself. + */ + void setValueFloat(Float valueFloat) { + this.valueFloat = valueFloat; + } + + /** + * Get the valueInteger property: Integer value. + * + * @return the valueInteger value. + */ + public Long getValueInteger() { + return this.valueInteger; + } + + /** + * Set the valueInteger property: Integer value. + * + * @param valueInteger the valueInteger value to set. + * @return the DocumentField object itself. + */ + void setValueInteger(Long valueInteger) { + this.valueInteger = valueInteger; + } + + /** + * Get the valueSelectionMark property: Selection mark value. + * + * @return the valueSelectionMark value. + */ + public SelectionMarkState getValueSelectionMark() { + return this.valueSelectionMark; + } + + /** + * Set the valueSelectionMark property: Selection mark value. + * + * @param valueSelectionMark the valueSelectionMark value to set. + * @return the DocumentField object itself. + */ + void setValueSelectionMark(SelectionMarkState valueSelectionMark) { + this.valueSelectionMark = valueSelectionMark; + } + + /** + * Get the valueSignature property: Presence of signature. + * + * @return the valueSignature value. + */ + public DocumentSignatureType getValueSignature() { + return this.valueSignature; + } + + /** + * Set the valueSignature property: Presence of signature. + * + * @param valueSignature the valueSignature value to set. + * @return the DocumentField object itself. + */ + void setValueSignature(DocumentSignatureType valueSignature) { + this.valueSignature = valueSignature; + } + + /** + * Get the valueCountryRegion property: 3-letter country code value (ISO 3166-1 alpha-3). + * + * @return the valueCountryRegion value. + */ + public String getValueCountryRegion() { + return this.valueCountryRegion; + } + + /** + * Set the valueCountryRegion property: 3-letter country code value (ISO 3166-1 alpha-3). + * + * @param valueCountryRegion the valueCountryRegion value to set. + * @return the DocumentField object itself. + */ + void setValueCountryRegion(String valueCountryRegion) { + this.valueCountryRegion = valueCountryRegion; + } + + /** + * Set the valueCurrency property: 3-letter currency code value (ISO 4217). + * + * @param valueCurrency the valueCurrency value to set. + * @return the DocumentField object itself. + */ + /** + * Get the valueList property: Array of field values. + * + * @return the valueList value. + */ + public List getValueList() { + return this.valueList; + } + + /** + * Set the valueList property: Array of field values. + * + * @param valueList the valueList value to set. + * @return the DocumentField object itself. + */ + void setValueList(List valueList) { + this.valueList = valueList; + } + + /** + * Get the valueMap property: Dictionary of named field values. + * + * @return the valueMap value. + */ + public Map getValueMap() { + return this.valueMap; + } + + /** + * Set the valueMap property: Dictionary of named field values. + * + * @param valueMap the valueMap value to set. + * @return the DocumentField object itself. + */ + void setValueMap(Map valueMap) { + this.valueMap = valueMap; + } + + /** + * Get the content property: Field content. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Field content. + * + * @param content the content value to set. + * @return the DocumentField object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the field. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the field. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentField object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the field in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the field in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentField object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + /** + * Get the confidence property: Confidence of correctly extracting the field. + * + * @return the confidence value. + */ + public Float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the field. + * + * @param confidence the confidence value to set. + * @return the DocumentField object itself. + */ + void setConfidence(Float confidence) { + this.confidence = confidence; + } + + static { + DocumentFieldHelper.setAccessor(new DocumentFieldHelper.DocumentFieldAccessor() { + @Override + public void setType(DocumentField documentField, DocumentFieldType type) { + documentField.setType(type); + } + + @Override + public void setValueString(DocumentField documentField, String valueString) { + documentField.setValueString(valueString); + } + + @Override + public void setValueDate(DocumentField documentField, LocalDate valueDate) { + documentField.setValueDate(valueDate); + } + + @Override + public void setValueTime(DocumentField documentField, LocalTime valueTime) { + documentField.setValueTime(valueTime); + } + + @Override + public void setValuePhoneNumber(DocumentField documentField, String valuePhoneNumber) { + documentField.setValuePhoneNumber(valuePhoneNumber); + } + + @Override + public void setValueNumber(DocumentField documentField, Float valueFloat) { + documentField.setValueFloat(valueFloat); + } + + @Override + public void setValueInteger(DocumentField documentField, Long valueInteger) { + documentField.setValueInteger(valueInteger); + } + + @Override + public void setValueSelectionMark(DocumentField documentField, + SelectionMarkState valueSelectionMark) { + documentField.setValueSelectionMark(valueSelectionMark); + } + + @Override + public void setValueSignature(DocumentField documentField, + DocumentSignatureType valueSignature) { + documentField.setValueSignature(valueSignature); + } + + @Override + public void setValueCountryRegion(DocumentField documentField, String valueCountryRegion) { + documentField.setValueCountryRegion(valueCountryRegion); + } + + @Override + public void setValueArray(DocumentField documentField, + List valueList) { + documentField.setValueList(valueList); + } + + @Override + public void setValueObject(DocumentField documentField, + Map valueMap) { + documentField.setValueMap(valueMap); + } + + @Override + public void setContent(DocumentField documentField, String content) { + documentField.setContent(content); + } + + @Override + public void setBoundingRegions(DocumentField documentField, List boundingRegions) { + documentField.setBoundingRegions(boundingRegions); + } + + @Override + public void setSpans(DocumentField documentField, List spans) { + documentField.setSpans(spans); + } + + @Override + public void setConfidence(DocumentField documentField, Float confidence) { + documentField.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentFieldType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentFieldType.java new file mode 100644 index 0000000000000..f873f8bb0d577 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentFieldType.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.core.util.ExpandableStringEnum; + +import java.util.Collection; + +/** Defines values for DocumentFieldType. */ +public final class DocumentFieldType extends ExpandableStringEnum { + /** Static value string for DocumentFieldType. */ + public static final DocumentFieldType STRING = fromString("string"); + + /** Static value date for DocumentFieldType. */ + public static final DocumentFieldType DATE = fromString("date"); + + /** Static value time for DocumentFieldType. */ + public static final DocumentFieldType TIME = fromString("time"); + + /** Static value phoneNumber for DocumentFieldType. */ + public static final DocumentFieldType PHONE_NUMBER = fromString("phoneNumber"); + + /** Static value number for DocumentFieldType. */ + public static final DocumentFieldType FLOAT = fromString("number"); + + /** Static value integer for DocumentFieldType. */ + public static final DocumentFieldType INTEGER = fromString("integer"); + + /** Static value selectionMark for DocumentFieldType. */ + public static final DocumentFieldType SELECTION_MARK = fromString("selectionMark"); + + /** Static value countryRegion for DocumentFieldType. */ + public static final DocumentFieldType COUNTRY_REGION = fromString("countryRegion"); + + /** Static value signature for DocumentFieldType. */ + public static final DocumentFieldType SIGNATURE = fromString("signature"); + + /** Static value array for DocumentFieldType. */ + public static final DocumentFieldType LIST = fromString("array"); + + /** Static value object for DocumentFieldType. */ + public static final DocumentFieldType MAP = fromString("object"); + + /** + * Creates or finds a DocumentFieldType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentFieldType. + */ + public static DocumentFieldType fromString(String name) { + return fromString(name, DocumentFieldType.class); + } + + /** @return known DocumentFieldType values. */ + public static Collection values() { + return values(DocumentFieldType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValueElement.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValueElement.java new file mode 100644 index 0000000000000..e62c750910951 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValueElement.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentKeyValueElementHelper; + +import java.util.List; + +/** + * An object representing the field key or value in a key-value pair. + */ +public final class DocumentKeyValueElement { + /* + * Concatenated content of the key-value element in reading order. + */ + private String content; + + /* + * Bounding regions covering the key-value element. + */ + private List boundingRegions; + + /* + * Location of the key-value element in the reading order concatenated + * content. + */ + private List spans; + + /** + * Get the content property: Concatenated content of the key-value element in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the key-value element in reading order. + * + * @param content the content value to set. + * @return the DocumentKeyValueElement object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the key-value element. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the key-value element. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentKeyValueElement object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the key-value element in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the key-value element in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentKeyValueElement object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + static { + DocumentKeyValueElementHelper.setAccessor(new DocumentKeyValueElementHelper.DocumentKeyValueElementAccessor() { + @Override + public void setContent(DocumentKeyValueElement documentKeyValueElement, String content) { + documentKeyValueElement.setContent(content); + } + + @Override + public void setBoundingRegions(DocumentKeyValueElement documentKeyValueElement, + List boundingRegions) { + documentKeyValueElement.setBoundingRegions(boundingRegions); + } + + @Override + public void setSpans(DocumentKeyValueElement documentKeyValueElement, List spans) { + documentKeyValueElement.setSpans(spans); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValuePair.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValuePair.java new file mode 100644 index 0000000000000..80c3b4fe9e0fa --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentKeyValuePair.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentKeyValuePairHelper; + +/** + * An object representing a form field with distinct field label (key) and field value (may be empty). + */ +public final class DocumentKeyValuePair { + /* + * Field label of the key-value pair. + */ + private DocumentKeyValueElement key; + + /* + * Field value of the key-value pair. + */ + private DocumentKeyValueElement value; + + /* + * Confidence of correctly extracting the key-value pair. + */ + private float confidence; + + /** + * Get the key property: Field label of the key-value pair. + * + * @return the key value. + */ + public DocumentKeyValueElement getKey() { + return this.key; + } + + /** + * Set the key property: Field label of the key-value pair. + * + * @param key the key value to set. + * @return the DocumentKeyValuePair object itself. + */ + void setKey(DocumentKeyValueElement key) { + this.key = key; + } + + /** + * Get the value property: Field value of the key-value pair. + * + * @return the value value. + */ + public DocumentKeyValueElement getValue() { + return this.value; + } + + /** + * Set the value property: Field value of the key-value pair. + * + * @param value the value value to set. + * @return the DocumentKeyValuePair object itself. + */ + void setValue(DocumentKeyValueElement value) { + this.value = value; + } + + /** + * Get the confidence property: Confidence of correctly extracting the key-value pair. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the key-value pair. + * + * @param confidence the confidence value to set. + * @return the DocumentKeyValuePair object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + DocumentKeyValuePairHelper.setAccessor(new DocumentKeyValuePairHelper.DocumentKeyValuePairAccessor() { + @Override + public void setKey(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement key) { + documentKeyValuePair.setKey(key); + } + + @Override + public void setValue(DocumentKeyValuePair documentKeyValuePair, DocumentKeyValueElement value) { + documentKeyValuePair.setValue(value); + } + + @Override + public void setConfidence(DocumentKeyValuePair documentKeyValuePair, float confidence) { + documentKeyValuePair.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentLine.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentLine.java new file mode 100644 index 0000000000000..ce29ed0ac9fc3 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentLine.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentLineHelper; + +import java.util.List; + +/** + * A content line object consisting of an adjacent sequence of content elements, such as words and selection marks. + */ +public final class DocumentLine { + /* + * Concatenated content of the contained elements in reading order. + */ + private String content; + + /* + * Bounding box of the line. + */ + private List boundingBox; + + /* + * Location of the line in the reading order concatenated content. + */ + private List spans; + + /** + * Get the content property: Concatenated content of the contained elements in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the contained elements in reading order. + * + * @param content the content value to set. + * @return the DocumentLine object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingBox property: Bounding box of the line. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box of the line. + * + * @param boundingBox the boundingBox value to set. + * @return the DocumentLine object itself. + */ + void setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + } + + /** + * Get the spans property: Location of the line in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the line in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentLine object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + static { + DocumentLineHelper.setAccessor(new DocumentLineHelper.DocumentLineAccessor() { + @Override + public void setContent(DocumentLine documentLine, String content) { + documentLine.setContent(content); + } + + @Override + public void setBoundingBox(DocumentLine documentLine, List boundingBox) { + documentLine.setBoundingBox(boundingBox); + } + + @Override + public void setSpans(DocumentLine documentLine, List spans) { + documentLine.setSpans(spans); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentOperationResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentOperationResult.java new file mode 100644 index 0000000000000..221d830da7e5f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentOperationResult.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentOperationResultHelper; + +/** + * The DocumentOperationResult model. + */ +public final class DocumentOperationResult { + /** + * Identifier which contains the result of the model/analyze operation. + */ + private String resultId; + + /** + * Gets an ID representing the operation that can be used to poll for the status + * of the long-running operation. + * + * @return the resultId. + */ + public String getResultId() { + return this.resultId; + } + + void setResultId(String resultId) { + this.resultId = resultId; + } + + static { + DocumentOperationResultHelper.setAccessor( + new DocumentOperationResultHelper.DocumentOperationResultAccessor() { + @Override + public void setResultId( + DocumentOperationResult documentOperationResult, String resultId) { + documentOperationResult.setResultId(resultId); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentPage.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentPage.java new file mode 100644 index 0000000000000..bb39a78bc40ac --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentPage.java @@ -0,0 +1,285 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentPageHelper; + +import java.util.List; + +/** + * Content and layout elements extracted from a page from the input. + */ +public final class DocumentPage { + /* + * 1-based page number in the input document. + */ + private int pageNumber; + + /* + * The general orientation of the content in clockwise direction, measured + * in degrees between (-180, 180]. + */ + private float angle; + + /* + * The width of the image/PDF in pixels/inches, respectively. + */ + private float width; + + /* + * The height of the image/PDF in pixels/inches, respectively. + */ + private float height; + + /* + * The unit used by the width, height, and boundingBox properties. For + * images, the unit is "pixel". For PDF, the unit is "inch". + */ + private LengthUnit unit; + + /* + * Location of the page in the reading order concatenated content. + */ + private List spans; + + /* + * Extracted words from the page. + */ + private List words; + + /* + * Extracted selection marks from the page. + */ + private List selectionMarks; + + /* + * Extracted lines from the page, potentially containing both textual and + * visual elements. + */ + private List lines; + + /** + * Get the pageNumber property: 1-based page number in the input document. + * + * @return the pageNumber value. + */ + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Set the pageNumber property: 1-based page number in the input document. + * + * @param pageNumber the pageNumber value to set. + * @return the DocumentPage object itself. + */ + void setPageNumber(int pageNumber) { + this.pageNumber = pageNumber; + } + + /** + * Get the angle property: The general orientation of the content in clockwise direction, measured in degrees + * between (-180, 180]. + * + * @return the angle value. + */ + public float getAngle() { + return this.angle; + } + + /** + * Set the angle property: The general orientation of the content in clockwise direction, measured in degrees + * between (-180, 180]. + * + * @param angle the angle value to set. + * @return the DocumentPage object itself. + */ + void setAngle(float angle) { + this.angle = angle; + } + + /** + * Get the width property: The width of the image/PDF in pixels/inches, respectively. + * + * @return the width value. + */ + public float getWidth() { + return this.width; + } + + /** + * Set the width property: The width of the image/PDF in pixels/inches, respectively. + * + * @param width the width value to set. + * @return the DocumentPage object itself. + */ + void setWidth(float width) { + this.width = width; + } + + /** + * Get the height property: The height of the image/PDF in pixels/inches, respectively. + * + * @return the height value. + */ + public float getHeight() { + return this.height; + } + + /** + * Set the height property: The height of the image/PDF in pixels/inches, respectively. + * + * @param height the height value to set. + * @return the DocumentPage object itself. + */ + void setHeight(float height) { + this.height = height; + } + + /** + * Get the unit property: The unit used by the width, height, and boundingBox properties. For images, the unit is + * "pixel". For PDF, the unit is "inch". + * + * @return the unit value. + */ + public LengthUnit getUnit() { + return this.unit; + } + + /** + * Set the unit property: The unit used by the width, height, and boundingBox properties. For images, the unit is + * "pixel". For PDF, the unit is "inch". + * + * @param unit the unit value to set. + * @return the DocumentPage object itself. + */ + void setUnit(LengthUnit unit) { + this.unit = unit; + } + + /** + * Get the spans property: Location of the page in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the page in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentPage object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + /** + * Get the words property: Extracted words from the page. + * + * @return the words value. + */ + public List getWords() { + return this.words; + } + + /** + * Set the words property: Extracted words from the page. + * + * @param words the words value to set. + * @return the DocumentPage object itself. + */ + void setWords(List words) { + this.words = words; + } + + /** + * Get the selectionMarks property: Extracted selection marks from the page. + * + * @return the selectionMarks value. + */ + public List getSelectionMarks() { + return this.selectionMarks; + } + + /** + * Set the selectionMarks property: Extracted selection marks from the page. + * + * @param selectionMarks the selectionMarks value to set. + * @return the DocumentPage object itself. + */ + void setSelectionMarks(List selectionMarks) { + this.selectionMarks = selectionMarks; + } + + /** + * Get the lines property: Extracted lines from the page, potentially containing both textual and visual elements. + * + * @return the lines value. + */ + public List getLines() { + return this.lines; + } + + /** + * Set the lines property: Extracted lines from the page, potentially containing both textual and visual elements. + * + * @param lines the lines value to set. + * @return the DocumentPage object itself. + */ + void setLines(List lines) { + this.lines = lines; + } + + static { + DocumentPageHelper.setAccessor(new DocumentPageHelper.DocumentPageAccessor() { + @Override + public void setPageNumber(DocumentPage documentPage, int pageNumber) { + documentPage.setPageNumber(pageNumber); + } + + @Override + public void setAngle(DocumentPage documentPage, float angle) { + documentPage.setAngle(angle); + } + + @Override + public void setWidth(DocumentPage documentPage, float width) { + documentPage.setWidth(width); + } + + @Override + public void setHeight(DocumentPage documentPage, float height) { + documentPage.setHeight(height); + } + + @Override + public void setUnit(DocumentPage documentPage, LengthUnit unit) { + documentPage.setUnit(unit); + } + + @Override + public void setSpans(DocumentPage documentPage, List spans) { + documentPage.setSpans(spans); + } + + @Override + public void setWords(DocumentPage documentPage, List words) { + documentPage.setWords(words); + } + + @Override + public void setSelectionMarks(DocumentPage documentPage, List selectionMarks) { + documentPage.setSelectionMarks(selectionMarks); + } + + @Override + public void setLines(DocumentPage documentPage, List lines) { + documentPage.setLines(lines); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSelectionMark.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSelectionMark.java new file mode 100644 index 0000000000000..326b29eee900c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSelectionMark.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentSelectionMarkHelper; + +import java.util.List; + +/** + * A selection mark object representing check boxes, radio buttons, and other elements indicating a selection. + */ +public final class DocumentSelectionMark { + /* + * State of the selection mark. + */ + private SelectionMarkState state; + + /* + * Bounding box of the selection mark. + */ + private List boundingBox; + + /* + * Location of the selection mark in the reading order concatenated + * content. + */ + private DocumentSpan span; + + /* + * Confidence of correctly extracting the selection mark. + */ + private float confidence; + + /** + * Get the state property: State of the selection mark. + * + * @return the state value. + */ + public SelectionMarkState getState() { + return this.state; + } + + /** + * Set the state property: State of the selection mark. + * + * @param state the state value to set. + * @return the DocumentSelectionMark object itself. + */ + void setState(SelectionMarkState state) { + this.state = state; + } + + /** + * Get the boundingBox property: Bounding box of the selection mark. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box of the selection mark. + * + * @param boundingBox the boundingBox value to set. + * @return the DocumentSelectionMark object itself. + */ + void setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + } + + /** + * Get the span property: Location of the selection mark in the reading order concatenated content. + * + * @return the span value. + */ + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Set the span property: Location of the selection mark in the reading order concatenated content. + * + * @param span the span value to set. + * @return the DocumentSelectionMark object itself. + */ + void setSpan(DocumentSpan span) { + this.span = span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the selection mark. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the selection mark. + * + * @param confidence the confidence value to set. + * @return the DocumentSelectionMark object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + DocumentSelectionMarkHelper.setAccessor(new DocumentSelectionMarkHelper.DocumentSelectionMarkAccessor() { + @Override + public void setState(DocumentSelectionMark documentSelectionMark, SelectionMarkState state) { + documentSelectionMark.setState(state); + } + + @Override + public void setBoundingBox(DocumentSelectionMark documentSelectionMark, List boundingBox) { + documentSelectionMark.setBoundingBox(boundingBox); + } + + @Override + public void setSpan(DocumentSelectionMark documentSelectionMark, DocumentSpan span) { + documentSelectionMark.setSpan(span); + } + + @Override + public void setConfidence(DocumentSelectionMark documentSelectionMark, float confidence) { + + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSignatureType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSignatureType.java new file mode 100644 index 0000000000000..1bf2010b95a03 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSignatureType.java @@ -0,0 +1,32 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.core.util.ExpandableStringEnum; + +import java.util.Collection; + +/** Defines values for DocumentSignatureType. */ +public final class DocumentSignatureType extends ExpandableStringEnum { + /** Static value signed for DocumentSignatureType. */ + public static final DocumentSignatureType SIGNED = fromString("signed"); + + /** Static value unsigned for DocumentSignatureType. */ + public static final DocumentSignatureType UNSIGNED = fromString("unsigned"); + + /** + * Creates or finds a DocumentSignatureType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentSignatureType. + */ + public static DocumentSignatureType fromString(String name) { + return fromString(name, DocumentSignatureType.class); + } + + /** @return known DocumentSignatureType values. */ + public static Collection values() { + return values(DocumentSignatureType.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSpan.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSpan.java new file mode 100644 index 0000000000000..9b709042959de --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentSpan.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentSpanHelper; + +/** + * Contiguous region of the concatenated content property, specified as an offset and length. + */ +public final class DocumentSpan { + /* + * Zero-based index of the content represented by the span. + */ + private int offset; + + /* + * Number of characters in the content represented by the span. + */ + private int length; + + /** + * Get the offset property: Zero-based index of the content represented by the span. + * + * @return the offset value. + */ + public int getOffset() { + return this.offset; + } + + /** + * Set the offset property: Zero-based index of the content represented by the span. + * + * @param offset the offset value to set. + * @return the DocumentSpan object itself. + */ + void setOffset(int offset) { + this.offset = offset; + } + + /** + * Get the length property: Number of characters in the content represented by the span. + * + * @return the length value. + */ + public int getLength() { + return this.length; + } + + /** + * Set the length property: Number of characters in the content represented by the span. + * + * @param length the length value to set. + * @return the DocumentSpan object itself. + */ + void setLength(int length) { + this.length = length; + } + + static { + DocumentSpanHelper.setAccessor(new DocumentSpanHelper.DocumentSpanAccessor() { + @Override + public void setOffset(DocumentSpan documentSpan, int offset) { + documentSpan.setOffset(offset); + } + + @Override + public void setLength(DocumentSpan documentSpan, int length) { + documentSpan.setLength(length); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentStyle.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentStyle.java new file mode 100644 index 0000000000000..13681c626dbc5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentStyle.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentStyleHelper; + +import java.util.List; + +/** + * An object representing observed text styles. + */ +public final class DocumentStyle { + /* + * Is content handwritten? + */ + private Boolean isHandwritten; + + /* + * Location of the text elements in the concatenated content the style + * applies to. + */ + private List spans; + + /* + * Confidence of correctly identifying the style. + */ + private float confidence; + + /** + * Get the isHandwritten property: Is content handwritten?. + * + * @return the isHandwritten value. + */ + public Boolean isHandwritten() { + return this.isHandwritten; + } + + /** + * Set the isHandwritten property: Is content handwritten?. + * + * @param isHandwritten the isHandwritten value to set. + * @return the DocumentStyle object itself. + */ + void setIsHandwritten(Boolean isHandwritten) { + this.isHandwritten = isHandwritten; + } + + /** + * Get the spans property: Location of the text elements in the concatenated content the style applies to. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the text elements in the concatenated content the style applies to. + * + * @param spans the spans value to set. + * @return the DocumentStyle object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + /** + * Get the confidence property: Confidence of correctly identifying the style. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly identifying the style. + * + * @param confidence the confidence value to set. + * @return the DocumentStyle object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + DocumentStyleHelper.setAccessor(new DocumentStyleHelper.DocumentStyleAccessor() { + @Override + public void setSpans(DocumentStyle documentStyle, List spans) { + documentStyle.setSpans(spans); + } + + @Override + public void setIsHandwritten(DocumentStyle documentStyle, Boolean isHandwritten) { + documentStyle.setIsHandwritten(isHandwritten); + } + + @Override + public void setConfidence(DocumentStyle documentStyle, Float confidence) { + documentStyle.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTable.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTable.java new file mode 100644 index 0000000000000..101517c64fb17 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTable.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentTableHelper; + +import java.util.List; + +/** + * A table object consisting table cells arranged in a rectangular layout. + */ +public final class DocumentTable { + /* + * Number of rows in the table. + */ + private int rowCount; + + /* + * Number of columns in the table. + */ + private int columnCount; + + /* + * Cells contained within the table. + */ + private List cells; + + /* + * Bounding regions covering the table. + */ + private List boundingRegions; + + /* + * Location of the table in the reading order concatenated content. + */ + private List spans; + + /** + * Get the rowCount property: Number of rows in the table. + * + * @return the rowCount value. + */ + public int getRowCount() { + return this.rowCount; + } + + /** + * Set the rowCount property: Number of rows in the table. + * + * @param rowCount the rowCount value to set. + * @return the DocumentTable object itself. + */ + void setRowCount(int rowCount) { + this.rowCount = rowCount; + } + + /** + * Get the columnCount property: Number of columns in the table. + * + * @return the columnCount value. + */ + public int getColumnCount() { + return this.columnCount; + } + + /** + * Set the columnCount property: Number of columns in the table. + * + * @param columnCount the columnCount value to set. + * @return the DocumentTable object itself. + */ + void setColumnCount(int columnCount) { + this.columnCount = columnCount; + } + + /** + * Get the cells property: Cells contained within the table. + * + * @return the cells value. + */ + public List getCells() { + return this.cells; + } + + /** + * Set the cells property: Cells contained within the table. + * + * @param cells the cells value to set. + * @return the DocumentTable object itself. + */ + void setCells(List cells) { + this.cells = cells; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the table. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentTable object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the table in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the table in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentTable object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + static { + DocumentTableHelper.setAccessor(new DocumentTableHelper.DocumentTableAccessor() { + @Override + public void setRowCount(DocumentTable documentTable, int rowCount) { + documentTable.setRowCount(rowCount); + } + + @Override + public void setColumnCount(DocumentTable documentTable, int columnCount) { + documentTable.setColumnCount(columnCount); + } + + @Override + public void setCells(DocumentTable documentTable, List cells) { + documentTable.setCells(cells); + } + + @Override + public void setBoundingRegions(DocumentTable documentTable, List boundingRegions) { + documentTable.setBoundingRegions(boundingRegions); + } + + @Override + public void setSpans(DocumentTable documentTable, List spans) { + documentTable.setSpans(spans); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCell.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCell.java new file mode 100644 index 0000000000000..727a2f1512473 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCell.java @@ -0,0 +1,249 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentTableCellHelper; + +import java.util.List; + +/** + * An object representing the location and content of a table cell. + */ +public final class DocumentTableCell { + /* + * Table cell kind. + */ + private DocumentTableCellKind kind; + + /* + * Row index of the cell. + */ + private int rowIndex; + + /* + * Column index of the cell. + */ + private int columnIndex; + + /* + * Number of rows spanned by this cell. + */ + private Integer rowSpan; + + /* + * Number of columns spanned by this cell. + */ + private Integer columnSpan; + + /* + * Concatenated content of the table cell in reading order. + */ + private String content; + + /* + * Bounding regions covering the table cell. + */ + private List boundingRegions; + + /* + * Location of the table cell in the reading order concatenated content. + */ + private List spans; + + /** + * Get the kind property: Table cell kind. + * + * @return the kind value. + */ + public DocumentTableCellKind getKind() { + return this.kind; + } + + /** + * Set the kind property: Table cell kind. + * + * @param kind the kind value to set. + * @return the DocumentTableCell object itself. + */ + void setKind(DocumentTableCellKind kind) { + this.kind = kind; + } + + /** + * Get the rowIndex property: Row index of the cell. + * + * @return the rowIndex value. + */ + public int getRowIndex() { + return this.rowIndex; + } + + /** + * Set the rowIndex property: Row index of the cell. + * + * @param rowIndex the rowIndex value to set. + * @return the DocumentTableCell object itself. + */ + void setRowIndex(int rowIndex) { + this.rowIndex = rowIndex; + } + + /** + * Get the columnIndex property: Column index of the cell. + * + * @return the columnIndex value. + */ + public int getColumnIndex() { + return this.columnIndex; + } + + /** + * Set the columnIndex property: Column index of the cell. + * + * @param columnIndex the columnIndex value to set. + * @return the DocumentTableCell object itself. + */ + void setColumnIndex(int columnIndex) { + this.columnIndex = columnIndex; + } + + /** + * Get the rowSpan property: Number of rows spanned by this cell. + * + * @return the rowSpan value. + */ + public Integer getRowSpan() { + return this.rowSpan; + } + + /** + * Set the rowSpan property: Number of rows spanned by this cell. + * + * @param rowSpan the rowSpan value to set. + * @return the DocumentTableCell object itself. + */ + void setRowSpan(Integer rowSpan) { + this.rowSpan = rowSpan; + } + + /** + * Get the columnSpan property: Number of columns spanned by this cell. + * + * @return the columnSpan value. + */ + public Integer getColumnSpan() { + return this.columnSpan; + } + + /** + * Set the columnSpan property: Number of columns spanned by this cell. + * + * @param columnSpan the columnSpan value to set. + * @return the DocumentTableCell object itself. + */ + void setColumnSpan(Integer columnSpan) { + this.columnSpan = columnSpan; + } + + /** + * Get the content property: Concatenated content of the table cell in reading order. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Concatenated content of the table cell in reading order. + * + * @param content the content value to set. + * @return the DocumentTableCell object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table cell. + * + * @return the boundingRegions value. + */ + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Set the boundingRegions property: Bounding regions covering the table cell. + * + * @param boundingRegions the boundingRegions value to set. + * @return the DocumentTableCell object itself. + */ + void setBoundingRegions(List boundingRegions) { + this.boundingRegions = boundingRegions; + } + + /** + * Get the spans property: Location of the table cell in the reading order concatenated content. + * + * @return the spans value. + */ + public List getSpans() { + return this.spans; + } + + /** + * Set the spans property: Location of the table cell in the reading order concatenated content. + * + * @param spans the spans value to set. + * @return the DocumentTableCell object itself. + */ + void setSpans(List spans) { + this.spans = spans; + } + + static { + DocumentTableCellHelper.setAccessor(new DocumentTableCellHelper.DocumentTableCellAccessor() { + @Override + public void setSpans(DocumentTableCell documentTableCell, List spans) { + documentTableCell.setSpans(spans); + } + + @Override + public void setBoundingRegions(DocumentTableCell documentTableCell, List boundingRegions) { + documentTableCell.setBoundingRegions(boundingRegions); + } + + @Override + public void setContent(DocumentTableCell documentTableCell, String content) { + documentTableCell.setContent(content); + } + + @Override + public void setColumnSpan(DocumentTableCell documentTableCell, Integer columnSpan) { + documentTableCell.setColumnSpan(columnSpan); + } + + @Override + public void setRowSpan(DocumentTableCell documentTableCell, Integer rowSpan) { + documentTableCell.setRowSpan(rowSpan); + } + + @Override + public void setColumnIndex(DocumentTableCell documentTableCell, int columnIndex) { + documentTableCell.setColumnIndex(columnIndex); + } + + @Override + public void setRowIndex(DocumentTableCell documentTableCell, int rowIndex) { + documentTableCell.setRowIndex(rowIndex); + } + + @Override + public void setKind(DocumentTableCell documentTableCell, DocumentTableCellKind kind) { + documentTableCell.setKind(kind); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCellKind.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCellKind.java new file mode 100644 index 0000000000000..1dd74c0744e73 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentTableCellKind.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.core.util.ExpandableStringEnum; + +import java.util.Collection; + +/** Defines values for DocumentTableCellKind. */ +public final class DocumentTableCellKind extends ExpandableStringEnum { + /** Static value content for DocumentTableCellKind. */ + public static final DocumentTableCellKind CONTENT = fromString("content"); + + /** Static value rowHeader for DocumentTableCellKind. */ + public static final DocumentTableCellKind ROW_HEADER = fromString("rowHeader"); + + /** Static value columnHeader for DocumentTableCellKind. */ + public static final DocumentTableCellKind COLUMN_HEADER = fromString("columnHeader"); + + /** Static value stubHead for DocumentTableCellKind. */ + public static final DocumentTableCellKind STUB_HEAD = fromString("stubHead"); + + /** Static value description for DocumentTableCellKind. */ + public static final DocumentTableCellKind DESCRIPTION = fromString("description"); + + /** + * Creates or finds a DocumentTableCellKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentTableCellKind. + */ + public static DocumentTableCellKind fromString(String name) { + return fromString(name, DocumentTableCellKind.class); + } + + /** @return known DocumentTableCellKind values. */ + public static Collection values() { + return values(DocumentTableCellKind.class); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentWord.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentWord.java new file mode 100644 index 0000000000000..31ed9c7eadae6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/DocumentWord.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.models; + +import com.azure.ai.formrecognizer.implementation.util.DocumentWordHelper; + +import java.util.List; + +/** + * A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, + * Japanese, and Korean, each character is represented as its own word. + */ +public final class DocumentWord { + /* + * Text content of the word. + */ + private String content; + + /* + * Bounding box of the word. + */ + private List boundingBox; + + /* + * Location of the word in the reading order concatenated content. + */ + private DocumentSpan span; + + /* + * Confidence of correctly extracting the word. + */ + private float confidence; + + /** + * Get the content property: Text content of the word. + * + * @return the content value. + */ + public String getContent() { + return this.content; + } + + /** + * Set the content property: Text content of the word. + * + * @param content the content value to set. + * @return the DocumentWord object itself. + */ + void setContent(String content) { + this.content = content; + } + + /** + * Get the boundingBox property: Bounding box of the word. + * + * @return the boundingBox value. + */ + public List getBoundingBox() { + return this.boundingBox; + } + + /** + * Set the boundingBox property: Bounding box of the word. + * + * @param boundingBox the boundingBox value to set. + * @return the DocumentWord object itself. + */ + void setBoundingBox(List boundingBox) { + this.boundingBox = boundingBox; + } + + /** + * Get the span property: Location of the word in the reading order concatenated content. + * + * @return the span value. + */ + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Set the span property: Location of the word in the reading order concatenated content. + * + * @param span the span value to set. + * @return the DocumentWord object itself. + */ + void setSpan(DocumentSpan span) { + this.span = span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the word. + * + * @return the confidence value. + */ + public float getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: Confidence of correctly extracting the word. + * + * @param confidence the confidence value to set. + * @return the DocumentWord object itself. + */ + void setConfidence(float confidence) { + this.confidence = confidence; + } + + static { + DocumentWordHelper.setAccessor(new DocumentWordHelper.DocumentWordAccessor() { + @Override + public void setBoundingBox(DocumentWord documentWord, List boundingBox) { + documentWord.setBoundingBox(boundingBox); + } + + @Override + public void setContent(DocumentWord documentWord, String content) { + documentWord.setContent(content); + } + + @Override + public void setSpan(DocumentWord documentWord, DocumentSpan span) { + documentWord.setSpan(span); + } + + @Override + public void setConfidence(DocumentWord documentWord, float confidence) { + documentWord.setConfidence(confidence); + } + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldBoundingBox.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldBoundingBox.java deleted file mode 100644 index bd97c80fcf3f8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldBoundingBox.java +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Quadrangle bounding box, with coordinates specified relative to the top-left of the original image - */ -@Immutable -public final class FieldBoundingBox { - - /** - * The list of coordinates of the field's bounding box. - */ - private final List points; - - /** - * Constructs a Field Bounding box object. - * - * @param points The list of coordinates of the field's bounding box. - */ - public FieldBoundingBox(final List points) { - if (points == null) { - this.points = null; - } else { - this.points = Collections.unmodifiableList(points); - } - } - - /** - * Gets the list of all point coordinates of the bounding box. - * - * @return The unmodifiable list of all point coordinates of the field's bounding box. - */ - public List getPoints() { - return this.points; - } - - /** - * Returns a string representation of the {@link FieldBoundingBox}. - * - * @return the string representation of the {@link FieldBoundingBox}. - */ - @Override - public String toString() { - return points.stream().map(point -> String.format("[%.2f, %.2f]", point.getX(), - point.getY())).collect(Collectors.joining(", ")); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldData.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldData.java deleted file mode 100644 index c99e9cfce6868..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldData.java +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * The FieldData model. - */ -@Immutable -public final class FieldData extends FormElement { - - /** - * The list of element references for the field value. - */ - private final List fieldElements; - - /** - * Creates raw OCR FieldData item. - * - * @param text The text content of this form element. - * @param boundingBox The Bounding Box of the recognized field. - * @param pageNumber the 1 based page number. - * @param fieldElements The list of element references when includeFieldElements is set to true. - */ - public FieldData(String text, FieldBoundingBox boundingBox, int pageNumber, - final List fieldElements) { - super(text, boundingBox, pageNumber); - this.fieldElements = fieldElements == null ? null : Collections.unmodifiableList(fieldElements); - } - - /** - * {@inheritDoc} - */ - @Override - public FieldBoundingBox getBoundingBox() { - return super.getBoundingBox(); - } - - /** - * {@inheritDoc} - */ - @Override - public String getText() { - return super.getText(); - } - - /** - * {@inheritDoc} - */ - @Override - public int getPageNumber() { - return super.getPageNumber(); - } - - /** - * When `includeFieldElements` is set to true, gets a list of reference elements constituting - * this {@code FieldData}. - * - * @return The unmodifiable list of reference elements constituting this {@code FieldData}. - */ - public List getFieldElements() { - return this.fieldElements; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValue.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValue.java deleted file mode 100644 index d34f5b0e28788..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValue.java +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.util.logging.ClientLogger; - -import java.time.LocalDate; -import java.time.LocalTime; -import java.util.List; -import java.util.Map; - -import static com.azure.ai.formrecognizer.models.FieldValueType.COUNTRY_REGION; -import static com.azure.ai.formrecognizer.models.FieldValueType.DATE; -import static com.azure.ai.formrecognizer.models.FieldValueType.FLOAT; -import static com.azure.ai.formrecognizer.models.FieldValueType.LIST; -import static com.azure.ai.formrecognizer.models.FieldValueType.LONG; -import static com.azure.ai.formrecognizer.models.FieldValueType.MAP; -import static com.azure.ai.formrecognizer.models.FieldValueType.PHONE_NUMBER; -import static com.azure.ai.formrecognizer.models.FieldValueType.SELECTION_MARK_STATE; -import static com.azure.ai.formrecognizer.models.FieldValueType.STRING; -import static com.azure.ai.formrecognizer.models.FieldValueType.TIME; - -/** - * Represents the strongly-typed value of a field recognized from the input document and provides - * methods for converting it to the appropriate type. - */ -@Fluent -public final class FieldValue { - private final ClientLogger logger = new ClientLogger(FieldValue.class); - private final FieldValueType valueType; - private Map formFieldMap; - private List formFieldList; - private Float formFieldFloat; - private Long formFieldLong; - private LocalDate formFieldDate; - private LocalTime formFieldTime; - private SelectionMarkState selectionMarkState; - private String formFieldString; - private String formFieldPhoneNumber; - private String formFieldCountryRegion; - - /** - * Constructs a FieldValue object - * - * @param value The actual value of the field. - * @param valueType The type of the field. - */ - @SuppressWarnings("unchecked") - public FieldValue(final Object value, final FieldValueType valueType) { - this.valueType = valueType; - switch (valueType) { - case STRING: - formFieldString = (String) value; - break; - case DATE: - formFieldDate = (LocalDate) value; - break; - case TIME: - formFieldTime = (LocalTime) value; - break; - case PHONE_NUMBER: - formFieldPhoneNumber = (String) value; - break; - case FLOAT: - formFieldFloat = (Float) value; - break; - case LONG: - formFieldLong = (Long) value; - break; - case LIST: - formFieldList = (List) value; - break; - case MAP: - formFieldMap = (Map) value; - break; - case SELECTION_MARK_STATE: - selectionMarkState = (SelectionMarkState) value; - break; - case COUNTRY_REGION: - formFieldCountryRegion = (String) value; - break; - default: - throw logger.logExceptionAsError(new IllegalStateException("Unexpected type value: " + valueType)); - } - } - - /** - * Gets the type of the value of the field. - * - * @return the {@link FieldValueType type} of the field. - */ - public FieldValueType getValueType() { - return valueType; - } - - /** - * Gets the value of the field as a {@link String}. - * - * @return the value of the field as a {@link String}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#STRING}. - */ - public String asString() { - if (STRING != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as " - + "%s from field value of type %s", STRING, this.getValueType())))); - } - return this.formFieldString; - } - - /** - * Gets the value of the field as a {@link Long}. - * - * @return the value of the field as a {@link Long}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#LONG}. - */ - public Long asLong() { - if (LONG != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as " - + "%s from field value of type %s", LONG, this.getValueType())))); - } - return this.formFieldLong; - } - - /** - * Gets the value of the field as a {@link Float}. - * - * @return the value of the field as a {@link Float}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#FLOAT}. - */ - public Float asFloat() { - if (FLOAT != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as " - + "%s from field value of type %s", FLOAT, this.getValueType())))); - } - return this.formFieldFloat; - } - - /** - * Gets the value of the field as a {@link LocalDate}. - * - * @return the value of the field as a {@link LocalDate}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#DATE}. - */ - public LocalDate asDate() { - if (DATE != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as " - + "%s from field value of type %s", DATE, this.getValueType())))); - } - return this.formFieldDate; - } - - /** - * Gets the value of the field as a {@link LocalTime}. - * - * @return the value of the field as a {@link LocalTime}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#TIME}. - */ - public LocalTime asTime() { - if (TIME != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as " - + "%s from field value of type %s", TIME, this.getValueType())))); - } - return this.formFieldTime; - } - - /** - * Gets the value of the field as a phone number. - * - * @return the value of the field as a phone number. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not - * {@link FieldValueType#PHONE_NUMBER}. - */ - public String asPhoneNumber() { - if (PHONE_NUMBER != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as a" - + "%s from field value of type %s", PHONE_NUMBER, this.getValueType())))); - } - return this.formFieldPhoneNumber; - } - - /** - * Gets the value of the field as a {@link List}. - * - * @return the value of the field as an unmodifiable {@link List}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#LIST}. - */ - public List asList() { - if (LIST != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as a " - + "%s from field value of type %s", LIST, this.getValueType())))); - } - return this.formFieldList; - } - - /** - * Gets the value of the field as a {@link Map}. - * - * @return the value of the field as an unmodifiable {@link Map}. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not {@link FieldValueType#MAP}. - */ - public Map asMap() { - if (MAP != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format("Cannot get field as a " - + "%s from field value of type %s", MAP, this.getValueType())))); - } - return this.formFieldMap; - } - - /** - * Gets the value of the field as a selection mark state. - * - * @return the value of the field as an unmodifiable selection mark state. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not - * {@link FieldValueType#SELECTION_MARK_STATE}. - */ - public SelectionMarkState asSelectionMarkState() { - if (SELECTION_MARK_STATE != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format( - "Cannot get field as a %s from field value of type %s", SELECTION_MARK_STATE, this.getValueType())))); - } - return this.selectionMarkState; - } - - /** - * Gets the value of the field as a country or region in the world. - * - * @return the value of the field as COUNTRY_REGION. - * @throws UnsupportedOperationException if {@link FieldValue#getValueType()} is not - * {@link FieldValueType#COUNTRY_REGION}. - */ - public String asCountryRegion() { - if (COUNTRY_REGION != this.getValueType()) { - throw logger.logExceptionAsError((new UnsupportedOperationException(String.format( - "Cannot get field as a %s from field value of type %s", COUNTRY_REGION, this.getValueType())))); - } - return this.formFieldCountryRegion; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValueType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValueType.java deleted file mode 100644 index 61e5d4620fd85..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FieldValueType.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -/** Defines values for FieldValueType. */ -public enum FieldValueType { - /** Enum value string. */ - STRING, - - /** Enum value date. */ - DATE, - - /** Enum value time. */ - TIME, - - /** Enum value phoneNumber. */ - PHONE_NUMBER, - - /** Enum value floating point number. */ - FLOAT, - - /** Enum value long. */ - LONG, - - /** Enum value list. */ - LIST, - - /** Enum value map. */ - MAP, - - /** Enum value selection mark state. */ - SELECTION_MARK_STATE, - - /** Enum value country region. */ - COUNTRY_REGION -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormContentType.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormContentType.java deleted file mode 100644 index 0e81a5fb0fe18..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormContentType.java +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.util.ExpandableStringEnum; - -/** - * Define values for content type supported for local files. - */ -public final class FormContentType extends ExpandableStringEnum { - - /** - * Static value Line for FormContentType. - */ - public static final FormContentType APPLICATION_PDF = fromString("application/pdf"); - - /** - * Static value Line for FormContentType. - */ - public static final FormContentType IMAGE_JPEG = fromString("image/jpeg"); - - /** - * Static value Line for FormContentType. - */ - public static final FormContentType IMAGE_PNG = fromString("image/png"); - - /** - * Static value Line for FormContentType. - */ - public static final FormContentType IMAGE_TIFF = fromString("image/tiff"); - - /** - * Static value Line for FormContentType. - */ - public static final FormContentType IMAGE_BMP = fromString("image/bmp"); - - /** - * Creates or finds a ElementType from its string representation. - * - * @param value a value to look for. - * - * @return the corresponding ElementType. - */ - public static FormContentType fromString(String value) { - return fromString(value, FormContentType.class); - } - -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormElement.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormElement.java deleted file mode 100644 index 9c1c425b347c1..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormElement.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * Represents a form element recognized from the input document. Its text can be a line, - * a word, the content of a table cell, a selection mark, etc. - */ -@Immutable -public abstract class FormElement { - - /* - * Text content of the extracted element. - */ - private final String text; - - /* - * The 1-based page number in the input document. - */ - private final int pageNumber; - - /* - * BoundingBox specifying relative coordinates of the element. - */ - private final FieldBoundingBox boundingBox; - - /** - * Creates raw OCR item. - * @param text The text content of the extracted element. - * @param boundingBox The BoundingBox specifying relative coordinates of the element. - * @param pageNumber the 1 based page number. - */ - FormElement(final String text, final FieldBoundingBox boundingBox, final int pageNumber) { - this.text = text; - this.boundingBox = boundingBox; - this.pageNumber = pageNumber; - } - - /** - * BoundingBox property of the element. - * - * @return the bounding box of the element. - */ - public FieldBoundingBox getBoundingBox() { - return boundingBox; - } - - /** - * The text content of the form element. - * - * @return The text content of the form element. - */ - public String getText() { - return text; - } - - /** - * Get the 1-based page number in the input document. - * - * @return the page number value. - */ - public int getPageNumber() { - return this.pageNumber; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormField.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormField.java deleted file mode 100644 index cafad3e9f0a3a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormField.java +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * Represents a field recognized in an input document. - */ -@Immutable -public final class FormField { - - private final float confidence; - private final FieldData labelData; - private final String name; - private final FieldValue value; - private final FieldData valueData; - - /** - * Constructs a FormField object. - * - * @param name The name the field or label. - * @param labelData The text, bounding box, and field elements for the field label. - * @param valueData The text, bounding box, and field elements for the field value. - * @param value The value of the recognized field. - * @param confidence The confidence of the recognized field. - */ - public FormField(final String name, final FieldData labelData, final FieldData valueData, - final FieldValue value, final float confidence) { - this.confidence = confidence; - this.labelData = labelData; - this.name = name; - this.value = value; - this.valueData = valueData; - } - - /** - * Get the estimated confidence value of the recognized field. - * - * @return the confidence value. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * Get the text, bounding box, and field elements for the field label. - * - * @return the text, bounding box, and field elements for the field value. - */ - public FieldData getLabelData() { - return this.labelData; - } - - /** - * Get the name of the field in the provided document. - * - * @return the name of field or label. - */ - public String getName() { - return this.name; - } - - /** - * Get the value of the recognized field. - * - * @return Value of the recognized field. - */ - public FieldValue getValue() { - return this.value; - } - - /** - * Get the text, bounding box, and field elements for the field value. - * - * @return the text, bounding box, and field elements for the field value. - */ - public FieldData getValueData() { - return this.valueData; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormLine.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormLine.java deleted file mode 100644 index 10b2f75ad2fbf..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormLine.java +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.FormLineHelper; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * Represents a line of text and its appearance. - */ -@Immutable -public final class FormLine extends FormElement { - - /* - * List of words in the text line. - */ - private final List words; - - /* - * Line text appearance properties. - */ - private TextAppearance appearance; - - static { - FormLineHelper.setAccessor(new FormLineHelper.FormLineAccessor() { - @Override - public void setAppearance(FormLine formLine, TextAppearance textAppearance) { - formLine.setAppearance(textAppearance); - } - }); - } - - /** - * Creates raw OCR item. - * When includeFieldElements is set to true, a list of recognized text lines. - * - * @param text The text content of recognized field. - * @param boundingBox The BoundingBox of the recognized field. - * @param pageNumber the page number. - * @param words The list of word element references. - */ - public FormLine(String text, FieldBoundingBox boundingBox, Integer pageNumber, final List words) { - super(text, boundingBox, pageNumber); - this.words = words == null ? null : Collections.unmodifiableList(words); - } - - /** - * Get the list of words in the text line. - * - * @return the unmodifiable list of words in the {@code FormLine}. - */ - public List getWords() { - return this.words; - } - - /** - * {@inheritDoc} - */ - @Override - public FieldBoundingBox getBoundingBox() { - return super.getBoundingBox(); - } - - /** - * {@inheritDoc} - */ - @Override - public String getText() { - return super.getText(); - } - - /** - * {@inheritDoc} - */ - @Override - public int getPageNumber() { - return super.getPageNumber(); - } - - /** - * The private setter to set the appearance property - * via {@link FormLineHelper.FormLineAccessor}. - * - * @param appearance the appearance text line. - */ - private FormLine setAppearance(TextAppearance appearance) { - this.appearance = appearance; - return this; - } - - /** - * Get the appearance of the text line. - * - * @return the appearance of the text line. - */ - public TextAppearance getAppearance() { - return appearance; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPage.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPage.java deleted file mode 100644 index e7cab56bb1fa2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPage.java +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.CustomFormSubmodelHelper; -import com.azure.ai.formrecognizer.implementation.FormPageHelper; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * Represents a page recognized from the input document. Contains lines, words, tables, - * selection marks, and page metadata. - */ -@Immutable -public final class FormPage { - - /* - * The height of the image/PDF in pixels/inches, respectively. - */ - private final float height; - - /* - * When includeFieldElements is set to true, a list of recognized text lines. - */ - private final List lines; - - /* - * List of data tables extracted from the page. - */ - private final List tables; - - /* - * List of selection marks extracted from the page. - */ - private List selectionMarks; - - /* - * The general orientation of the text in clockwise direction, measured in - * degrees between (-180, 180]. - */ - private final float textAngle; - - /* - * The unit used by the width, height and boundingBox properties. For - * images, the unit is "pixel". For PDF, the unit is "inch". - */ - private final LengthUnit unit; - - /* - * The width of the image/PDF in pixels/inches, respectively. - */ - private final float width; - - /* - * The 1 based page number. - */ - private final Integer pageNumber; - - static { - FormPageHelper.setAccessor(new FormPageHelper.FormPageAccessor() { - @Override - public void setSelectionMarks(FormPage formPage, List selectionMarks) { - formPage.setSelectionMarks(selectionMarks); - } - }); - } - - /** - * Constructs a FormPage object. - * - * @param height The height of the image/PDF in pixels/inches, respectively. - * @param textAngle The general orientation of the text in clockwise direction. - * @param unit The unit used by the width, height and boundingBox properties. - * @param width The width of the image/PDF in pixels/inches, respectively. - * @param lines When includeFieldElements is set to true, a list of recognized text lines. - * @param tables List of data tables extracted from the page. - * @param pageNumber the 1-based page number in the input document. - */ - public FormPage(final float height, final float textAngle, final LengthUnit unit, - final float width, final List lines, final List tables, final int pageNumber) { - this.height = height; - this.textAngle = textAngle > 180 ? textAngle - 360 : textAngle; - this.unit = unit; - this.width = width; - this.lines = lines == null ? null : Collections.unmodifiableList(lines); - this.tables = tables == null ? null : Collections.unmodifiableList(tables); - this.pageNumber = pageNumber; - } - - /** - * Get the height property: The height of the image/PDF in pixels/inches, - * respectively. - * - * @return the height value. - */ - public float getHeight() { - return this.height; - } - - /** - * Get the lines property: When includeFieldElements is set to true, a list - * of recognized text lines. - * - * @return the unmodifiable list of recognized lines. - */ - public List getLines() { - return this.lines; - } - - /** - * Get the tables property: List of data tables extracted from the page. - * - * @return the unmodifiable list of recognized tables. - */ - public List getTables() { - return this.tables; - } - - /** - * Get the text angle property. - * - * @return the text angle value. - */ - public float getTextAngle() { - return this.textAngle; - } - - /** - * Get the unit property: The unit used by the width, height and - * boundingBox properties. For images, the unit is "pixel". For PDF, the - * unit is "inch". - * - * @return the unit value. - */ - public LengthUnit getUnit() { - return this.unit; - } - - /** - * Get the width property: The width of the image/PDF in pixels/inches, - * respectively. - * - * @return the width value. - */ - public float getWidth() { - return this.width; - } - - /** - * Get the 1-based page number in the input document. - * - * @return the page number value. - */ - public Integer getPageNumber() { - return this.pageNumber; - } - - /** - * Get the selection marks in the input document. - * - * @return the selection marks. - */ - public List getSelectionMarks() { - return Collections.unmodifiableList(this.selectionMarks); - } - - /** - * The private setter to set the selectionMarks property - * via {@link CustomFormSubmodelHelper.CustomFormSubmodelAccessor}. - * - * @param selectionMarks The selection marks in the input document. - */ - private void setSelectionMarks(List selectionMarks) { - this.selectionMarks = selectionMarks; - } -} - diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPageRange.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPageRange.java deleted file mode 100644 index 672d5236b60ca..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormPageRange.java +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * Represents a page interval from the input document. Page numbers are 1-based.. - */ -@Immutable -public final class FormPageRange { - - /* - * The first page number property. - */ - private final int firstPageNumber; - - /* - * The last page number property. - */ - private final int lastPageNumber; - - - /** - * Construct a FormPageRange object. - * - * @param firstPageNumber The first page number of the range. - * @param lastPageNumber The first page number of the range.. - */ - public FormPageRange(final int firstPageNumber, final int lastPageNumber) { - this.firstPageNumber = firstPageNumber; - this.lastPageNumber = lastPageNumber; - } - - /** - * Get the first page number of the range. - * - * @return the first page number of the range. - */ - public int getFirstPageNumber() { - return this.firstPageNumber; - } - - /** - * Get the last page number. - * - * @return the last page number of the range. - */ - public int getLastPageNumber() { - return this.lastPageNumber; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormReadingOrder.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormReadingOrder.java deleted file mode 100644 index c4bf7b05a58a4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormReadingOrder.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.util.ExpandableStringEnum; - -/** - * Defines values for the order in which recognized text lines are returned. - */ -public final class FormReadingOrder extends ExpandableStringEnum { - - /** - * Static value BASIC for FormReadingOrder. - * Set it to basic for the lines to be sorted top to bottom, left to right, although in certain cases - * proximity is treated with higher priority. - */ - public static final FormReadingOrder BASIC = fromString("basic"); - - /** - * Static value NATURAL for FormReadingOrder. - * Set it to "natural" value for the algorithm to use positional information to keep nearby lines together. - */ - public static final FormReadingOrder NATURAL = fromString("natural"); - - /** - * Parses a serialized value to a FormReadingOrder instance. - * - * @param value the serialized value to parse. - * @return the parsed FormReadingOrder object, or null if unable to parse. - */ - public static FormReadingOrder fromString(String value) { - return fromString(value, FormReadingOrder.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerError.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerError.java deleted file mode 100644 index 6d875d62b941e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerError.java +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * The FormRecognizerError model. - */ -@Immutable -public final class FormRecognizerError { - /* - * The error code property. - */ - private final String errorCode; - - /* - * The message property. - */ - private final String message; - - /** - * Constructs a FormRecognizerError object. - * - * @param errorCode The error code property. - * @param message The message property. - */ - public FormRecognizerError(final String errorCode, final String message) { - this.errorCode = errorCode; - this.message = message; - } - - /** - * Get the code property. - * - * @return the error code value returned by the service. - */ - public String getErrorCode() { - return this.errorCode; - } - - - /** - * Get the message property. - * - * @return the message value returned by the service. - */ - public String getMessage() { - return this.message; - } - -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerErrorInformation.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerErrorInformation.java deleted file mode 100644 index aeb84324a5ca7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerErrorInformation.java +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * The FormRecognizerErrorInformation model. - */ -@Immutable -public final class FormRecognizerErrorInformation { - /* - * The errorCode property. - */ - private final String errorCode; - - /* - * The message property. - */ - private final String message; - - /** - * Constructs a FormRecognizerErrorInformation object. - * - * @param errorCode the error code returned by the service. - * @param message the error message returned by the service - */ - public FormRecognizerErrorInformation(final String errorCode, final String message) { - this.errorCode = errorCode; - this.message = message; - } - - /** - * Get the error code property returned by the service. - * - * @return the error code property returned by the service. - */ - public String getErrorCode() { - return this.errorCode; - } - - - /** - * Get the message property returned by the service. - * - * @return the message property returned by the service. - */ - public String getMessage() { - return this.message; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerException.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerException.java deleted file mode 100644 index 976c5d4b88a08..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerException.java +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.exception.AzureException; -import com.azure.core.util.CoreUtils; - -import java.util.Collections; -import java.util.List; - -/** - * General exception for FormRecognizer client-side related failures. - * - * @see FormRecognizerErrorInformation - */ -public class FormRecognizerException extends AzureException { - private final List errorInformationList; - private final String errorInformationMessage; - - /** - * Initializes a new instance of {@link FormRecognizerException} class - * - * @param message Text containing the details of the exception. - * @param errorInformationList The List of error information that caused the exception - */ - public FormRecognizerException(final String message, - final List errorInformationList) { - super(message); - StringBuilder errorInformationStringBuilder = new StringBuilder().append(message); - if (!CoreUtils.isNullOrEmpty(errorInformationList)) { - for (FormRecognizerErrorInformation errorInformation : errorInformationList) { - errorInformationStringBuilder.append(", " + "errorCode" + ": [") - .append(errorInformation.getErrorCode()).append("], ").append("message") - .append(": ").append(errorInformation.getMessage()); - } - this.errorInformationList = Collections.unmodifiableList(errorInformationList); - } else { - this.errorInformationList = null; - } - this.errorInformationMessage = errorInformationStringBuilder.toString(); - } - - @Override - public String getMessage() { - return this.errorInformationMessage; - } - - /** - * Get the error information list for this exception. - * - * @return the unmodifiable error information list for this exception. - */ - public List getErrorInformation() { - return this.errorInformationList; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLanguage.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLanguage.java deleted file mode 100644 index caf0efeb170db..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLanguage.java +++ /dev/null @@ -1,243 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.util.ExpandableStringEnum; - -/** - * The language code supported on the Form Recognizer service. - * See supported language codes - * here. - */ -public final class FormRecognizerLanguage extends ExpandableStringEnum { - /** Static value af for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage AF = fromString("af"); - - /** Static value ast for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage AST = fromString("ast"); - - /** Static value bi for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage BI = fromString("bi"); - - /** Static value br for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage BR = fromString("br"); - - /** Static value ca for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CA = fromString("ca"); - - /** Static value ceb for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CEB = fromString("ceb"); - - /** Static value ch for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CH = fromString("ch"); - - /** Static value co for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CO = fromString("co"); - - /** Static value crh for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CRH = fromString("crh"); - - /** Static value cs for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CS = fromString("cs"); - - /** Static value csb for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage CSB = fromString("csb"); - - /** Static value da for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage DA = fromString("da"); - - /** Static value de for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage DE = fromString("de"); - - /** Static value en for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage EN = fromString("en"); - - /** Static value es for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ES = fromString("es"); - - /** Static value et for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ET = fromString("et"); - - /** Static value eu for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage EU = fromString("eu"); - - /** Static value fi for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FI = fromString("fi"); - - /** Static value fil for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FIL = fromString("fil"); - - /** Static value fj for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FJ = fromString("fj"); - - /** Static value fr for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FR = fromString("fr"); - - /** Static value fur for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FUR = fromString("fur"); - - /** Static value fy for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage FY = fromString("fy"); - - /** Static value ga for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage GA = fromString("ga"); - - /** Static value gd for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage GD = fromString("gd"); - - /** Static value gil for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage GIL = fromString("gil"); - - /** Static value gl for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage GL = fromString("gl"); - - /** Static value gv for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage GV = fromString("gv"); - - /** Static value hni for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage HNI = fromString("hni"); - - /** Static value hsb for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage HSB = fromString("hsb"); - - /** Static value ht for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage HT = fromString("ht"); - - /** Static value hu for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage HU = fromString("hu"); - - /** Static value ia for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage IA = fromString("ia"); - - /** Static value id for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ID = fromString("id"); - - /** Static value it for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage IT = fromString("it"); - - /** Static value iu for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage IU = fromString("iu"); - - /** Static value ja for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage JA = fromString("ja"); - - /** Static value jv for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage JV = fromString("jv"); - - /** Static value kaa for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KAA = fromString("kaa"); - - /** Static value kac for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KAC = fromString("kac"); - - /** Static value kea for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KEA = fromString("kea"); - - /** Static value kha for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KHA = fromString("kha"); - - /** Static value kl for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KL = fromString("kl"); - - /** Static value ko for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KO = fromString("ko"); - - /** Static value ku for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KU = fromString("ku"); - - /** Static value kw for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage KW = fromString("kw"); - - /** Static value lb for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage LB = fromString("lb"); - - /** Static value ms for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage MS = fromString("ms"); - - /** Static value mww for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage MWW = fromString("mww"); - - /** Static value nap for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage NAP = fromString("nap"); - - /** Static value nl for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage NL = fromString("nl"); - - /** Static value no for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage NO = fromString("no"); - - /** Static value oc for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage OC = fromString("oc"); - - /** Static value pl for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage PL = fromString("pl"); - - /** Static value pt for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage PT = fromString("pt"); - - /** Static value quc for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage QUC = fromString("quc"); - - /** Static value rm for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage RM = fromString("rm"); - - /** Static value sco for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage SCO = fromString("sco"); - - /** Static value sl for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage SL = fromString("sl"); - - /** Static value sq for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage SQ = fromString("sq"); - - /** Static value sv for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage SV = fromString("sv"); - - /** Static value sw for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage SW = fromString("sw"); - - /** Static value tet for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage TET = fromString("tet"); - - /** Static value tr for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage TR = fromString("tr"); - - /** Static value tt for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage TT = fromString("tt"); - - /** Static value uz for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage UZ = fromString("uz"); - - /** Static value vo for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage VO = fromString("vo"); - - /** Static value wae for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage WAE = fromString("wae"); - - /** Static value yua for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage YUA = fromString("yua"); - - /** Static value za for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ZA = fromString("za"); - - /** Static value zh-Hans for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ZH_HANS = fromString("zh-Hans"); - - /** Static value zh-Hant for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ZH_HANT = fromString("zh-Hant"); - - /** Static value zu for FormRecognizerLanguage. */ - public static final FormRecognizerLanguage ZU = fromString("zu"); - - /** - * Creates or finds a FormRecognizerLanguage from its string representation. - * - * @param name a name to look for. - * @return the corresponding FormRecognizerLanguage. - */ - public static FormRecognizerLanguage fromString(String name) { - return fromString(name, FormRecognizerLanguage.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLocale.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLocale.java deleted file mode 100644 index d6225d2d2fb97..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerLocale.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.util.ExpandableStringEnum; - -/** - * Defines values for FormRecognizerLocale. - */ -public final class FormRecognizerLocale extends ExpandableStringEnum { - /** Static value en-AU for FormRecognizerLocale. */ - public static final FormRecognizerLocale EN_AU = fromString("en-AU"); - - /** Static value en-CA for FormRecognizerLocale. */ - public static final FormRecognizerLocale EN_CA = fromString("en-CA"); - - /** Static value en-GB for FormRecognizerLocale. */ - public static final FormRecognizerLocale EN_GB = fromString("en-GB"); - - /** Static value en-IN for FormRecognizerLocale. */ - public static final FormRecognizerLocale EN_IN = fromString("en-IN"); - - /** Static value en-US for FormRecognizerLocale. */ - public static final FormRecognizerLocale EN_US = fromString("en-US"); - - /** - * Creates or finds a FormRecognizerLocale from its string representation. - * - * @param name a name to look for. - * @return the corresponding FormRecognizerLocale. - */ - public static FormRecognizerLocale fromString(String name) { - return fromString(name, FormRecognizerLocale.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerOperationResult.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerOperationResult.java deleted file mode 100644 index be94e16ad5ee9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormRecognizerOperationResult.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -import java.util.Objects; - -/** - * The FormRecognizerOperationResult model. - */ -@Immutable -public final class FormRecognizerOperationResult { - /** - * Identifier which contains the result of the model/analyze operation. - */ - private final String resultId; - - /** - * Constructs an OperationResult model. - * - * @param resultId The identifier which contains the result of the model/analyze operation. - */ - public FormRecognizerOperationResult(String resultId) { - this.resultId = Objects.requireNonNull(resultId, "'resultId' cannot be null."); - } - - /** - * Gets an ID representing the operation that can be used to poll for the status - * of the long-running operation. - * - * @return the resultId. - */ - public String getResultId() { - return this.resultId; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormSelectionMark.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormSelectionMark.java deleted file mode 100644 index 2c58d85227b10..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormSelectionMark.java +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.FormSelectionMarkHelper; -import com.azure.core.annotation.Immutable; - -/** - * Represents a selection mark recognized from the input document. - */ -@Immutable -public final class FormSelectionMark extends FormElement { - private float confidence; - private SelectionMarkState state; - - static { - FormSelectionMarkHelper.setAccessor(new FormSelectionMarkHelper.FormSelectionMarkAccessor() { - @Override - public void setConfidence(FormSelectionMark selectionMark, float confidence) { - selectionMark.setConfidence(confidence); - } - - @Override - public void setState(FormSelectionMark selectionMark, SelectionMarkState state) { - selectionMark.setState(state); - } - }); - } - - /** - * Creates a FormSelectionMark. - * - * @param text The text content of the extracted element. - * @param boundingBox The BoundingBox specifying relative coordinates of the element. - * @param pageNumber the 1 based page number. - */ - public FormSelectionMark(String text, FieldBoundingBox boundingBox, int pageNumber) { - super(text, boundingBox, pageNumber); - } - - /** - * {@inheritDoc} - */ - @Override - public FieldBoundingBox getBoundingBox() { - return super.getBoundingBox(); - } - - /** - * {@inheritDoc} - */ - @Override - public String getText() { - return super.getText(); - } - - /** - * {@inheritDoc} - */ - @Override - public int getPageNumber() { - return super.getPageNumber(); - } - - /** - * Gets the state property of the selection mark. - * - * @return the state property of the selection mark. - */ - public SelectionMarkState getState() { - return this.state; - } - - /** - * Gets the confidence property of the selection mark. - * - * @return the confidence property of the selection mark. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * The private setter to set the confidence property - * via {@link FormSelectionMarkHelper.FormSelectionMarkAccessor}. - * - * @param confidence the confidence value for the selection mark. - */ - private void setConfidence(float confidence) { - this.confidence = confidence; - } - - /** - * The private setter to set the state property - * via {@link FormSelectionMarkHelper.FormSelectionMarkAccessor}. - * - * @param state the the state value for the selection mark. - */ - private void setState(SelectionMarkState state) { - this.state = state; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTable.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTable.java deleted file mode 100644 index 4f348d72c2277..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTable.java +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.FormTableHelper; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * Represents a table recognized from the input document. - */ -@Immutable -public final class FormTable { - - /* - * Number of rows. - */ - private final int rowCount; - - /* - * Number of columns. - */ - private final int columnCount; - - /* - * List of cells contained in the table. - */ - private final List cells; - - /* - * The 1 based page number. - */ - private final int pageNumber; - - private FieldBoundingBox boundingBox; - - static { - FormTableHelper.setAccessor(new FormTableHelper.FormTableAccessor() { - @Override - public void setBoundingBox(FormTable formTable, FieldBoundingBox boundingBox) { - formTable.setBoundingBox(boundingBox); - } - }); - } - - /** - * Constructs a FormTable object. - * - * @param rowCount the number of rows in the table. - * @param columnCount the number of columns in the table. - * @param cells the list of cells contained in the table. - * @param pageNumber the 1-based page number in the input document. - */ - public FormTable(final int rowCount, final int columnCount, final List cells, - final int pageNumber) { - this.rowCount = rowCount; - this.columnCount = columnCount; - this.cells = cells == null ? null : Collections.unmodifiableList(cells); - this.pageNumber = pageNumber; - } - - /** - * Get the number of rows in the table. - * - * @return the number of rows in the table. - */ - public int getRowCount() { - return this.rowCount; - } - - /** - * Get the number of columns in the table. - * - * @return the number of columns in the table. - */ - public int getColumnCount() { - return this.columnCount; - } - - /** - * Get the list of cells contained in the table. - * - * @return the unmodifiable list of cells in the table. - */ - public List getCells() { - return this.cells; - } - - /** - * Get the 1-based page number in the input document. - * - * @return the 1-based page number in the input document. - */ - public int getPageNumber() { - return this.pageNumber; - } - - /** - * The private setter to set the appearance property - * via {@link FormTableHelper.FormTableAccessor}. - * - * @param boundingBox the bounding box of the form table. - * @return the updated FormTable object. - */ - private FormTable setBoundingBox(FieldBoundingBox boundingBox) { - this.boundingBox = boundingBox; - return this; - } - - /** - * Get the bounding box information for the the form table. - * - * @return the bounding box information for the the form table. - */ - public FieldBoundingBox getBoundingBox() { - return boundingBox; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTableCell.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTableCell.java deleted file mode 100644 index 582a9d6561d6b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormTableCell.java +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * Represents a cell contained in a table recognized from the input document. - */ -@Immutable -public final class FormTableCell extends FormElement { - - /* - * Row index of the cell. - */ - private final int rowIndex; - - /* - * Column index of the cell. - */ - private final int columnIndex; - - /* - * Number of rows spanned by this cell. - */ - private final int rowSpan; - - /* - * Number of columns spanned by this cell. - */ - private final int columnSpan; - - /* - * Confidence value. - */ - private final float confidence; - - /* - * When includeFieldElements is set to true, a list of references to the - * elements constituting this table cell. - */ - private final List fieldElements; - - /* - * Is the current cell a header cell? - */ - private final boolean isHeader; - - /* - * Is the current cell a footer cell? - */ - private final boolean isFooter; - - /** - * Constructs a FormTableCell object. - * - * @param rowIndex the row index of the cell. - * @param columnIndex the column index of the cell. - * @param rowSpan the number of rows spanned by this cell. - * @param columnSpan the number of columns spanned by this cell. - * @param text the recognized text value. - * @param boundingBox the bounding box properties of the cell. - * @param confidence the confidence value of the recognized text. - * @param isHeader the boolean indicating if the current cell a header cell? - * @param isFooter the boolean indicating if the current cell a footer cell? - * @param pageNumber the 1 based page number of the cell - * @param fieldElements a list of references to the elements constituting this table cell. - */ - public FormTableCell(final int rowIndex, final int columnIndex, final int rowSpan, - final int columnSpan, final String text, final FieldBoundingBox boundingBox, - final float confidence, final boolean isHeader, final boolean isFooter, final int pageNumber, - final List fieldElements) { - super(text, boundingBox, pageNumber); - this.rowIndex = rowIndex; - this.columnIndex = columnIndex; - this.rowSpan = rowSpan; - this.columnSpan = columnSpan; - this.confidence = confidence; - this.isHeader = isHeader; - this.isFooter = isFooter; - this.fieldElements = fieldElements == null ? null : Collections.unmodifiableList(fieldElements); - } - - /** - * Get the confidence value of the recognized text of the cell. - * - * @return the confidence value of the recognized text of the cell. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * {@inheritDoc} - */ - @Override - public int getPageNumber() { - return super.getPageNumber(); - } - - /** - * {@inheritDoc} - */ - @Override - public FieldBoundingBox getBoundingBox() { - return super.getBoundingBox(); - } - - /** - * {@inheritDoc} - */ - @Override - public String getText() { - return super.getText(); - } - - /** - * Get the row index of the cell. - * - * @return the row index of the cell. - */ - public int getRowIndex() { - return this.rowIndex; - } - - /** - * Get the column index of the cell. - * - * @return the column index of the cell. - */ - public int getColumnIndex() { - return this.columnIndex; - } - - /** - * Get the number of rows spanned by this cell. - * - * @return the number of rows spanned by this cell. - */ - public int getRowSpan() { - return this.rowSpan; - } - - - /** - * Get the number of columns spanned by this cell. - * - * @return the number of columns spanned by this cell. - */ - public int getColumnSpan() { - return this.columnSpan; - } - - /** - * When includeFieldElements is set to true, gets the list of references to the elements - * constituting this table cell. - * - * @return the unmodifiable list of list of references to the text elements constituting this table cell. - */ - public List getFieldElements() { - return this.fieldElements; - } - - /** - * Get the boolean if the current cell a header cell. - * - * @return the boolean indicating if the current cell a header cell. - */ - public boolean isHeader() { - return this.isHeader; - } - - /** - * Get the boolean if the current cell a footer cell. - * - * @return the boolean indicating if the current cell is a footer cell. - */ - public boolean isFooter() { - return this.isFooter; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormWord.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormWord.java deleted file mode 100644 index 4f12f3196cfb3..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/FormWord.java +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * Represents a word recognized from the input document. - */ -@Immutable -public final class FormWord extends FormElement { - - /* - * The confidence value of the recognized word. - */ - private final float confidence; - - /** - * Constructs a FormWord object. - * - * @param text the text content of recognized field. - * @param boundingBox the BoundingBox of recognized field. - * @param pageNumber the 1 based page number. - * @param confidence the confidence property of the Form Word. - */ - public FormWord(String text, FieldBoundingBox boundingBox, int pageNumber, final float confidence) { - super(text, boundingBox, pageNumber); - this.confidence = confidence; - } - - /** - * Gets the confidence property of the Form Word. - * - * @return the confidence property of the Form Word. - */ - public float getConfidence() { - return this.confidence; - } - - /** - * {@inheritDoc} - */ - @Override - public FieldBoundingBox getBoundingBox() { - return super.getBoundingBox(); - } - - /** - * {@inheritDoc} - */ - @Override - public String getText() { - return super.getText(); - } - - /** - * {@inheritDoc} - */ - @Override - public int getPageNumber() { - return super.getPageNumber(); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/LengthUnit.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/LengthUnit.java index eb57208d1c514..38db534b5a670 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/LengthUnit.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/LengthUnit.java @@ -1,47 +1,32 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. package com.azure.ai.formrecognizer.models; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; +import com.azure.core.util.ExpandableStringEnum; -/** Defines values for LengthUnit. */ -public enum LengthUnit { - /** Enum value pixel. */ - PIXEL("pixel"), - - /** Enum value inch. */ - INCH("inch"); +import java.util.Collection; - /** The actual serialized value for a LengthUnit instance. */ - private final String value; +/** Defines values for LengthUnit. */ +public final class LengthUnit extends ExpandableStringEnum { + /** Static value pixel for LengthUnit. */ + public static final LengthUnit PIXEL = fromString("pixel"); - LengthUnit(String value) { - this.value = value; - } + /** Static value inch for LengthUnit. */ + public static final LengthUnit INCH = fromString("inch"); /** - * Parses a serialized value to a LengthUnit instance. + * Creates or finds a LengthUnit from its string representation. * - * @param value the serialized value to parse. - * @return the parsed LengthUnit object, or null if unable to parse. + * @param name a name to look for. + * @return the corresponding LengthUnit. */ - @JsonCreator - public static LengthUnit fromString(String value) { - LengthUnit[] items = LengthUnit.values(); - for (LengthUnit item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; + public static LengthUnit fromString(String name) { + return fromString(name, LengthUnit.class); } - @JsonValue - @Override - public String toString() { - return this.value; + /** @return known LengthUnit values. */ + public static Collection values() { + return values(LengthUnit.class); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/Point.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/Point.java deleted file mode 100644 index dcf71fff8914e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/Point.java +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Immutable; - -/** - * Represents the x and y coordinates of a point. - */ -@Immutable -public final class Point { - - /* - * The x-axis point coordinate. - */ - private final float xCoordinate; - - /* - * The y-axis point coordinate. - */ - private final float yCoordinate; - - /** - * Creates a Point object. - * - * @param xCoordinate The x-axis point coordinate. - * @param yCoordinate The y-axis point coordinate. - */ - public Point(final float xCoordinate, final float yCoordinate) { - this.xCoordinate = xCoordinate; - this.yCoordinate = yCoordinate; - } - - /** - * Gets the x-coordinate value. - * - * @return The x-axis coordinate value. - */ - public float getX() { - return this.xCoordinate; - } - - /** - * Gets the y-coordinate value. - * - * @return The y-axis coordinate value. - */ - public float getY() { - return this.yCoordinate; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeBusinessCardsOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeBusinessCardsOptions.java deleted file mode 100644 index fde376b784683..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeBusinessCardsOptions.java +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.util.List; - - -/** - * Options that may be passed when using recognize business card APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeBusinessCardsOptions { - private FormContentType contentType; - private boolean includeFieldElements; - private List pages; - private FormRecognizerLocale locale; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the boolean which specifies if to include form element references in the result. - * - * @return the {@code includeFieldElements} value. - */ - public boolean isFieldElementsIncluded() { - return includeFieldElements; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeBusinessCardOptions} value. - */ - public RecognizeBusinessCardsOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the boolean which specifies if to include form element references in the result. - * - * @param includeFieldElements the boolean to specify if to include form element references in the result. - * - * @return the updated {@code RecognizeBusinessCardOptions} value. - */ - public RecognizeBusinessCardsOptions setFieldElementsIncluded(final boolean includeFieldElements) { - this.includeFieldElements = includeFieldElements; - return this; - } - - /** - * Get the locale value. - * Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US. - * - * @return the locale value. - */ - public FormRecognizerLocale getLocale() { - return locale; - } - - /** - * Set the locale value. - * Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US. - * - * @param locale the locale value to set. - * - * @return the locale value. - */ - public RecognizeBusinessCardsOptions setLocale(final FormRecognizerLocale locale) { - this.locale = locale; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeBusinessCardsOptions} value. - */ - public RecognizeBusinessCardsOptions setPages(List pages) { - this.pages = pages; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeContentOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeContentOptions.java deleted file mode 100644 index 63daa8f6f7953..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeContentOptions.java +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.time.Duration; -import java.util.List; - -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; - -/** - * Options that may be passed when using recognize content APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeContentOptions { - private FormContentType contentType; - private Duration pollInterval = DEFAULT_POLL_INTERVAL; - private FormRecognizerLanguage language; - private List pages; - private FormReadingOrder readingOrder; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @return the {@code pollInterval} value. - */ - public Duration getPollInterval() { - return pollInterval; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeContentOptions} value. - */ - public RecognizeContentOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @param pollInterval the duration to specify between each poll for the operation status. - * - * @return the updated {@code RecognizeContentOptions} value. - */ - public RecognizeContentOptions setPollInterval(final Duration pollInterval) { - this.pollInterval = pollInterval == null ? DEFAULT_POLL_INTERVAL : pollInterval; - return this; - } - - /** - * Get the BCP-47 language code of the text in the document. - * See supported language codes - * here. - * - * @return the language code for the text in the document. - */ - public FormRecognizerLanguage getLanguage() { - return language; - } - - /** - * Set the BCP-47 language code of the text in the document. - * See supported language codes - * here. - * - * @param language the language code value to set. - * @return the updated {@code RecognizeContentOptions} value. - */ - public RecognizeContentOptions setLanguage(FormRecognizerLanguage language) { - this.language = language; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeContentOptions} value. - */ - public RecognizeContentOptions setPages(List pages) { - this.pages = pages; - return this; - } - - /** - * Get the order in which recognized text lines are returned. - * - * @return the order in which the recognized lines are returned. - */ - public FormReadingOrder getReadingOrder() { - return readingOrder; - } - - /** - * Specifies the order in which recognized text lines are returned. As the sorting order - * depends on the detected text, it may change across images and OCR version updates. Thus, - * business logic should be built upon the actual line location instead of order. - * - * @param readingOrder the order specifies in which text lines are returned - * @return the updated {@code RecognizeContentOptions} value. - */ - public RecognizeContentOptions setReadingOrder(FormReadingOrder readingOrder) { - this.readingOrder = readingOrder; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeCustomFormsOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeCustomFormsOptions.java deleted file mode 100644 index 66323067ee279..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeCustomFormsOptions.java +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.time.Duration; -import java.util.List; - -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; - -/** - * Options that may be passed when using recognize custom form APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeCustomFormsOptions { - private FormContentType contentType; - private boolean includeFieldElements; - private List pages; - private Duration pollInterval = DEFAULT_POLL_INTERVAL; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png, .tiff or .bmp type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the boolean which specifies if to include form element references in the result. - * - * @return the {@code includeFieldElements} value. - */ - public boolean isFieldElementsIncluded() { - return includeFieldElements; - } - - /** - * Get the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @return the {@code pollInterval} value. - */ - public Duration getPollInterval() { - return pollInterval; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png, .tiff or .bmp type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeCustomFormsOptions} value. - */ - public RecognizeCustomFormsOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the boolean which specifies if to include form element references in the result. - * - * @param includeFieldElements the boolean to specify if to include form element references in the result. - * - * @return the updated {@code RecognizeCustomFormsOptions} value. - */ - public RecognizeCustomFormsOptions setFieldElementsIncluded(final boolean includeFieldElements) { - this.includeFieldElements = includeFieldElements; - return this; - } - - /** - * Set the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @param pollInterval the duration to specify between each poll for the operation status. - * - * @return the updated {@code RecognizeCustomFormsOptions} value. - */ - public RecognizeCustomFormsOptions setPollInterval(final Duration pollInterval) { - this.pollInterval = pollInterval == null ? DEFAULT_POLL_INTERVAL : pollInterval; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeCustomFormsOptions} value. - */ - public RecognizeCustomFormsOptions setPages(List pages) { - this.pages = pages; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeIdentityDocumentOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeIdentityDocumentOptions.java deleted file mode 100644 index 6c9773e1a3d03..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeIdentityDocumentOptions.java +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.util.List; - -/** - * Options that may be passed when using recognize identity documents APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeIdentityDocumentOptions { - private FormContentType contentType; - private boolean includeFieldElements; - private List pages; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png, .bmp or .tiff type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the boolean which specifies if to include form element references in the result. - * - * @return the {@code includeFieldElements} value. - */ - public boolean isFieldElementsIncluded() { - return includeFieldElements; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png, .bmp or .tiff type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeIdentityDocumentOptions} value. - */ - public RecognizeIdentityDocumentOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the boolean which specifies if to include form element references in the result. - * - * @param includeFieldElements the boolean to specify if to include form element references in the result. - * - * @return the updated {@code RecognizeIdentityDocumentOptions} value. - */ - public RecognizeIdentityDocumentOptions setFieldElementsIncluded(final boolean includeFieldElements) { - this.includeFieldElements = includeFieldElements; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeIdentityDocumentOptions} value. - */ - public RecognizeIdentityDocumentOptions setPages(List pages) { - this.pages = pages; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeInvoicesOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeInvoicesOptions.java deleted file mode 100644 index 5b2017a3e1e07..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeInvoicesOptions.java +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.util.List; - -/** - * Options that may be passed when using recognize invoice APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeInvoicesOptions { - private FormContentType contentType; - private boolean includeFieldElements; - private FormRecognizerLocale locale; - private List pages; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the boolean which specifies if to include form element references in the result. - * - * @return the {@code includeFieldElements} value. - */ - public boolean isFieldElementsIncluded() { - return includeFieldElements; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeInvoicesOptions} value. - */ - public RecognizeInvoicesOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the boolean which specifies if to include form element references in the result. - * - * @param includeFieldElements the boolean to specify if to include form element references in the result. - * - * @return the updated {@code RecognizeInvoicesOptions} value. - */ - public RecognizeInvoicesOptions setFieldElementsIncluded(final boolean includeFieldElements) { - this.includeFieldElements = includeFieldElements; - return this; - } - - /** - * Get the locale information for the invoice. - * Supported locales include: en-US. - * - * @return the locale value. - */ - public FormRecognizerLocale getLocale() { - return locale; - } - - /** - * Set the locale information for the invoice. - * Supported locales include: en-US. - * - * @param locale the locale value to set. - * @return the updated {@code RecognizeInvoicesOptions} value. - */ - public RecognizeInvoicesOptions setLocale(final FormRecognizerLocale locale) { - this.locale = locale; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeInvoicesOptions} value. - */ - public RecognizeInvoicesOptions setPages(List pages) { - this.pages = pages; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeReceiptsOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeReceiptsOptions.java deleted file mode 100644 index 2ee78e75a7125..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizeReceiptsOptions.java +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.annotation.Fluent; - -import java.time.Duration; -import java.util.List; - -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; - -/** - * Options that may be passed when using recognize receipt APIs on Form Recognizer client. - */ -@Fluent -public final class RecognizeReceiptsOptions { - private FormContentType contentType; - private boolean includeFieldElements; - private FormRecognizerLocale locale; - private List pages; - private Duration pollInterval = DEFAULT_POLL_INTERVAL; - - /** - * Get the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @return the {@code contentType} value. - */ - public FormContentType getContentType() { - return contentType; - } - - /** - * Get the boolean which specifies if to include form element references in the result. - * - * @return the {@code includeFieldElements} value. - */ - public boolean isFieldElementsIncluded() { - return includeFieldElements; - } - - /** - * Get the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @return the {@code pollInterval} value. - */ - public Duration getPollInterval() { - return pollInterval; - } - - /** - * Set the type of the form. Supported Media types including .pdf, .jpg, .png or .tiff type file stream. - * - * @param contentType the provided form content type. - * - * @return the updated {@code RecognizeReceiptsOptions} value. - */ - public RecognizeReceiptsOptions setContentType(final FormContentType contentType) { - this.contentType = contentType; - return this; - } - - /** - * Set the boolean which specifies if to include form element references in the result. - * - * @param includeFieldElements the boolean to specify if to include form element references in the result. - * - * @return the updated {@code RecognizeReceiptsOptions} value. - */ - public RecognizeReceiptsOptions setFieldElementsIncluded(final boolean includeFieldElements) { - this.includeFieldElements = includeFieldElements; - return this; - } - - /** - * Set the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @param pollInterval the duration to specify between each poll for the operation status. - * - * @return the updated {@code RecognizeReceiptsOptions} value. - */ - public RecognizeReceiptsOptions setPollInterval(final Duration pollInterval) { - this.pollInterval = pollInterval == null ? DEFAULT_POLL_INTERVAL : pollInterval; - return this; - } - - /** - * Get the locale information for the receipt. - * Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US. - * - * @return the locale value. - */ - public FormRecognizerLocale getLocale() { - return locale; - } - - /** - * Set the locale information for the receipt. - * Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US. - * - * @param locale the locale value to set. - * @return the updated {@code RecognizeReceiptsOptions} value. - */ - public RecognizeReceiptsOptions setLocale(final FormRecognizerLocale locale) { - this.locale = locale; - return this; - } - - /** - * Get the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @return the list of custom page numbers for a multi page document. - */ - public List getPages() { - return pages; - } - - /** - * Set the custom page numbers for multi-page documents(PDF/TIFF). Input the number of the - * pages you want to get the recognized result for. - *

For a range of pages, use a hyphen, ex - ["1-3"]. Separate each page or a page - * range with a comma, ex - ["1-3", 4].

- * - * @param pages the custom page numbers value to set. - * @return the updated {@code RecognizeReceiptsOptions} value. - */ - public RecognizeReceiptsOptions setPages(List pages) { - this.pages = pages; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizedForm.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizedForm.java deleted file mode 100644 index f05911b1eaeb5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/RecognizedForm.java +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.RecognizedFormHelper; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; -import java.util.Map; - -/** - * Represents a form that has been recognized by a trained or prebuilt model based on the provided input document. - */ -@Immutable -public final class RecognizedForm { - - /* - * A map of the fields recognized from the input document. - * For models trained with labels, this is the training-time label of the field. For models trained with forms - * only, a unique name is generated for each field. - */ - private final Map fields; - - /* - * Form type. - */ - private final String formType; - - /* - * First and last page number where the document is found. - */ - private final FormPageRange pageRange; - - /* - * List of extracted pages from the form. - */ - private final List pages; - - private Float formTypeConfidence; - - private String modelId; - - static { - RecognizedFormHelper.setAccessor(new RecognizedFormHelper.RecognizedFormAccessor() { - @Override - public void setFormTypeConfidence(RecognizedForm form, Float formTypeConfidence) { - form.setFormTypeConfidence(formTypeConfidence); - } - - @Override - public void setModelId(RecognizedForm form, String modelId) { - form.setModelId(modelId); - } - }); - } - - /** - * Constructs a RecognizedForm object. - * - * @param fields Dictionary of named field values. - * @param formType Form type. - * @param pageRange First and last page number where the document is found. - * @param pages List of extracted pages from the form. - */ - public RecognizedForm(final Map fields, final String formType, - final FormPageRange pageRange, final List pages) { - this.fields = fields == null ? null : Collections.unmodifiableMap(fields); - this.formType = formType; - this.pageRange = pageRange; - this.pages = pages == null ? null : Collections.unmodifiableList(pages); - } - - /** - * A map of the fields recognized from the input document. - * For models trained with labels, this is the training-time label of the field. For models trained with forms - * only, a unique name is generated for each field. - * - * @return the unmodifiable map of recognized fields. - */ - public Map getFields() { - return this.fields; - } - - /** - * Get the recognized form type. - * - * @return the formType value. - */ - public String getFormType() { - return this.formType; - } - - /** - * Get the first and last page number where the document is found. - * - * @return the pageRange value. - */ - public FormPageRange getPageRange() { - return this.pageRange; - } - - /** - * Get the list of extracted pages. - * - * @return the unmodifiable list of recognized pages. - */ - public List getPages() { - return this.pages; - } - - /** - * Get the confidence of the form type identified by the model. - * - * @return the formTypeConfidence value. - */ - public Float getFormTypeConfidence() { - return formTypeConfidence; - } - - /** - * Get the identifier of the model that was used for recognition, if not using a prebuilt model. - * - * @return the modelId value. - */ - public String getModelId() { - return modelId; - } - - /** - * The private setter to set the formTypeConfidence property - * via {@link RecognizedFormHelper.RecognizedFormAccessor}. - * - * @param formTypeConfidence The confidence of the form type identified by the model. - */ - private void setFormTypeConfidence(Float formTypeConfidence) { - this.formTypeConfidence = formTypeConfidence; - } - - /** - * The private setter to set the modelId property - * via {@link RecognizedFormHelper.RecognizedFormAccessor}. - * - * @param modelId The identifier of the model that was used for recognition. - */ - private void setModelId(String modelId) { - this.modelId = modelId; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/SelectionMarkState.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/SelectionMarkState.java index e988c80d706f5..5dd615762c55c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/SelectionMarkState.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/SelectionMarkState.java @@ -5,28 +5,28 @@ import com.azure.core.util.ExpandableStringEnum; -/** - * Defines values for SelectionMarkState. i.e., Selected or Unselected. - */ +import java.util.Collection; + +/** Defines values for SelectionMarkState. */ public final class SelectionMarkState extends ExpandableStringEnum { - /** - * Static value SELECTED for SelectionMarkState. - */ + /** Static value selected for SelectionMarkState. */ public static final SelectionMarkState SELECTED = fromString("selected"); - /** - * Static value UNSELECTED for SelectionMarkState. - */ + /** Static value unselected for SelectionMarkState. */ public static final SelectionMarkState UNSELECTED = fromString("unselected"); /** * Creates or finds a SelectionMarkState from its string representation. * - * @param value a value to look for. - * + * @param name a name to look for. * @return the corresponding SelectionMarkState. */ - public static SelectionMarkState fromString(String value) { - return fromString(value, SelectionMarkState.class); + public static SelectionMarkState fromString(String name) { + return fromString(name, SelectionMarkState.class); + } + + /** @return known SelectionMarkState values. */ + public static Collection values() { + return values(SelectionMarkState.class); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextAppearance.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextAppearance.java deleted file mode 100644 index 80e941a800354..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextAppearance.java +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.models; - -import com.azure.ai.formrecognizer.implementation.TextAppearanceHelper; -import com.azure.core.annotation.Immutable; - -/** - * The TextAppearance model representing the appearance of the text line. - */ -@Immutable -public final class TextAppearance { - /* - * The text line style name, including handwriting and other. - */ - private TextStyleName styleName; - - /* - * The confidence of text line style. - */ - private float styleConfidence; - - static { - TextAppearanceHelper.setAccessor(new TextAppearanceHelper.TextAppearanceAccessor() { - @Override - public void setStyleConfidence(TextAppearance textAppearance, float styleConfidence) { - textAppearance.setStyleConfidence(styleConfidence); - } - - @Override - public void setStyleName(TextAppearance textAppearance, TextStyleName styleName) { - textAppearance.setStyleName(styleName); - } - }); - } - - /** - * Get the text line style name. Possible values include handwriting and other. - * - * @return the style name value. - */ - public TextStyleName getStyleName() { - return this.styleName; - } - - /** - * Private setter to set the text line style name, including handwriting and other. - * - * @param styleName the style name value to set. - * @return the TextAppearance object itself. - */ - private TextAppearance setStyleName(TextStyleName styleName) { - this.styleName = styleName; - return this; - } - - /** - * Get the confidence of the recognized text line style. - * - * @return the confidence value. - */ - public float getStyleConfidence() { - return this.styleConfidence; - } - - /** - * Private setter to set the confidence of text line style. - * - * @param styleConfidence the style confidence value to set. - * @return the TextAppearance object itself. - */ - private TextAppearance setStyleConfidence(float styleConfidence) { - this.styleConfidence = styleConfidence; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextStyleName.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextStyleName.java deleted file mode 100644 index ab8708fcfaf00..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/TextStyleName.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; - -import java.util.Collection; - -/** - * Defines values for TextStyleName. - */ -public final class TextStyleName extends ExpandableStringEnum { - /** Static value other for TextStyleName. */ - public static final TextStyleName OTHER = fromString("other"); - - /** Static value handwriting for TextStyleName. */ - public static final TextStyleName HANDWRITING = fromString("handwriting"); - - /** - * Creates or finds a TextStyleName from its string representation. - * - * @param name a name to look for. - * @return the corresponding TextStyleName. - */ - @JsonCreator - public static TextStyleName fromString(String name) { - return fromString(name, TextStyleName.class); - } - - /** @return known TextStyleName values. */ - public static Collection values() { - return values(TextStyleName.class); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/package-info.java index ce6a243eac906..6b40de5358b69 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/package-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/models/package-info.java @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. /** - * Package containing classes for FormRecognizerClient. Extracts information from forms and images into structured data. + * Package containing model classes to perform operations {@link com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient} and + * {@link com.azure.ai.formrecognizer.DocumentAnalysisClient}. */ package com.azure.ai.formrecognizer.models; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/package-info.java index fe91b6429cbed..3bcf8282bfc09 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/package-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/package-info.java @@ -2,7 +2,8 @@ // Licensed under the MIT License. /** - * Package containing classes for creating a {@link com.azure.ai.formrecognizer.FormRecognizerClient} to - * perform operations on Azure Form Recognizer + * Package containing classes for creating a {@link com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient} and + * {@link com.azure.ai.formrecognizer.DocumentAnalysisClient} to perform document analysis operations + * on Azure Form Recognizer service. */ package com.azure.ai.formrecognizer; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/CustomModelTransforms.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/CustomModelTransforms.java deleted file mode 100644 index 40f204bf0e405..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/CustomModelTransforms.java +++ /dev/null @@ -1,257 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training; - -import com.azure.ai.formrecognizer.implementation.CustomFormModelHelper; -import com.azure.ai.formrecognizer.implementation.CustomFormModelInfoHelper; -import com.azure.ai.formrecognizer.implementation.CustomFormModelPropertiesHelper; -import com.azure.ai.formrecognizer.implementation.CustomFormSubmodelHelper; -import com.azure.ai.formrecognizer.implementation.TrainingDocumentInfoHelper; -import com.azure.ai.formrecognizer.implementation.models.Model; -import com.azure.ai.formrecognizer.implementation.models.ModelInfo; -import com.azure.ai.formrecognizer.implementation.models.ModelStatus; -import com.azure.ai.formrecognizer.implementation.models.TrainResult; -import com.azure.ai.formrecognizer.models.FormRecognizerError; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelField; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.CustomFormModelProperties; -import com.azure.ai.formrecognizer.training.models.CustomFormModelStatus; -import com.azure.ai.formrecognizer.training.models.CustomFormSubmodel; -import com.azure.ai.formrecognizer.training.models.TrainingDocumentInfo; -import com.azure.ai.formrecognizer.training.models.TrainingStatus; -import com.azure.core.util.CoreUtils; -import com.azure.core.util.logging.ClientLogger; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.stream.Collectors; - -import static com.azure.ai.formrecognizer.implementation.Utility.forEachWithIndex; - -/** - * Helper class to convert service level custom form related models to SDK exposed models. - */ -final class CustomModelTransforms { - private static final ClientLogger LOGGER = new ClientLogger(CustomModelTransforms.class); - - private CustomModelTransforms() { - } - - /** - * Helper method to convert the {@link Model model Response} from service to {@link CustomFormModel}. - * - * @param modelResponse The {@code Model model response} returned from the service. - * - * @return The {@link CustomFormModel}. - */ - static CustomFormModel toCustomFormModel(Model modelResponse) { - ModelInfo modelInfo = modelResponse.getModelInfo(); - if (modelInfo.getStatus() == ModelStatus.INVALID) { - throw LOGGER.logExceptionAsError( - new IllegalArgumentException(String.format("Model Id %s returned with invalid status.", - modelInfo.getModelId()))); - } - - List trainingDocumentInfoList = null; - List modelErrors = null; - final String modelId = modelInfo.getModelId().toString(); - - // get document info for unlabeled and labeled models - if (modelResponse.getTrainResult() != null) { - trainingDocumentInfoList - = getTrainingDocumentList(modelResponse.getTrainResult().getTrainingDocuments(), modelId); - modelErrors = transformTrainingErrors(modelResponse.getTrainResult().getErrors()); - } - - List subModelList = null; - if (modelResponse.getKeys() != null) { - // unlabeled model, read from page results - subModelList = getUnlabeledSubmodels(modelResponse.getKeys().getClusters(), modelId); - } else if (modelResponse.getTrainResult() != null && modelResponse.getTrainResult().getFields() != null) { - // labeled model - String formType = "custom:"; - if (modelInfo.getModelName() != null) { - formType = formType + modelInfo.getModelName(); - } else { - formType = formType + modelInfo.getModelId(); - } - subModelList = getLabeledSubmodels(modelResponse, modelId, formType); - } else if (!CoreUtils.isNullOrEmpty(modelResponse.getComposedTrainResults())) { - // composed model - subModelList = getComposedSubmodels(modelResponse); - trainingDocumentInfoList = new ArrayList<>(); - for (TrainResult composedTrainResultItem : modelResponse.getComposedTrainResults()) { - final List trainingDocumentSubModelList - = getTrainingDocumentList(composedTrainResultItem.getTrainingDocuments(), - composedTrainResultItem.getModelId().toString()); - trainingDocumentInfoList.addAll(trainingDocumentSubModelList); - } - } - - CustomFormModel customFormModel = new CustomFormModel( - modelInfo.getModelId().toString(), - CustomFormModelStatus.fromString(modelInfo.getStatus().toString()), - modelInfo.getCreatedDateTime(), - modelInfo.getLastUpdatedDateTime(), - subModelList, - modelErrors, - trainingDocumentInfoList); - - CustomFormModelProperties customFormModelProperties = new CustomFormModelProperties(); - - if (modelInfo.getAttributes() != null) { - CustomFormModelPropertiesHelper.setIsComposed(customFormModelProperties, - modelInfo.getAttributes().isComposed()); - - CustomFormModelHelper.setCustomFormModelProperties(customFormModel, customFormModelProperties); - if (modelInfo.getAttributes().isComposed()) { - CustomFormModelHelper.setTrainingDocuments(customFormModel, trainingDocumentInfoList); - } - } else { - // default to false - CustomFormModelHelper.setCustomFormModelProperties(customFormModel, customFormModelProperties); - } - - if (modelInfo.getModelName() != null) { - CustomFormModelHelper.setModelName(customFormModel, modelInfo.getModelName()); - } - return customFormModel; - } - - /** Creates a training documents info list from service training documents **/ - private static List getTrainingDocumentList( - List trainingDocuments, - String modelId) { - return trainingDocuments.stream() - .map(trainingDocumentItem -> - new TrainingDocumentInfo(trainingDocumentItem.getDocumentName(), - TrainingStatus.fromString(trainingDocumentItem.getStatus().toString()), - trainingDocumentItem.getPages(), - transformTrainingErrors(trainingDocumentItem.getErrors()))) - .peek(trainingDocumentInfo -> - TrainingDocumentInfoHelper.setModelId(trainingDocumentInfo, modelId)) - .collect(Collectors.toList()); - } - - /** Creates a submodel list from labeled models service data **/ - private static List getLabeledSubmodels(Model modelResponse, String modelId, String formType) { - Map fieldMap = new TreeMap<>(); - List subModelList = new ArrayList<>(); - modelResponse.getTrainResult().getFields() - .forEach(formFieldsReport -> fieldMap.put(formFieldsReport.getFieldName(), - new CustomFormModelField(null, - formFieldsReport.getFieldName(), - formFieldsReport.getAccuracy()))); - - CustomFormSubmodel customFormSubmodel = - new CustomFormSubmodel( - modelResponse.getTrainResult().getAverageModelAccuracy(), - fieldMap, - formType); - CustomFormSubmodelHelper.setModelId(customFormSubmodel, modelId); - subModelList.add(customFormSubmodel); - return subModelList; - } - - /** Creates a submodel list from unlabeled models service data **/ - private static List getUnlabeledSubmodels(Map> modelResponseClusters, - String modelId) { - List subModelList = new ArrayList<>(); - modelResponseClusters - .forEach((clusterKey, clusterFields) -> { - Map fieldMap = new TreeMap<>(); - forEachWithIndex(clusterFields, (index, eachField) -> { - String fieldName = "field-" + index; - fieldMap.put(fieldName, new CustomFormModelField(eachField, fieldName, null)); - }); - CustomFormSubmodel customFormSubmodel = new CustomFormSubmodel( - null, - fieldMap, - "form-" + clusterKey); - CustomFormSubmodelHelper.setModelId(customFormSubmodel, modelId); - subModelList.add(customFormSubmodel); - }); - return subModelList; - } - - /** Creates a submodel list from composed models service data **/ - private static List getComposedSubmodels(Model modelResponse) { - List subModelList = new ArrayList<>(); - for (TrainResult composedTrainResultItem : modelResponse.getComposedTrainResults()) { - String formType = "custom:" + composedTrainResultItem.getModelId().toString(); - - Map fieldMap = new TreeMap<>(); - composedTrainResultItem.getFields() - .forEach(formFieldsReport -> fieldMap.put( - formFieldsReport.getFieldName(), - new CustomFormModelField( - null, - formFieldsReport.getFieldName(), - formFieldsReport.getAccuracy()))); - - CustomFormSubmodel customFormSubmodel = - new CustomFormSubmodel( - composedTrainResultItem.getAverageModelAccuracy(), - fieldMap, - formType); - CustomFormSubmodelHelper.setModelId(customFormSubmodel, composedTrainResultItem.getModelId().toString()); - subModelList.add(customFormSubmodel); - } - return subModelList; - } - - /** - * Transform a list of {@link ModelInfo} to a list of {@link CustomFormModelInfo}. - * - * @param modelInfoList A list of {@link ModelInfo}. - * - * @return A list of {@link CustomFormModelInfo}. - */ - static List toCustomFormModelInfo(List modelInfoList) { - return modelInfoList.stream() - .map(modelInfo -> { - CustomFormModelInfo customFormModelInfo = new CustomFormModelInfo(modelInfo.getModelId().toString(), - CustomFormModelStatus.fromString(modelInfo.getStatus().toString()), - modelInfo.getCreatedDateTime(), - modelInfo.getLastUpdatedDateTime()); - if (modelInfo.getAttributes() != null) { - CustomFormModelProperties customFormModelProperties = new CustomFormModelProperties(); - CustomFormModelPropertiesHelper.setIsComposed(customFormModelProperties, - modelInfo.getAttributes().isComposed()); - CustomFormModelInfoHelper.setCustomFormModelProperties(customFormModelInfo, - customFormModelProperties); - } - if (modelInfo.getModelName() != null) { - CustomFormModelInfoHelper.setModelName(customFormModelInfo, - modelInfo.getModelName()); - } - return customFormModelInfo; - }).collect(Collectors.toList()); - } - - /** - * Helper method to convert the list of {@link com.azure.ai.formrecognizer.implementation.models.ErrorInformation} - * to list of {@link FormRecognizerError}. - * - * @param trainingErrorList The list of {@link com.azure.ai.formrecognizer.implementation.models.ErrorInformation}. - * - * @return The list of {@link FormRecognizerError} - */ - private static List transformTrainingErrors( - List trainingErrorList) { - if (CoreUtils.isNullOrEmpty(trainingErrorList)) { - return Collections.emptyList(); - } else { - return trainingErrorList.stream() - .map(errorInformation -> new FormRecognizerError(errorInformation.getCode(), - errorInformation.getMessage())) - .collect(Collectors.toList()); - } - } -} - diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java deleted file mode 100644 index 854708bdb326d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingAsyncClient.java +++ /dev/null @@ -1,792 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training; - -import com.azure.ai.formrecognizer.FormRecognizerAsyncClient; -import com.azure.ai.formrecognizer.FormRecognizerClientBuilder; -import com.azure.ai.formrecognizer.FormRecognizerServiceVersion; -import com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl; -import com.azure.ai.formrecognizer.implementation.Utility; -import com.azure.ai.formrecognizer.implementation.models.ComposeRequest; -import com.azure.ai.formrecognizer.implementation.models.CopyAuthorizationResult; -import com.azure.ai.formrecognizer.implementation.models.CopyOperationResult; -import com.azure.ai.formrecognizer.implementation.models.CopyRequest; -import com.azure.ai.formrecognizer.implementation.models.Model; -import com.azure.ai.formrecognizer.implementation.models.ModelStatus; -import com.azure.ai.formrecognizer.implementation.models.OperationStatus; -import com.azure.ai.formrecognizer.implementation.models.TrainRequest; -import com.azure.ai.formrecognizer.implementation.models.TrainSourceFilter; -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.CustomFormModelStatus; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.annotation.ReturnType; -import com.azure.core.annotation.ServiceClient; -import com.azure.core.annotation.ServiceMethod; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.rest.PagedFlux; -import com.azure.core.http.rest.PagedResponse; -import com.azure.core.http.rest.PagedResponseBase; -import com.azure.core.http.rest.Response; -import com.azure.core.http.rest.SimpleResponse; -import com.azure.core.util.Context; -import com.azure.core.util.CoreUtils; -import com.azure.core.util.FluxUtil; -import com.azure.core.util.logging.ClientLogger; -import com.azure.core.util.polling.LongRunningOperationStatus; -import com.azure.core.util.polling.PollResponse; -import com.azure.core.util.polling.PollerFlux; -import com.azure.core.util.polling.PollingContext; -import reactor.core.publisher.Mono; - -import java.time.Duration; -import java.util.List; -import java.util.Objects; -import java.util.UUID; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; -import static com.azure.ai.formrecognizer.implementation.Utility.parseModelId; -import static com.azure.ai.formrecognizer.implementation.Utility.urlActivationOperation; -import static com.azure.ai.formrecognizer.training.CustomModelTransforms.toCustomFormModel; -import static com.azure.ai.formrecognizer.training.CustomModelTransforms.toCustomFormModelInfo; -import static com.azure.core.util.FluxUtil.monoError; -import static com.azure.core.util.FluxUtil.withContext; - -/** - * This class provides an asynchronous client that contains model management operations - * that apply to Azure Form Recognizer. - * Operations allowed by the client are, to creating, training of custom models, delete models, list models and get - * subscription account information. - * - *

Instantiating an asynchronous Form Training Client

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.initialization} - * - * @see FormTrainingClientBuilder - * @see FormTrainingAsyncClient - */ -@ServiceClient(builder = FormTrainingClientBuilder.class, isAsync = true) -public final class FormTrainingAsyncClient { - - private final ClientLogger logger = new ClientLogger(FormTrainingAsyncClient.class); - private final FormRecognizerClientImpl service; - private final FormRecognizerServiceVersion serviceVersion; - - /** - * Create a {@link FormTrainingClient} that sends requests to the Form Recognizer service's endpoint. - * Each service call goes through the {@link FormTrainingClientBuilder#pipeline http pipeline}. - * - * @param service The proxy service used to perform REST calls. - * @param serviceVersion The versions of Azure Form Recognizer supported by this client library. - */ - FormTrainingAsyncClient(FormRecognizerClientImpl service, FormRecognizerServiceVersion serviceVersion) { - this.service = service; - this.serviceVersion = serviceVersion; - } - - /** - * Creates a new {@link FormRecognizerAsyncClient} object. The new {@code FormTrainingAsyncClient} - * uses the same request policy pipeline as the {@code FormTrainingAsyncClient}. - * - * @return A new {@link FormRecognizerAsyncClient} object. - */ - public FormRecognizerAsyncClient getFormRecognizerAsyncClient() { - return new FormRecognizerClientBuilder().endpoint(getEndpoint()).pipeline(getHttpPipeline()).buildAsyncClient(); - } - - /** - * Gets the pipeline the client is using. - * - * @return the pipeline the client is using. - */ - HttpPipeline getHttpPipeline() { - return service.getHttpPipeline(); - } - - /** - * Gets the endpoint the client is using. - * - * @return the endpoint the client is using. - */ - String getEndpoint() { - return service.getEndpoint(); - } - - /** - * Create and train a custom model. - * Models are trained using documents that are of the following content type - - * 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. - * Other type of content is ignored. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * See here - * for information on building your own training data set. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean} - * - * @param trainingFilesUrl source URL parameter that is an externally accessible Azure - * storage blob container Uri (preferably a Shared Access Signature Uri). - * @param useTrainingLabels boolean to specify the use of labeled files for training the model. - * - * @return A {@link PollerFlux} that polls the training model operation until it has completed, has failed, or has - * been cancelled. The completed operation returns the trained {@link CustomFormModel custom form model}. - * @throws FormRecognizerException If training fails and a model with {@link ModelStatus#INVALID} is created. - * @throws NullPointerException If {@code trainingFilesUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginTraining(String trainingFilesUrl, - boolean useTrainingLabels) { - return beginTraining(trainingFilesUrl, useTrainingLabels, null); - } - - /** - * Create and train a custom model. - *

Models are trained using documents that are of the following content type - - * 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'.Other type of content is ignored. - *

- * See here - * for information on building your own training data set. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean-TrainingOptions} - * - * @param trainingFilesUrl an externally accessible Azure storage blob container Uri (preferably a - * Shared Access Signature Uri). - * @param useTrainingLabels boolean to specify the use of labeled files for training the model. - * @param trainingOptions The additional configurable {@link TrainingOptions options} - * that may be passed when training a model. - * - * @return A {@link PollerFlux} that polls the training model operation until it has completed, has failed, or has - * been cancelled. The completed operation returns the trained {@link CustomFormModel custom form model}. - * @throws FormRecognizerException If training fails and model with {@link ModelStatus#INVALID} is created. - * @throws NullPointerException If {@code trainingFilesUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginTraining(String trainingFilesUrl, - boolean useTrainingLabels, TrainingOptions trainingOptions) { - return beginTraining(trainingFilesUrl, useTrainingLabels, trainingOptions, - Context.NONE); - } - - PollerFlux beginTraining(String trainingFilesUrl, - boolean useTrainingLabels, - TrainingOptions trainingOptions, Context context) { - trainingOptions = trainingOptions == null ? new TrainingOptions() : trainingOptions; - return new PollerFlux( - trainingOptions.getPollInterval(), - getTrainingActivationOperation(trainingFilesUrl, - useTrainingLabels, - trainingOptions.getTrainingFileFilter() != null - ? trainingOptions.getTrainingFileFilter().isSubfoldersIncluded() : false, - trainingOptions.getTrainingFileFilter() != null - ? trainingOptions.getTrainingFileFilter().getPrefix() : null, - trainingOptions.getModelName(), - context), - createModelPollOperation(context), - (activationResponse, pollingContext) -> Mono.error(new RuntimeException("Cancellation is not supported")), - fetchModelResultOperation(context)); - } - - /** - * Get detailed information for a specified custom model id. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModel#string} - * - * @param modelId The UUID string format model identifier. - * - * @return The detailed information for the specified model. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCustomModel(String modelId) { - return getCustomModelWithResponse(modelId).flatMap(FluxUtil::toMono); - } - - /** - * Get detailed information for a specified custom model id with Http response. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModelWithResponse#string} - * - * @param modelId The UUID string format model identifier. - * - * @return A {@link Response} containing the requested {@link CustomFormModel model}. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCustomModelWithResponse(String modelId) { - try { - return withContext(context -> getCustomModelWithResponse(modelId, context)); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - } - - Mono> getCustomModelWithResponse(String modelId, Context context) { - if (CoreUtils.isNullOrEmpty(modelId)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'modelId' is required and cannot" - + " be null or empty")); - } - return service.getCustomModelWithResponseAsync(UUID.fromString(modelId), true, context) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(response -> new SimpleResponse<>(response, toCustomFormModel(response.getValue()))); - } - - /** - * Get account information of the form recognizer account. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountProperties} - * - * @return The requested account information details. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountProperties() { - return getAccountPropertiesWithResponse().flatMap(FluxUtil::toMono); - } - - /** - * Get account information of the form recognizer account with an Http response. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountPropertiesWithResponse} - * - * @return A {@link Response} containing the requested account information details. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountPropertiesWithResponse() { - try { - return withContext(this::getAccountPropertiesWithResponse); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - } - - Mono> getAccountPropertiesWithResponse(Context context) { - return service.getCustomModelsWithResponseAsync(context) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(response -> new SimpleResponse<>(response, - new AccountProperties(response.getValue().getSummary().getCount(), - response.getValue().getSummary().getLimit()))); - } - - /** - * Deletes the specified custom model. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModel#string} - * - * @param modelId The UUID string format model identifier. - * - * @return An empty Mono. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteModel(String modelId) { - return deleteModelWithResponse(modelId).flatMap(FluxUtil::toMono); - } - - /** - * Deletes the specified custom model. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModelWithResponse#string} - * - * @param modelId The UUID string format model identifier. - * - * @return A {@link Response} containing the status code and HTTP headers. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteModelWithResponse(String modelId) { - try { - return withContext(context -> deleteModelWithResponse(modelId, context)); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - } - - Mono> deleteModelWithResponse(String modelId, Context context) { - if (CoreUtils.isNullOrEmpty(modelId)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'modelId' is required and cannot" - + " be null or empty")); - } - return service.deleteCustomModelWithResponseAsync(UUID.fromString(modelId), context) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(response -> new SimpleResponse<>(response, null)); - } - - /** - * List information for each model on the form recognizer account. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.listCustomModels} - * - * @return {@link PagedFlux} of {@link CustomFormModelInfo}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listCustomModels() { - try { - return new PagedFlux<>(() -> withContext(this::listFirstPageModelInfo), - continuationToken -> withContext(context -> listNextPageModelInfo(continuationToken, context))); - } catch (RuntimeException ex) { - return new PagedFlux<>(() -> monoError(logger, ex)); - } - } - - /** - * List information for each model on the form recognizer account with an Http response and a specified - * {@link Context}. - * - * @param context Additional context that is passed through the Http pipeline during the service call. - * - * @return {@link PagedFlux} of {@link CustomFormModelInfo}. - */ - PagedFlux listCustomModels(Context context) { - return new PagedFlux<>(() -> listFirstPageModelInfo(context), - continuationToken -> listNextPageModelInfo(continuationToken, context)); - } - - /** - * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. - * - *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). - * The target parameter should be supplied from the target resource's output from - * {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} method. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization} - * - * @param modelId Model identifier of the model to copy to the target Form Recognizer resource - * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be - * generated from the target resource's call to {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} - * - * @return A {@link PollerFlux} that polls the copy model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the copied model {@link CustomFormModelInfo}. - * @throws FormRecognizerException If copy operation fails and model with {@link OperationStatus#FAILED} is created. - * @throws NullPointerException If {@code modelId}, {@code target} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginCopyModel(String modelId, - CopyAuthorization target) { - return beginCopyModel(modelId, target, null); - } - - /** - * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. - * - *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). - * The target parameter should be supplied from the target resource's output from - * {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} method. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization-Duration} - * - * @param modelId Model identifier of the model to copy to the target Form Recognizer resource - * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be - * generated from the target resource's call to {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} - * @param pollInterval Duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @return A {@link PollerFlux} that polls the copy model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the copied model {@link CustomFormModelInfo}. - * @throws FormRecognizerException If copy operation fails and model with {@link OperationStatus#FAILED} - * is created. - * @throws NullPointerException If {@code modelId}, {@code target} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginCopyModel(String modelId, - CopyAuthorization target, Duration pollInterval) { - return beginCopyModel(modelId, target, pollInterval, Context.NONE); - } - - PollerFlux beginCopyModel(String modelId, - CopyAuthorization target, Duration pollInterval, Context context) { - final Duration interval = pollInterval != null ? pollInterval : DEFAULT_POLL_INTERVAL; - return new PollerFlux( - interval, - getCopyActivationOperation(modelId, target, context), - createCopyPollOperation(modelId, context), - (activationResponse, pollingContext) -> Mono.error(new RuntimeException("Cancellation is not supported")), - fetchCopyModelResultOperation(modelId, target.getModelId(), context)); - } - - /** - * Generate authorization for copying a custom model into the target Form Recognizer resource. - * - * @param resourceId Azure Resource Id of the target Form Recognizer resource where the model will be copied to. - * @param resourceRegion Location of the target Form Recognizer resource. A valid Azure region name supported - * by Cognitive Services. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorization#string-string} - * - * @return The {@link CopyAuthorization} that could be used to authorize copying model between resources. - * @throws NullPointerException If {@code resourceId}, {@code resourceRegion} is null. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getCopyAuthorization(String resourceId, String resourceRegion) { - return getCopyAuthorizationWithResponse(resourceId, resourceRegion).flatMap(FluxUtil::toMono); - } - - /** - * Generate authorization for copying a custom model into the target Form Recognizer resource. - * This should be called by the target resource (where the model will be copied to) and the output can be passed as - * the target parameter into {@link FormTrainingAsyncClient#beginCopyModel(String, CopyAuthorization)}. - * - * @param resourceId Azure Resource Id of the target Form Recognizer resource where the model will be copied to. - * @param resourceRegion Location of the target Form Recognizer resource. A valid Azure region name supported by - * Cognitive Services. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorizationWithResponse#string-string} - * - * @return A {@link Response} containing the {@link CopyAuthorization} that could be used to authorize copying - * model between resources. - * @throws NullPointerException If {@code resourceId}, {@code resourceRegion} is null. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getCopyAuthorizationWithResponse(String resourceId, - String resourceRegion) { - try { - return withContext(context -> getCopyAuthorizationWithResponse(resourceId, resourceRegion, context)); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - } - - /** - * Create a composed model from the provided list of existing models in the account. - * - *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. - * This operation is currently only supported for custom models trained using labels. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list} - * - * @param modelIds The list of models Ids to form the composed model. - * - * @return A {@link PollerFlux} that polls the create composed model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the created {@link CustomFormModel composed model}. - * @throws FormRecognizerException If create composed model operation fails and model with - * {@link OperationStatus#FAILED} is created. - * @throws NullPointerException If the list of {@code modelIds} is null or empty. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginCreateComposedModel(List modelIds) { - return beginCreateComposedModel(modelIds, null, null); - } - - /** - * Create a composed model from the provided list of existing models in the account. - * - *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. - * This operation is currently only supported for custom models trained using labels. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list-createComposedModelOptions} - * - * @param modelIds The list of models Ids to form the composed model. - * @param createComposedModelOptions The configurable {@link CreateComposedModelOptions options} to pass when - * creating a composed model. - * - * @return A {@link PollerFlux} that polls the create composed model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the copied model {@link CustomFormModel}. - * @throws FormRecognizerException If create composed model operation fails and model with - * {@link OperationStatus#FAILED} is created. - * @throws NullPointerException If the list of {@code modelIds} is null or empty. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public PollerFlux beginCreateComposedModel(List modelIds, - CreateComposedModelOptions createComposedModelOptions) { - return beginCreateComposedModel(modelIds, createComposedModelOptions, Context.NONE); - } - - PollerFlux beginCreateComposedModel(List modelIds, - CreateComposedModelOptions creatComposeModelOptions, Context context) { - try { - if (CoreUtils.isNullOrEmpty(modelIds)) { - throw logger.logExceptionAsError(new NullPointerException("'modelIds' cannot be null or empty")); - } - creatComposeModelOptions = getCreateComposeModelOptions(creatComposeModelOptions); - - final ComposeRequest composeRequest = new ComposeRequest() - .setModelIds(modelIds.stream() - .map(UUID::fromString).collect(Collectors.toList())) - .setModelName(creatComposeModelOptions.getModelName()); - - return new PollerFlux( - DEFAULT_POLL_INTERVAL, - urlActivationOperation(() -> service.composeCustomModelsAsyncWithResponseAsync(composeRequest, context) - .map(response -> { - final String composeModelOperationId - = parseModelId(response.getDeserializedHeaders().getLocation()); - return new FormRecognizerOperationResult(composeModelOperationId); - }), logger), - createModelPollOperation(context), - (activationResponse, pollingContext) - -> Mono.error(new RuntimeException("Cancellation is not supported")), - fetchModelResultOperation(context)); - } catch (RuntimeException ex) { - return PollerFlux.error(ex); - } - } - - Mono> getCopyAuthorizationWithResponse(String resourceId, String resourceRegion, - Context context) { - Objects.requireNonNull(resourceId, "'resourceId' cannot be null"); - Objects.requireNonNull(resourceRegion, "'resourceRegion' cannot be null"); - return service.generateModelCopyAuthorizationWithResponseAsync(context) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(response -> { - CopyAuthorizationResult copyAuthorizationResult = response.getValue(); - return new SimpleResponse<>(response, new CopyAuthorization(copyAuthorizationResult.getModelId(), - copyAuthorizationResult.getAccessToken(), resourceId, resourceRegion, - copyAuthorizationResult.getExpirationDateTimeTicks())); - }); - } - - private Mono> listFirstPageModelInfo(Context context) { - return service.listCustomModelsSinglePageAsync(context) - .doOnRequest(ignoredValue -> logger.info("Listing information for all models")) - .doOnSuccess(response -> logger.info("Listed all models")) - .doOnError(error -> logger.warning("Failed to list all models information", error)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(res -> new PagedResponseBase<>( - res.getRequest(), - res.getStatusCode(), - res.getHeaders(), - toCustomFormModelInfo(res.getValue()), - res.getContinuationToken(), - null)); - } - - private Mono> listNextPageModelInfo(String nextPageLink, Context context) { - if (CoreUtils.isNullOrEmpty(nextPageLink)) { - return Mono.empty(); - } - return service.listCustomModelsNextSinglePageAsync(nextPageLink, context) - .doOnSubscribe(ignoredValue -> logger.info("Retrieving the next listing page - Page {}", nextPageLink)) - .doOnSuccess(response -> logger.info("Retrieved the next listing page - Page {}", nextPageLink)) - .doOnError(error -> logger.warning("Failed to retrieve the next listing page - Page {}", nextPageLink, - error)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists) - .map(res -> new PagedResponseBase<>( - res.getRequest(), - res.getStatusCode(), - res.getHeaders(), - toCustomFormModelInfo(res.getValue()), - res.getContinuationToken(), - null)); - } - - private Function, Mono> - fetchCopyModelResultOperation( - String modelId, String copyModelId, Context context) { - return (pollingContext) -> { - try { - final UUID resultUid = UUID.fromString(pollingContext.getLatestResponse().getValue().getResultId()); - Objects.requireNonNull(modelId, "'modelId' cannot be null."); - return service.getCustomModelCopyResultWithResponseAsync(UUID.fromString(modelId), resultUid, context) - .map(modelSimpleResponse -> { - CopyOperationResult copyOperationResult = modelSimpleResponse.getValue(); - return new CustomFormModelInfo(copyModelId, - copyOperationResult.getStatus() == OperationStatus.SUCCEEDED - ? CustomFormModelStatus.READY - : CustomFormModelStatus.fromString(copyOperationResult.getStatus().toString()), - copyOperationResult.getCreatedDateTime(), - copyOperationResult.getLastUpdatedDateTime()); - }) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - private Function, Mono>> - createCopyPollOperation(String modelId, Context context) { - return (pollingContext) -> { - try { - PollResponse operationResultPollResponse = - pollingContext.getLatestResponse(); - UUID targetId = UUID.fromString(operationResultPollResponse.getValue().getResultId()); - return service.getCustomModelCopyResultWithResponseAsync(UUID.fromString(modelId), targetId, context) - .flatMap(modelSimpleResponse -> - processCopyModelResponse(modelSimpleResponse, operationResultPollResponse)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (HttpResponseException ex) { - return monoError(logger, ex); - } - }; - } - - private Function, Mono> - getCopyActivationOperation( - String modelId, CopyAuthorization target, Context context) { - return (pollingContext) -> { - try { - Objects.requireNonNull(modelId, "'modelId' cannot be null."); - Objects.requireNonNull(target, "'target' cannot be null."); - CopyRequest copyRequest = new CopyRequest() - .setTargetResourceId(target.getResourceId()) - .setTargetResourceRegion(target.getResourceRegion()) - .setCopyAuthorization(new CopyAuthorizationResult() - .setModelId(target.getModelId()) - .setAccessToken(target.getAccessToken()) - .setExpirationDateTimeTicks(target.getExpiresOn().toEpochSecond())); - return service.copyCustomModelWithResponseAsync(UUID.fromString(modelId), copyRequest, context) - .map(response -> - new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getOperationLocation()))) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - private Mono> processCopyModelResponse( - Response copyModel, - PollResponse copyModelOperationResponse) { - LongRunningOperationStatus status; - switch (copyModel.getValue().getStatus()) { - case NOT_STARTED: - case RUNNING: - status = LongRunningOperationStatus.IN_PROGRESS; - break; - case SUCCEEDED: - status = LongRunningOperationStatus.SUCCESSFULLY_COMPLETED; - break; - case FAILED: - throw logger.logExceptionAsError(new FormRecognizerException("Copy operation failed", - copyModel.getValue().getCopyResult().getErrors().stream() - .map(errorInformation -> - new FormRecognizerErrorInformation(errorInformation.getCode(), - errorInformation.getMessage())) - .collect(Collectors.toList()))); - default: - status = LongRunningOperationStatus.fromString(copyModel.getValue().getStatus().toString(), true); - break; - } - return Mono.just(new PollResponse<>(status, copyModelOperationResponse.getValue())); - } - - private Function, Mono> - fetchModelResultOperation(Context context) { - return (pollingContext) -> { - try { - final UUID modelUid = UUID.fromString(pollingContext.getLatestResponse().getValue().getResultId()); - return service.getCustomModelWithResponseAsync(modelUid, true, context) - .map(modelSimpleResponse -> toCustomFormModel(modelSimpleResponse.getValue())) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - private Function, Mono>> - createModelPollOperation(Context context) { - return (pollingContext) -> { - try { - PollResponse operationResultPollResponse = - pollingContext.getLatestResponse(); - UUID modelUid = UUID.fromString(operationResultPollResponse.getValue().getResultId()); - return service.getCustomModelWithResponseAsync(modelUid, true, context) - .flatMap(modelSimpleResponse -> - processTrainingModelResponse(modelSimpleResponse, operationResultPollResponse)) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (HttpResponseException ex) { - return monoError(logger, ex); - } - }; - } - - private Function, Mono> - getTrainingActivationOperation( - String trainingFilesUrl, boolean useTrainingLabels, boolean includeSubfolders, String filePrefix, - String modelName, Context context) { - return (pollingContext) -> { - try { - Objects.requireNonNull(trainingFilesUrl, "'trainingFilesUrl' cannot be null."); - TrainSourceFilter trainSourceFilter = new TrainSourceFilter() - .setIncludeSubFolders(includeSubfolders) - .setPrefix(filePrefix); - TrainRequest serviceTrainRequest = new TrainRequest() - .setSource(trainingFilesUrl) - .setSourceFilter(trainSourceFilter) - .setUseLabelFile(useTrainingLabels) - .setModelName(modelName); - return service.trainCustomModelAsyncWithResponseAsync(serviceTrainRequest, context) - .map(response -> - new FormRecognizerOperationResult( - parseModelId(response.getDeserializedHeaders().getLocation()))) - .onErrorMap(Utility::mapToHttpResponseExceptionIfExists); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } - }; - } - - private Mono> processTrainingModelResponse( - Response trainingModel, - PollResponse trainingModelOperationResponse) { - LongRunningOperationStatus status; - switch (trainingModel.getValue().getModelInfo().getStatus()) { - case CREATING: - status = LongRunningOperationStatus.IN_PROGRESS; - break; - case READY: - status = LongRunningOperationStatus.SUCCESSFULLY_COMPLETED; - break; - case INVALID: - throw logger.logExceptionAsError(new FormRecognizerException(String.format("Invalid model created" - + " with model Id %s", trainingModel.getValue().getModelInfo().getModelId()), - trainingModel.getValue().getTrainResult().getErrors().stream() - .map(errorInformation -> - new FormRecognizerErrorInformation(errorInformation.getCode(), - errorInformation.getMessage())) - .collect(Collectors.toList()))); - default: - status = LongRunningOperationStatus.fromString( - trainingModel.getValue().getModelInfo().getStatus().toString(), true); - break; - } - return Mono.just(new PollResponse<>(status, trainingModelOperationResponse.getValue())); - } - - private static CreateComposedModelOptions - getCreateComposeModelOptions(CreateComposedModelOptions userProvidedOptions) { - return userProvidedOptions == null ? new CreateComposedModelOptions() : userProvidedOptions; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java deleted file mode 100644 index b426c2ee88676..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/FormTrainingClient.java +++ /dev/null @@ -1,407 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training; - -import com.azure.ai.formrecognizer.FormRecognizerClient; -import com.azure.ai.formrecognizer.FormRecognizerClientBuilder; -import com.azure.ai.formrecognizer.implementation.models.ModelStatus; -import com.azure.ai.formrecognizer.implementation.models.OperationStatus; -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.annotation.ReturnType; -import com.azure.core.annotation.ServiceClient; -import com.azure.core.annotation.ServiceMethod; -import com.azure.core.http.rest.PagedIterable; -import com.azure.core.http.rest.Response; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -import java.time.Duration; -import java.util.List; - -/** - * This class provides a synchronous client that contains model management the operations that apply - * to Azure Form Recognizer. - * Operations allowed by the client are creating, training of custom models, deleting models, listing models and getting - * subscription account information. - * - *

Instantiating a synchronous Form Training Client

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.initialization} - * - * @see FormTrainingClientBuilder - * @see FormTrainingClient - */ -@ServiceClient(builder = FormTrainingClientBuilder.class) -public final class FormTrainingClient { - - private final FormTrainingAsyncClient client; - - /** - * Create a {@link FormTrainingClient} that sends requests to the Form Recognizer service's endpoint. - * Each service call goes through the {@link FormTrainingClientBuilder#pipeline http pipeline}. - * - * @param formTrainingAsyncClient The {@link FormTrainingAsyncClient} that the client routes its request through. - */ - FormTrainingClient(FormTrainingAsyncClient formTrainingAsyncClient) { - this.client = formTrainingAsyncClient; - } - - /** - * Creates a new {@link FormRecognizerClient} object. The new {@link FormTrainingClient} - * uses the same request policy pipeline as the {@link FormTrainingClient}. - * - * @return A new {@link FormRecognizerClient} object. - */ - public FormRecognizerClient getFormRecognizerClient() { - return new FormRecognizerClientBuilder().endpoint(client.getEndpoint()).pipeline(client.getHttpPipeline()) - .buildClient(); - } - - /** - * Create and train a custom model. - *

Models are trained using documents that are of the following content - * type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. - * Other type of content is ignored. - *

- *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean} - * - * @param trainingFilesUrl an externally accessible Azure storage blob container Uri (preferably a Shared Access - * Signature Uri). - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here. - * - * @param useTrainingLabels boolean to specify the use of labeled files for training the model. - * - * @return A {@link SyncPoller} that polls the training model operation until it has completed, has failed, or has - * been cancelled. The completed operation returns the trained {@link CustomFormModel custom form model}. - * @throws FormRecognizerException If training fails and model with {@link ModelStatus#INVALID} is created. - * @throws NullPointerException If {@code trainingFilesUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginTraining(String trainingFilesUrl, - boolean useTrainingLabels) { - return beginTraining(trainingFilesUrl, useTrainingLabels, null, Context.NONE); - } - - /** - * Create and train a custom model. - * Models are trained using documents that are of the following content type - 'application/pdf', - * 'image/jpeg', 'image/png', 'image/tiff'. - * Other type of content is ignored. - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean-TrainingOptions-Context} - * - * @param trainingFilesUrl an externally accessible Azure storage blob container Uri (preferably a - * Shared Access Signature Uri). - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here. - * - * @param useTrainingLabels boolean to specify the use of labeled files for training the model. - * @param trainingOptions The additional configurable {@link TrainingOptions options} - * that may be passed when training a model. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the training model operation until it has completed, has failed, or has - * been cancelled. The completed operation returns the trained {@link CustomFormModel custom form model}. - * @throws FormRecognizerException If training fails and model with {@link ModelStatus#INVALID} is created. - * @throws NullPointerException If {@code trainingFilesUrl} is null. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginTraining(String trainingFilesUrl, - boolean useTrainingLabels, - TrainingOptions trainingOptions, Context context) { - return client.beginTraining(trainingFilesUrl, useTrainingLabels, - trainingOptions, context).getSyncPoller(); - } - - /** - * Get detailed information for a specified custom model id. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModel#string} - * - * @param modelId The UUID string format model identifier. - * - * @return The detailed information for the specified model. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public CustomFormModel getCustomModel(String modelId) { - return getCustomModelWithResponse(modelId, Context.NONE).getValue(); - } - - /** - * Get detailed information for a specified custom model id. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModelWithResponse#string-Context} - * - * @param modelId The UUID string format model identifier. - * @param context Additional context that is passed through the Http pipeline during the service call. - * - * @return The detailed information for the specified model. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getCustomModelWithResponse(String modelId, Context context) { - return client.getCustomModelWithResponse(modelId, context).block(); - } - - /** - * Get account information of the form recognizer account. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountProperties} - * - * @return The requested account information of the form recognizer account. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public AccountProperties getAccountProperties() { - return getAccountPropertiesWithResponse(Context.NONE).getValue(); - } - - /** - * Get account information of the form recognizer account with an Http response and a - * specified {@link Context}. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountPropertiesWithResponse#Context} - * - * @param context Additional context that is passed through the Http pipeline during the service call. - * - * @return The requested account information of the form recognizer account. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAccountPropertiesWithResponse(Context context) { - return client.getAccountPropertiesWithResponse(context).block(); - } - - /** - * Deletes the specified custom model. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModel#string} - * - * @param modelId The UUID string format model identifier. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public void deleteModel(String modelId) { - deleteModelWithResponse(modelId, Context.NONE); - } - - /** - * Deletes the specified custom model. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModelWithResponse#string-Context} - * - * @param modelId The UUID string format model identifier. - * @param context Additional context that is passed through the Http pipeline during the service call. - * - * @return A {@link Response} containing containing status code and HTTP headers. - * @throws IllegalArgumentException If {@code modelId} is null or empty. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteModelWithResponse(String modelId, Context context) { - return client.deleteModelWithResponse(modelId, context).block(); - } - - /** - * List information for each model on the form recognizer account. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels} - * - * @return {@link PagedIterable} of {@link CustomFormModelInfo} custom form model information. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listCustomModels() { - return new PagedIterable<>(client.listCustomModels(Context.NONE)); - } - - /** - * List information for each model on the form recognizer account with an Http response and a specified - * {@link Context}. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels#Context} - * - * @param context Additional context that is passed through the Http pipeline during the service call. - * - * @return {@link PagedIterable} of {@link CustomFormModelInfo} custom form model information. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listCustomModels(Context context) { - return new PagedIterable<>(client.listCustomModels(context)); - } - - /** - * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. - * - *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). - * The target parameter should be supplied from the target resource's output from - * {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} method. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization} - * - * @param modelId Model identifier of the model to copy to the target Form Recognizer resource - * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be - * generated from the target resource's call to {@link FormTrainingClient#getCopyAuthorization(String, String)} - * - * @return A {@link SyncPoller} that polls the copy model operation until it has completed, has failed, - * or has been cancelled. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginCopyModel(String modelId, - CopyAuthorization target) { - return beginCopyModel(modelId, target, null, Context.NONE); - } - - /** - * Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource. - * - *

This should be called with the source Form Recognizer resource (with the model that is intended to be copied). - * The target parameter should be supplied from the target resource's output from - * {@link FormTrainingClient#getCopyAuthorization(String, String)} method. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.beginCopyModel#string-copyAuthorization-Duration-Context} - * - * @param modelId Model identifier of the model to copy to the target Form Recognizer resource - * @param target the copy authorization to the target Form Recognizer resource. The copy authorization can be - * generated from the target resource's call to {@link FormTrainingClient#getCopyAuthorization(String, String)} - * @param pollInterval Duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the copy model operation until it has completed, has failed, - * or has been cancelled. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginCopyModel(String modelId, - CopyAuthorization target, Duration pollInterval, Context context) { - return client.beginCopyModel(modelId, target, pollInterval, context).getSyncPoller(); - } - - /** - * Generate authorization for copying a custom model into the target Form Recognizer resource. - * - * @param resourceId Azure Resource Id of the target Form Recognizer resource where the model will be copied to. - * This information can be found in the 'Properties' section of the Form Recognizer resource in the Azure Portal. - * @param resourceRegion Location of the target Form Recognizer resource. A valid Azure region name supported - * by Cognitive Services. This information can be found in the 'Keys and Endpoint' section of the Form Recognizer - * resource in the Azure Portal. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorization#string-string} - * - * @return The {@link CopyAuthorization} - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public CopyAuthorization getCopyAuthorization(String resourceId, String resourceRegion) { - return getCopyAuthorizationWithResponse(resourceId, resourceRegion, Context.NONE).getValue(); - } - - /** - * Generate authorization for copying a custom model into the target Form Recognizer resource. - * This should be called by the target resource (where the model will be copied to) and the output can be passed as - * the target parameter into {@link FormTrainingAsyncClient#beginCopyModel(String, CopyAuthorization)}. - * - * @param resourceId Azure Resource Id of the target Form Recognizer resource where the model will be copied to. - * This information can be found in the 'Properties' section of the Form Recognizer resource in the Azure Portal. - * @param resourceRegion Location of the target Form Recognizer resource. A valid Azure region name supported by - * Cognitive Services.This information can be found in the 'Keys and Endpoint' section of the Form Recognizer - * resource in the Azure Portal. - * @param context Additional context that is passed through the Http pipeline during the service call. - * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorizationWithResponse#string-string-Context} - * - * @return A {@link Response} containing the {@link CopyAuthorization} - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getCopyAuthorizationWithResponse(String resourceId, String resourceRegion, - Context context) { - return client.getCopyAuthorizationWithResponse(resourceId, resourceRegion, context).block(); - } - - /** - * Create a composed model from the provided list of existing models in the account. - * - *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. - * This operation is currently only supported for custom models trained using labels. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list} - * - * @param modelIds The list of models Ids to form the composed model. - * - * @return A {@link SyncPoller} that polls the create composed model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the {@link CustomFormModel composed model}. - * @throws FormRecognizerException If create composed model operation fails and model with - * {@link OperationStatus#FAILED} is created. - * @throws NullPointerException If the list of {@code modelIds} is null or empty. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginCreateComposedModel(List modelIds) { - return beginCreateComposedModel(modelIds, null, null); - } - - /** - * Create a composed model from the provided list of existing models in the account. - * - *

This operations fails if the list consists of an invalid, non-existing model Id or duplicate Ids. - * This operation is currently only supported for custom models trained using labels. - *

- * - *

The service does not support cancellation of the long running operation and returns with an - * error message indicating absence of cancellation support.

- * - *

Code sample

- * {@codesnippet com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list-CreateComposedModelOptions-Context} - * - * @param modelIds The list of models Ids to form the composed model. - * @param createComposedModelOptions The configurable {@link CreateComposedModelOptions options} to pass when - * creating a composed model. - * @param context Additional context that is passed through the HTTP pipeline during the service call. - * - * @return A {@link SyncPoller} that polls the create composed model operation until it has completed, has failed, - * or has been cancelled. The completed operation returns the {@link CustomFormModel composed model}. - * @throws FormRecognizerException If create composed model operation fails and model with - * {@link OperationStatus#FAILED} is created. - * @throws NullPointerException If the list of {@code modelIds} is null or empty. - */ - @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) - public SyncPoller beginCreateComposedModel(List modelIds, - CreateComposedModelOptions createComposedModelOptions, Context context) { - return client.beginCreateComposedModel(modelIds, createComposedModelOptions, context).getSyncPoller(); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/AccountProperties.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/AccountProperties.java deleted file mode 100644 index 610cde60a0240..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/AccountProperties.java +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.core.annotation.Immutable; - -/** - * The AccountProperties model. - */ -@Immutable -public final class AccountProperties { - - /* - * The current count of trained custom models. - */ - private final int customModelCount; - - /* - * Max number of models that can be trained for this account. - */ - private final int customModelLimit; - - /** - * Constructs an AccountProperties object. - * - * @param customModelCount The current count of trained custom models. - * @param customModelLimit Max number of models that can be trained for this account. - */ - public AccountProperties(final int customModelCount, final int customModelLimit) { - this.customModelCount = customModelCount; - this.customModelLimit = customModelLimit; - } - - /** - * Get the current count of trained custom models. - * - * @return the count value. - */ - public int getCustomModelCount() { - return this.customModelCount; - } - - /** - * Get the max number of models that can be trained for - * this account. - * - * @return the limit value. - */ - public int getCustomModelLimit() { - return this.customModelLimit; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CopyAuthorization.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CopyAuthorization.java deleted file mode 100644 index 6ad6f75a09c26..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CopyAuthorization.java +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.util.logging.ClientLogger; -import com.azure.core.util.serializer.JacksonAdapter; -import com.azure.core.util.serializer.SerializerAdapter; -import com.azure.core.util.serializer.SerializerEncoding; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - -import java.io.IOException; -import java.time.Instant; -import java.time.OffsetDateTime; -import java.time.ZoneOffset; - -/** - * The CopyAuthorization model. - */ -@Fluent -public final class CopyAuthorization { - private static final ClientLogger LOGGER = new ClientLogger(CopyAuthorization.class); - - private static final SerializerAdapter SERIALIZER = JacksonAdapter.createDefaultSerializerAdapter(); - - CopyAuthorization() { - super(); - } - - /* - * Model identifier. - */ - private String modelId; - - /* - * Token claim used to authorize the request. - */ - private String accessToken; - - /* - * Resource Identifier. - */ - private String resourceId; - - /* - * Region of the resource. - */ - private String resourceRegion; - - /* - * The date-time when the access token expires. - */ - @JsonProperty("expirationDateTimeTicks") - private long expirationDateTimeTicks; - - @JsonIgnore - private OffsetDateTime expiresOn; - - /** - * Create a CopyAuthorization object - * - * @param modelId The model identifier - * @param accessToken The token used to authorize the request - * @param resourceId The resource identifier - * @param resourceRegion The region of the resource - * @param expiresOn The expiry time of the token - */ - public CopyAuthorization(final String modelId, final String accessToken, final String resourceId, - final String resourceRegion, final long expiresOn) { - this.modelId = modelId; - this.accessToken = accessToken; - this.resourceId = resourceId; - this.resourceRegion = resourceRegion; - this.expirationDateTimeTicks = expiresOn; - this.expiresOn = OffsetDateTime.ofInstant(Instant.ofEpochSecond(expiresOn), ZoneOffset.UTC); - } - - /** - * Get the modelId property. - * - * @return the {@code modelId} value. - */ - public String getModelId() { - return this.modelId; - } - - /** - * Get the token claim used to authorize the request. - * - * @return the {@code accessToken} value. - */ - public String getAccessToken() { - return this.accessToken; - } - - /** - * Get the date-time when the access token expires. - * - * @return the date-time value when the access token expires. - */ - public OffsetDateTime getExpiresOn() { - return this.expiresOn; - } - - /** - * Get the Azure Resource Id of the target Form Recognizer resource - * where the model will be copied to. - * - * @return the {@code resourceId} value. - */ - public String getResourceId() { - return resourceId; - } - - /** - * Get the location of the target Form Recognizer resource. - * - * @return the {@code resourceRegion} value. - */ - public String getResourceRegion() { - return resourceRegion; - } - - /** - * Converts the CopyAuthorization object to its equivalent json string representation. - * - * @return the json string representation of the CopyAuthorization object. - * @throws IllegalStateException exception if the serialization failed - */ - public String toJson() { - try { - return SERIALIZER.serialize(this, SerializerEncoding.JSON); - } catch (IOException e) { - throw LOGGER.logExceptionAsError(new IllegalStateException("Serialization Failed.", e)); - } - } - - /** - * Converts the json string representation to its equivalent CopyAuthorization object. - * - * @param copyAuthorization the json string representation of the object. - * - * @return the CopyAuthorization object equivalent of the json string. - * @throws IllegalStateException exception if the deserialization failed - */ - public static CopyAuthorization fromJson(String copyAuthorization) { - CopyAuthorization copyAuthorizationObj; - try { - copyAuthorizationObj = SERIALIZER.deserialize(copyAuthorization, CopyAuthorization.class, - SerializerEncoding.JSON); - } catch (IOException e) { - throw LOGGER.logExceptionAsError(new IllegalStateException("Deserialization Failed.", e)); - } - return new CopyAuthorization( - copyAuthorizationObj.getModelId(), copyAuthorizationObj.getAccessToken(), - copyAuthorizationObj.getResourceId(), copyAuthorizationObj.getResourceRegion(), - copyAuthorizationObj.getExpirationDateTimeTicks() - ); - } - - long getExpirationDateTimeTicks() { - return expirationDateTimeTicks; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModel.java deleted file mode 100644 index 8f535dc171311..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModel.java +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.ai.formrecognizer.implementation.CustomFormModelHelper; -import com.azure.ai.formrecognizer.models.FormRecognizerError; -import com.azure.core.annotation.Immutable; - -import java.time.OffsetDateTime; -import java.util.Collections; -import java.util.List; - -/** - * The CustomFormModel - */ -@Immutable -public final class CustomFormModel { - - /* - * List of errors returned during the training operation. - */ - private final List modelError; - - /* - * Model identifier. - */ - private final String modelId; - - /* - * Status of the model. - */ - private final CustomFormModelStatus modelStatus; - - /* - * Date and time (UTC) when the training of the model was started. - */ - private final OffsetDateTime trainingStartedOn; - - /* - * Date and time (UTC) when the model training was completed. - */ - private final OffsetDateTime trainingCompletedOn; - - /* - * List of sub model that are part of this model, each of which can recognize and extract fields - * from a different type of form. - */ - private final List submodels; - - /* - * List of the documents used to train the model. - */ - private List trainingDocuments; - - private String modelName; - - private CustomFormModelProperties customFormModelProperties; - - static { - CustomFormModelHelper.setAccessor(new CustomFormModelHelper.CustomFormModelAccessor() { - @Override - public void setTrainingDocuments(CustomFormModel formModel, List trainingDocuments) { - formModel.setTrainingDocuments(trainingDocuments); - } - - @Override - public void setModelName(CustomFormModel formModel, String modelName) { - formModel.setModelName(modelName); - } - - @Override - public void setCustomFormModelProperties(CustomFormModel formModel, - CustomFormModelProperties customFormModelProperties) { - formModel.setCustomFormModelProperties(customFormModelProperties); - } - }); - } - - /** - * Constructs a CustomFormModel object. - * - * @param modelId Model identifier. - * @param modelStatus Status of the model. - * @param trainingStartedOn Date and time (UTC) when the training of model was started. - * @param trainingCompletedOn Date and time (UTC) when the model training was completed. - * @param submodels List of sub model that are part of this model, each of which can recognize and extract fields - * from a different type of form. - * @param modelError List of errors returned during the training operation. - * @param trainingDocuments List of the documents used to train the model. - */ - public CustomFormModel(final String modelId, final CustomFormModelStatus modelStatus, - final OffsetDateTime trainingStartedOn, final OffsetDateTime trainingCompletedOn, - final List submodels, final List modelError, - final List trainingDocuments) { - this.modelId = modelId; - this.modelStatus = modelStatus; - this.trainingStartedOn = trainingStartedOn; - this.trainingCompletedOn = trainingCompletedOn; - this.submodels = submodels == null ? null : Collections.unmodifiableList(submodels); - this.modelError = modelError == null ? null : Collections.unmodifiableList(modelError); - this.trainingDocuments = trainingDocuments == null ? null - : Collections.unmodifiableList(trainingDocuments); - } - - /** - * Get the Model identifier. - * - * @return the {@code modelId} value. - */ - public String getModelId() { - return this.modelId; - } - - /** - * Get the status of the model. - * - * @return the {@code modelStatus} value. - */ - public CustomFormModelStatus getModelStatus() { - return this.modelStatus; - } - - /** - * Get the Date and time (UTC) when the training of the model was started. - * - * @return the {@code trainingStartedOn} value. - */ - public OffsetDateTime getTrainingStartedOn() { - return this.trainingStartedOn; - } - - /** - * Get the Date and time (UTC) when the model training was completed. - * - * @return the {@code trainingCompletedOn} value. - */ - public OffsetDateTime getTrainingCompletedOn() { - return this.trainingCompletedOn; - } - - /** - * Get the errors returned during the training operation. - * - * @return the unmodifiable list of model errors returned during the training operation. - */ - public List getModelError() { - return this.modelError; - } - - /** - * Get the list of sub model that are part of this model, each of which can recognize - * and extract fields from a different type of form. - * - * @return the unmodifiable list of submodels that are a part of this model. - */ - public List getSubmodels() { - return this.submodels; - } - - /** - * Get the list of the documents used to train the model and any errors reported in each document. - * - * @return the unmodifiable list of documents used to train the model. - */ - public List getTrainingDocuments() { - return this.trainingDocuments; - } - - /** - * Get model metadata properties. - * - * @return the custom model metadata properties. - */ - public CustomFormModelProperties getCustomModelProperties() { - return customFormModelProperties; - } - - /** - * Get the user defined model display name. - * - * @return the modelName value. - */ - public String getModelName() { - return modelName; - } - - /** - * The private setter to set the trainingDocuments property - * via {@link CustomFormModelHelper.CustomFormModelAccessor}. - * - * @param trainingDocuments The list of the documents used to train the model and any - * errors reported in each document. - */ - private void setTrainingDocuments(List trainingDocuments) { - this.trainingDocuments = trainingDocuments; - } - - /** - * The private setter to set the modelName property - * via {@link CustomFormModelHelper.CustomFormModelAccessor}. - * - * @param modelName The user defined model display name. - */ - private void setModelName(String modelName) { - this.modelName = modelName; - } - - /** - * The private setter to set the customFormModelProperties property - * via {@link CustomFormModelHelper.CustomFormModelAccessor}. - * - * @param customFormModelProperties The model metadata properties. - */ - private void setCustomFormModelProperties(CustomFormModelProperties customFormModelProperties) { - this.customFormModelProperties = customFormModelProperties; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelField.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelField.java deleted file mode 100644 index c90b88b117020..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelField.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.core.annotation.Immutable; - -/** - * The CustomFormModelField model. - */ -@Immutable -public final class CustomFormModelField { - - /* - * Training field label. - */ - private final String label; - - /* - * Training field name. - */ - private final String name; - - /* - * Estimated extraction accuracy for this field. - */ - private final Float accuracy; - - /** - * Constructs a CustomFormModelField object. - * - * @param label Training field label. - * @param name Training field name. - * @param accuracy Estimated extraction accuracy for this field. - */ - public CustomFormModelField(final String label, final String name, final Float accuracy) { - this.label = label; - this.name = name; - this.accuracy = accuracy; - } - - /** - * Get the recognized field label value. - * - * @return the fieldName value. - */ - public String getLabel() { - return this.label; - } - - /** - * Get the recognized field name value. - * - * @return the fieldName value. - */ - public String getName() { - return this.name; - } - - /** - * Get the estimated extraction accuracy for this field. - * - * @return the accuracy value. - */ - public Float getAccuracy() { - return this.accuracy; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelInfo.java deleted file mode 100644 index 2b4af6c6a9473..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelInfo.java +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.ai.formrecognizer.implementation.CustomFormModelInfoHelper; -import com.azure.core.annotation.Immutable; - -import java.time.OffsetDateTime; - -/** - * The CustomFormModelInfo model. - */ -@Immutable -public final class CustomFormModelInfo { - - /* - * Model identifier. - */ - private final String modelId; - - /* - * Status of the model. - */ - private final CustomFormModelStatus status; - - /* - * Date and time (UTC) when the training of the model was started. - */ - private final OffsetDateTime trainingStartedOn; - - /* - * Date and time (UTC) when the model training was completed. - */ - private final OffsetDateTime trainingCompletedOn; - - private String modelName; - - private CustomFormModelProperties customFormModelProperties; - - static { - CustomFormModelInfoHelper.setAccessor(new CustomFormModelInfoHelper.CustomFormModelInfoAccessor() { - @Override - public void setModelName(CustomFormModelInfo formModelInfo, String modelName) { - formModelInfo.setModelName(modelName); - } - - @Override - public void setCustomFormModelProperties(CustomFormModelInfo formModelInfo, - CustomFormModelProperties customFormModelProperties) { - formModelInfo.setCustomFormModelProperties(customFormModelProperties); - } - }); - } - /** - * Constructs a {@link CustomFormModelInfo} object. - * - * @param modelId The model identifier. - * @param status The status of the model. - * @param trainingStartedOn Date and time (UTC) when the training of the model was started. - * @param trainingCompletedOn Date and time (UTC) when the model training was completed. - */ - public CustomFormModelInfo(final String modelId, final CustomFormModelStatus status, - final OffsetDateTime trainingStartedOn, final OffsetDateTime trainingCompletedOn) { - this.modelId = modelId; - this.status = status; - this.trainingStartedOn = trainingStartedOn; - this.trainingCompletedOn = trainingCompletedOn; - } - - /** - * Get the model identifier. - * - * @return the {@code modelId} value. - */ - public String getModelId() { - return this.modelId; - } - - /** - * Get the Status of the model. - * - * @return the {@code status} value. - */ - public CustomFormModelStatus getStatus() { - return this.status; - } - - /** - * Get the date and time (UTC) when the training of the model was started. - * - * @return the {@code trainingStartedOn} value. - */ - public OffsetDateTime getTrainingStartedOn() { - return this.trainingStartedOn; - } - - /** - * Get the date and time (UTC) when the model training was completed. - * - * @return the {@code trainingCompletedOn} value. - */ - public OffsetDateTime getTrainingCompletedOn() { - return this.trainingCompletedOn; - } - - /** - * Get model metadata properties. - * - * @return the custom model metadata properties. - */ - public CustomFormModelProperties getCustomModelProperties() { - return customFormModelProperties; - } - - /** - * Get the user defined model display name. - * - * @return the modelName value. - */ - public String getModelName() { - return modelName; - } - - /** - * The private setter to set the modelName property - * via {@link CustomFormModelInfoHelper.CustomFormModelInfoAccessor}. - * - * @param modelName The user defined model display name. - */ - private void setModelName(String modelName) { - this.modelName = modelName; - } - - /** - * The private setter to set the customFormModelProperties property - * via {@link CustomFormModelInfoHelper.CustomFormModelInfoAccessor}. - * - * @param customFormModelProperties The model metadata properties. - */ - private void setCustomFormModelProperties(CustomFormModelProperties customFormModelProperties) { - this.customFormModelProperties = customFormModelProperties; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelProperties.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelProperties.java deleted file mode 100644 index beb4089daff25..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelProperties.java +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.ai.formrecognizer.implementation.CustomFormModelPropertiesHelper; -import com.azure.core.annotation.Immutable; - -/** - * The metadata properties for a custom model. - */ -@Immutable -public final class CustomFormModelProperties { - private boolean isComposed; - - static { - CustomFormModelPropertiesHelper.setAccessor( - new CustomFormModelPropertiesHelper.CustomFormModelPropertiesAccessor() { - @Override - public void setIsComposed(CustomFormModelProperties formModelProperties, boolean isComposed) { - formModelProperties.setIsComposed(isComposed); - } - }); - } - /** - * Is this model composed? - * - * @return the isComposed value. - */ - public boolean isComposed() { - return this.isComposed; - } - - /** - * The private setter to set the state property - * via {@link CustomFormModelPropertiesHelper.CustomFormModelPropertiesAccessor}. - * - * @param isComposed the isComposed value. - */ - private void setIsComposed(boolean isComposed) { - this.isComposed = isComposed; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelStatus.java deleted file mode 100644 index 86a5ea66c6ad1..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormModelStatus.java +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.training.models; - -/** - * Defines values for CustomFormModelStatus. - */ -public enum CustomFormModelStatus { - /** - * Enum value creating. - */ - CREATING("creating"), - - /** - * Enum value ready. - */ - READY("ready"), - - /** - * Enum value invalid. - */ - INVALID("invalid"); - - /** - * The actual serialized value for a CustomFormModelStatus instance. - */ - private final String value; - - CustomFormModelStatus(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a CustomFormModelStatus instance. - * - * @param value the serialized value to parse. - * - * @return the parsed CustomFormModelStatus object, or null if unable to parse. - */ - public static CustomFormModelStatus fromString(String value) { - CustomFormModelStatus[] items = CustomFormModelStatus.values(); - for (CustomFormModelStatus item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - /** - * The string representation of the enum value. - * - * @return the string representation of the enum value. - */ - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormSubmodel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormSubmodel.java deleted file mode 100644 index 01bce8dc0870b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/CustomFormSubmodel.java +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.ai.formrecognizer.implementation.CustomFormSubmodelHelper; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.Map; - -/** - * The CustomFormSubmodel model. - */ -@Immutable -public final class CustomFormSubmodel { - - /* - * Estimated extraction accuracy for this model. - */ - private final Float accuracy; - - /* - * A map of the fields recognized from the input document. - * For models trained with labels, this is the training-time label of the field. For models trained with forms - * only, a unique name is generated for each field. - */ - private final Map fields; - - /* - * The form type. - */ - private final String formType; - - private String modelId; - - static { - CustomFormSubmodelHelper.setAccessor(new CustomFormSubmodelHelper.CustomFormSubmodelAccessor() { - @Override - public void setModelId(CustomFormSubmodel formSubmodel, String modelId) { - formSubmodel.setModelId(modelId); - } - }); - } - - /** - * Constructs a CustomFormSubmodel object. - * - * @param accuracy The estimated extraction accuracy for this model. - * @param fields The Map of fields used to train the model. - * @param formType The recognized form type. - */ - public CustomFormSubmodel(final Float accuracy, final Map fields, - final String formType) { - this.accuracy = accuracy; - this.fields = fields == null ? null : Collections.unmodifiableMap(fields); - this.formType = formType; - } - - /** - * Get the estimated extraction accuracy for this model. - * - * @return the accuracy value. - */ - public Float getAccuracy() { - return this.accuracy; - } - - /** - * Gets the recognized form type for the model. - * - * @return the form type for the model. - */ - public String getFormType() { - return this.formType; - } - - /** - * A map of the fields recognized from the input document. - * For models trained with labels, this is the training-time label of the field. For models trained with forms - * only, a unique name is generated for each field. - * - * @return the unmodifiable map of recognized fields. - */ - public Map getFields() { - return this.fields; - } - - /** - * Get the unique identifier for the submodel. - * - * @return the modelId value. - */ - public String getModelId() { - return modelId; - } - - /** - * The private setter to set the modelId property - * via {@link CustomFormSubmodelHelper.CustomFormSubmodelAccessor}. - * - * @param modelId The the unique identifier of the submodel. - */ - private void setModelId(String modelId) { - this.modelId = modelId; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingDocumentInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingDocumentInfo.java deleted file mode 100644 index fbcb259a5e3b0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingDocumentInfo.java +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.ai.formrecognizer.implementation.TrainingDocumentInfoHelper; -import com.azure.ai.formrecognizer.models.FormRecognizerError; -import com.azure.core.annotation.Immutable; - -import java.util.Collections; -import java.util.List; - -/** - * The TrainingDocumentInfo model. - */ -@Immutable -public final class TrainingDocumentInfo { - - /* - * Training document name. - */ - private final String name; - - /* - * Status of the training operation. - */ - private final TrainingStatus status; - - /* - * Total number of pages trained. - */ - private final int pageCount; - - /* - * List of errors. - */ - private final List errors; - - private String modelId; - - static { - TrainingDocumentInfoHelper.setAccessor(new TrainingDocumentInfoHelper.TrainingDocumentInfoAccessor() { - @Override - public void setModelId(TrainingDocumentInfo documentInfo, String modelId) { - documentInfo.setModelId(modelId); - } - }); - } - - /** - * Constructs a TrainingDocumentInfo object. - * - * @param name the training document name. - * @param status the status of the training operation for that document. - * @param pageCount the total number of pages trained. - * @param errors the list of errors. - */ - public TrainingDocumentInfo(final String name, final TrainingStatus status, final int pageCount, - final List errors) { - this.name = name; - this.status = status; - this.pageCount = pageCount; - this.errors = errors == null ? null : Collections.unmodifiableList(errors); - } - - /** - * Get the training document name. - * - * @return the training document name. - */ - public String getName() { - return this.name; - } - - /** - * Get the status of the training operation. - * - * @return the status of the training operation. - */ - public TrainingStatus getStatus() { - return this.status; - } - - /** - * Get the total number of pages trained. - * - * @return the total number of pages trained. - */ - public int getPageCount() { - return this.pageCount; - } - - /** - * Get the list of errors. - * - * @return the unmodifiable list of errors. - */ - public List getErrors() { - return this.errors; - } - - /** - * Get the Model identifier. - * - * @return the {@code modelId} value. - */ - public String getModelId() { - return this.modelId; - } - - /** - * The private setter to set the modelId property - * via {@link TrainingDocumentInfoHelper.TrainingDocumentInfoAccessor}. - * - * @param modelId The the unique identifier of the model. - */ - private void setModelId(String modelId) { - this.modelId = modelId; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingFileFilter.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingFileFilter.java deleted file mode 100644 index bd39939a0d4c7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingFileFilter.java +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.core.annotation.Fluent; - -/** - * The TrainingFileFilter model. - */ -@Fluent -public final class TrainingFileFilter { - - /* - * A case-sensitive prefix string to filter documents in the source path - * for training. - */ - private String prefix; - - /* - * A flag to indicate if sub folders within the set of prefix folders will - * also need to be included when searching for content to be preprocessed. - */ - private boolean includeSubfolders; - - /** - * Get the case-sensitive prefix string to filter - * documents in the source path for training. - * - * @return the case-sensitive prefix string to filter documents for training. - */ - public String getPrefix() { - return this.prefix; - } - - /** - * Set the case-sensitive prefix string to filter documents in the source path for training. - * - * @param prefix the prefix value to set. - * - * @return the TrainingFileFilter object itself. - */ - public TrainingFileFilter setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Get the flag to indicate if sub folders within the set of prefix folders will also need to be included when - * searching for content to be preprocessed. - * Not supported if training with labels. - * - * @return the includeSubfolders value. - */ - public Boolean isSubfoldersIncluded() { - return this.includeSubfolders; - } - - /** - * Set the includeSubfolders flag to indicate if sub folders are also to be included when - * searching for content to be preprocessed. - * Not supported if training with labels. - * - * @param includeSubfolders the includeSubfolders value to set. - * - * @return the TrainingFileFilter object itself. - */ - public TrainingFileFilter setSubfoldersIncluded(boolean includeSubfolders) { - this.includeSubfolders = includeSubfolders; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingOptions.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingOptions.java deleted file mode 100644 index ec18e75b15cd9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingOptions.java +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer.training.models; - -import com.azure.core.annotation.Fluent; - -import java.time.Duration; - -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; - -/** - * Options that may be passed when using training APIs on Form Training client. - */ -@Fluent -public final class TrainingOptions { - private Duration pollInterval = DEFAULT_POLL_INTERVAL; - private TrainingFileFilter trainingFileFilter; - private String modelName; - - /** - * Get the filter to apply to the documents in the source path for training. - * - * @return the filter to apply to the documents in the source path for training. - */ - public TrainingFileFilter getTrainingFileFilter() { - return trainingFileFilter; - } - - /** - * Set the filter to apply to the documents in the source path for training. - * - * @param trainingFileFilter the {@link TrainingFileFilter filter} to apply to the documents - * in the source path for training. - * - * @return the updated {@code TrainingOptions} value. - */ - public TrainingOptions setTrainingFileFilter(final TrainingFileFilter trainingFileFilter) { - this.trainingFileFilter = trainingFileFilter; - return this; - } - - /** - * Get the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @return the {@code pollInterval} value. - */ - public Duration getPollInterval() { - return pollInterval; - } - - /** - * Set the duration between each poll for the operation status. If none is specified, a default of - * 5 seconds is used. - * - * @param pollInterval the duration to specify between each poll for the operation status. - * - * @return the updated {@code TrainingOptions} value. - */ - public TrainingOptions setPollInterval(final Duration pollInterval) { - this.pollInterval = pollInterval == null ? DEFAULT_POLL_INTERVAL : pollInterval; - return this; - } - - /** - * Get the optional model name defined by the user. - * - * @return the modelName. - */ - public String getModelName() { - return modelName; - } - - /** - * Set the optional model name defined by the user. - * - * @param modelName the user defined model name to set. - * - * @return the updated {@code TrainingOptions} value. - */ - public TrainingOptions setModelName(final String modelName) { - this.modelName = modelName; - return this; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingStatus.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingStatus.java deleted file mode 100644 index cee5cc6b3c075..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/TrainingStatus.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.ai.formrecognizer.training.models; - -/** - * Defines values for TrainingStatus. - */ -public enum TrainingStatus { - /** - * Enum value succeeded. - */ - SUCCEEDED("succeeded"), - - /** - * Enum value partiallySucceeded. - */ - PARTIALLY_SUCCEEDED("partiallySucceeded"), - - /** - * Enum value failed. - */ - FAILED("failed"); - - /** - * The actual serialized value for a TrainingStatus instance. - */ - private final String value; - - TrainingStatus(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a TrainingStatus instance. - * - * @param value the serialized value to parse. - * - * @return the parsed TrainingStatus object, or null if unable to parse. - */ - public static TrainingStatus fromString(String value) { - TrainingStatus[] items = TrainingStatus.values(); - for (TrainingStatus item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - /** - * The string representation of the enum value. - * - * @return the string representation of the enum value. - */ - @Override - public String toString() { - return this.value; - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/package-info.java deleted file mode 100644 index e3de21d4c8531..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/models/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -/** - * Package containing model classes for FormTrainingClient. - */ -package com.azure.ai.formrecognizer.training.models; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/package-info.java deleted file mode 100644 index 9a515b611e3e7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/com/azure/ai/formrecognizer/training/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -/** - * Package containing form recognizer training clients for Azure Form Recognizer. - */ -package com.azure.ai.formrecognizer.training; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/module-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/module-info.java index 05795ea2e5dea..f93fa31d50b9d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/module-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/main/java/module-info.java @@ -6,11 +6,11 @@ exports com.azure.ai.formrecognizer; exports com.azure.ai.formrecognizer.models; - exports com.azure.ai.formrecognizer.training; - exports com.azure.ai.formrecognizer.training.models; + exports com.azure.ai.formrecognizer.administration; + exports com.azure.ai.formrecognizer.administration.models; opens com.azure.ai.formrecognizer.implementation to com.fasterxml.jackson.databind; - opens com.azure.ai.formrecognizer.models to com.fasterxml.jackson.databind; - opens com.azure.ai.formrecognizer.training.models to com.fasterxml.jackson.databind; opens com.azure.ai.formrecognizer.implementation.models to com.fasterxml.jackson.databind, com.azure.core; + opens com.azure.ai.formrecognizer.administration.models to com.fasterxml.jackson.databind; + opens com.azure.ai.formrecognizer.models to com.fasterxml.jackson.databind; } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/README.md index 3c84ac9e10fdb..063052ca2d878 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/README.md @@ -1,18 +1,18 @@ --- page_type: sample languages: - - java -products: - - azure - - azure-cognitive-services - - azure-form-recognizer -urlFragment: formrecognizer-java-samples +- java + products: +- azure +- azure-cognitive-services +- azure-form-recognizer + urlFragment: formrecognizer-java-samples --- # Azure Form Recognizer client library samples for Java Azure Form Recognizer samples are a set of self-contained Java programs that demonstrate interacting with Azure Form Recognizer service -using the client library. Each sample focuses on a specific scenario and can be executed independently. +using the client library. Each sample focuses on a specific scenario and can be executed independently. ## Key concepts Key concepts are explained in detail [here][SDK_README_KEY_CONCEPTS]. @@ -28,22 +28,22 @@ All of these samples need the endpoint to your Form Recognizer resource ([instru |**File Name**|**Description**| |----------------|-------------| |[Authentication][authentication_sample]|Authenticate the client| -|[RecognizeBusinessCards][recognize_business_cards] and [RecognizeBusinessCardsAsync][recognize_business_cards_async]|Recognize business cards from an input stream| -|[RecognizeBusinessCardsFromUrl][recognize_business_cards_from_url] and [RecognizeBusinessCardsFromUrlAsync][recognize_business_cards_from_url_async]|Recognize business cards from a URL| -|[RecognizeContent][recognize_content] and [RecognizeContentAsync][recognize_content_async]|Recognize form content from a file stream, such as tables, lines, words, and selection marks like radio buttons and check boxes| -|[RecognizeContentFromUrl][recognize_content_from_url] and [RecognizeContentFromUrlAsync][recognize_content_from_url_async]|Recognize form content from a URL, such as tables, lines, words, and selection marks like radio buttons and check boxes| -|[RecognizeIdentityDocuments][recognize_id_documents] and [RecognizeIdentityDocumentsAsync][recognize_id_documents_async]|Recognize data from an identity document like a passport or a US drivers license using a prebuilt model| -|[RecognizeIdentityDocumentsFromUrl][recognize_id_documents_from_url] and [RecognizeIdentityDocumentsFromUrlAsync][recognize_id_documents_from_url_async]|Recognize data from a URL of a passport or a US drivers license using a prebuilt model| -|[RecognizeInvoices][recognize_invoices] and [RecognizeInvoiceAsync][recognize_invoices_async]|Recognize invoices from an input stream| -|[RecognizeInvoicesFromUrl][recognize_invoices_from_url] and [RecognizeInvoicesFromUrlAsync][recognize_invoices_from_url_async]|Recognize invoices from a URL| -|[RecognizeReceipts][recognize_receipts] and [RecognizeReceiptsAsync][recognize_receipts_async]|Recognize data from a file of a US sales receipt using a prebuilt model| -|[RecognizeReceiptsFromUrl][recognize_receipts_from_url] and [RecognizeReceiptsFromUrlAsync][recognize_receipts_from_url_async]|Recognize data from a URL of a US sales receipt using a prebuilt model| -|[RecognizeCustomFormsFromUrl][recognize_custom_forms] and [RecognizeCustomFormsAsync][recognize_custom_forms_async]|Recognize forms with your custom model| -|[TrainLabeledModel][train_labeled_model] and [TrainLabeledModelAsync][train_labeled_model_async]|Train a custom model with labeled data| -|[TrainUnlabeledModel][train_unlabeled_model] and [TrainUnlabeledModelAsync][train_unlabeled_model_async]|Train a custom model with unlabeled data| +|[AnalyzeBusinessCards][analyze_business_cards] and [AnalyzeBusinessCardsAsync][analyze_business_cards_async]|Analyze business cards from an input stream| +|[AnalyzeBusinessCardsFromUrl][analyze_business_cards_from_url] and [AnalyzeBusinessCardsFromUrlAsync][analyze_business_cards_from_url_async]|Analyze business cards from a URL| +|[AnalyzeLayout][analyze_layout] and [AnalyzeLayoutAsync][analyze_layout_async]|Analyze document layout, such as tables, lines, words, and selection marks like radio buttons and check boxes from a file stream| +|[AnalyzeLayoutFromUrl][analyze_layout_from_url] and [AnalyzeLayoutFromUrlAsync][analyze_layout_from_url_async]|Extract document layout such as tables, lines, words, and selection marks like radio buttons and check boxes from a URL| +|[AnalyzeIdentityDocuments][analyze_id_documents] and [AnalyzeIdentityDocumentsAsync][analyze_id_documents_async]|Analyze data from an identity document like a passport or a US drivers license using a prebuilt model| +|[AnalyzeIdentityDocumentsFromUrl][analyze_id_documents_from_url] and [AnalyzeIdentityDocumentsFromUrlAsync][analyze_id_documents_from_url_async]|Analyze data from a URL of a passport or a US drivers license using a prebuilt model| +|[AnalyzeInvoices][analyze_invoices] and [AnalyzeInvoiceAsync][analyze_invoices_async]|Analyze invoices from an input stream| +|[AnalyzeInvoicesFromUrl][analyze_invoices_from_url] and [AnalyzeInvoicesFromUrlAsync][analyze_invoices_from_url_async]|Analyze invoices from a URL| +|[AnalyzeReceipts][analyze_receipts] and [AnalyzeReceiptsAsync][analyze_receipts_async]|Analyze data from a file of a US sales receipt using a prebuilt model| +|[AnalyzeReceiptsFromUrl][analyze_receipts_from_url] and [AnalyzeReceiptsFromUrlAsync][analyze_receipts_from_url_async]|Analyze data from a URL of a US sales receipt using a prebuilt model| +|[AnalyzeCustomDocumentFromUrl][analyze_custom_documents] and [AnalyzeCustomDocumentAsync][analyze_custom_documents_async]|Analyze forms with your custom model| +|[BuildModel][build_model] and [BuildModelAsync][build_model_async]|Build a custom document analysis model| |[ManageCustomModels][manage_custom_models] and [ManageCustomModelsAsync][manage_custom_models_async]|Manage the custom models in your account| |[CopyModel][copy_model] and [CopyModelAsync][copy_model_async]|Copy custom model from one Form Recognizer resource to another| -|[CreateComposedModel][create_composed_model] and [CreateComposedModelAsync][create_composed_model_async]|Creates a composed model from a collection of existing trained models with labels| +|[CreateComposedModel][create_composed_model] and [CreateComposedModelAsync][create_composed_model_async]|Creates a composed model from a collection of existing built models with labels| +|[GetOperation][get_operation] and [GetOperationAsync][get_operation_async]| Get/list all document model associated with the Form Recognizer resource| ## Troubleshooting Troubleshooting steps can be found [here][SDK_README_TROUBLESHOOTING]. @@ -51,13 +51,6 @@ Troubleshooting steps can be found [here][SDK_README_TROUBLESHOOTING]. ## Next steps Check out the [API reference documentation][java_fr_ref_docs] to learn more about what you can do with the Azure Form Recognizer client library. -Following section provides code samples for some advanced scenarios in Form Recognizer Client library: - -|**Advanced Sample File Name**|**Description**| -|----------------|-------------| -|[StronglyTypedRecognizedForm][strongly_typed_sample]|Use the fields in your recognized forms to create a receipt object with strongly-typed US receipt fields| -|[GetBoundingBoxes][get_bounding_boxes] and [GetBoundingBoxesAsync][get_bounding_boxes_async]|Get info to visualize the outlines of form content and fields, which can be used for manual validation| -|[AdvancedDiffCustomFormsLabeledUnlabeledData][differentiate_custom_forms_with_labeled_and_unlabeled_models] and [AdvancedDiffCustomFormsLabeledUnlabeledDataAsync][differentiate_custom_forms_with_labeled_and_unlabeled_models_async]|See the differences in output when using a custom model trained with labeled data and one trained with unlabeled data| ## Contributing If you would like to become an active contributor to this project please refer to our [Contribution @@ -71,46 +64,41 @@ Guidelines][SDK_README_CONTRIBUTING] for more information. [SDK_README_DEPENDENCY]: ../../README.md#include-the-package [SDK_README_NEXT_STEPS]: ../../README.md#next-steps [java_fr_ref_docs]: https://aka.ms/azsdk-java-formrecognizer-ref-docs - -[create_composed_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java -[create_composed_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java -[authentication_sample]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java -[differentiate_custom_forms_with_labeled_and_unlabeled_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java -[differentiate_custom_forms_with_labeled_and_unlabeled_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledDataAsync.java -[get_bounding_boxes]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxes.java -[get_bounding_boxes_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxesAsync.java [get-endpoint-instructions]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/formrecognizer/azure-ai-formrecognizer#create-a-form-recognizer-resource [get-key-instructions]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/formrecognizer/azure-ai-formrecognizer#create-a-form-recognizer-client-using-azurekeycredential -[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java -[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java -[recognize_business_cards]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCard.java -[recognize_business_cards_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardAsync.java -[recognize_business_cards_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrl.java -[recognize_business_cards_from_url_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrlAsync.java -[recognize_content]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java -[recognize_content_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentAsync.java -[recognize_content_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrl.java -[recognize_content_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java -[recognize_custom_forms]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java -[recognize_custom_forms_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java -[recognize_id_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocuments.java -[recognize_id_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsAsync.java -[recognize_id_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrl.java -[recognize_id_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrlAsync.java -[recognize_invoices]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoices.java -[recognize_invoices_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesAsync.java -[recognize_invoices_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrl.java -[recognize_invoices_from_url_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrlAsync.java -[recognize_receipts]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceipts.java -[recognize_receipts_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsAsync.java -[recognize_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrl.java -[recognize_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrlAsync.java -[train_unlabeled_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java -[train_unlabeled_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java -[train_labeled_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java -[train_labeled_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java -[copy_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java -[copy_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModelAsync.java -[strongly_typed_sample]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java + +[create_composed_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java +[create_composed_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java +[authentication_sample]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java +[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java +[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java +[analyze_business_cards]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCard.java +[analyze_business_cards_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardAsync.java +[analyze_business_cards_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrl.java +[analyze_business_cards_from_url_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrlAsync.java +[analyze_layout]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java +[analyze_layout_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutAsync.java +[analyze_layout_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrl.java +[analyze_layout_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java +[analyze_custom_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java +[analyze_custom_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java +[analyze_id_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocuments.java +[analyze_id_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsAsync.java +[analyze_id_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrl.java +[analyze_id_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrlAsync.java +[analyze_invoices]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoices.java +[analyze_invoices_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesAsync.java +[analyze_invoices_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrl.java +[analyze_invoices_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrlAsync.java +[analyze_receipts]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceipts.java +[analyze_receipts_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsAsync.java +[analyze_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrl.java +[analyze_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrlAsync.java +[build_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java +[build_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java +[copy_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java +[copy_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModelAsync.java +[get_operation]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java +[get_operation_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fformrecognizer%2Fazure-ai-formrecognizer%2FREADME.png) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java deleted file mode 100644 index c2165024859f8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledData.java +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.time.Duration; -import java.util.List; - -/** - * Sample to show the differences in output that arise when RecognizeCustomForms - * is called with custom models trained with labeled and unlabeled data. - * For this sample, you can use the training forms found in https://aka.ms/azsdk/formrecognizer/docs/trainingdocs for - * creating your custom models. - * The models used in this sample can be created using TrainModelsWithLabels.java and TrainModelsWithoutLabels.java. - *

- * See - * here - * for service documentation on training with and without labels. - *

- */ -public class AdvancedDiffLabeledUnlabeledData { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - File analyzeFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" - + "java/sample-forms/forms/Form_1.jpg"); - - List formsWithLabeledModel = - client.beginRecognizeCustomForms( - "{labeled_model_Id}", new FileInputStream(analyzeFile), analyzeFile.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true) - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult(); - - List formsWithUnlabeledModel = - client.beginRecognizeCustomForms("{unlabeled_model_Id}", new FileInputStream(analyzeFile), - analyzeFile.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true) - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult(); - - System.out.println("--------Recognizing forms with labeled custom model--------"); - - // With a form recognized by a model trained with labels, the `formField.getName()` key will be its label given - // during training - // `value` will contain the typed field value and `valueText` will contain information about the field value - // `labelText` is not populated for a model trained with labels as this was the given label used to extract - // the key - formsWithLabeledModel.forEach(labeledForm -> labeledForm.getFields().forEach((label, formField) -> { - System.out.printf("Field %s has value data text %s based on %s within bounding box %s with a confidence " - + "score of %.2f.%n", - label, formField.getValueData().getText(), formField.getValueData().getText(), - formField.getValueData().getBoundingBox().toString(), formField.getConfidence()); - - // Find the value of a specific labeled field. - System.out.println("Value for a specific labeled field using the training-time label:"); - labeledForm.getFields().entrySet() - .stream() - .filter(formFieldEntry -> "MerchantName".equals(formFieldEntry.getKey())) // filter by form field key - .findAny() - .ifPresent(formFieldEntry -> - System.out.printf("The Merchant name is: %s%n", formFieldEntry.getValue() - .getValue().asString())); - // @since 9 - // .ifPresentOrElse( - // formFieldEntry -> System.out.printf("The Merchant name is: %s%n", formFieldEntry.getValue()), - // () -> System.out.println("'Merchant' training-time label does not exist. Substitute it with " - // + "your own training-time label.")); - })); - - System.out.println("-----------------------------------------------------------"); - - System.out.println("-------Recognizing forms with unlabeled custom model-------"); - // With a form recognized by a model trained without labels, the `name` key will be denoted by numeric indices - // Non-unique form field label names will be found in the `labelText.getText()` - // `value` will contain the typed field value and `valueText` will contain information about the field value - formsWithUnlabeledModel.forEach(unLabeledForm -> unLabeledForm.getFields().forEach((label, formField) -> { - final StringBuilder boundingBoxStr = new StringBuilder(); - if (formField.getValueData().getBoundingBox() != null) { - formField.getValueData().getBoundingBox().getPoints().stream().map(point -> - String.format("[%.2f, %.2f]", point.getX(), point.getY())).forEach(boundingBoxStr::append); - } - - if (formField.getLabelData() != null && formField.getLabelData().getBoundingBox() != null) { - formField.getLabelData().getBoundingBox().getPoints().stream().map(point -> - String.format("[%.2f, %.2f]", point.getX(), point.getY())).forEach(boundingBoxStr::append); - - System.out.printf("Field %s has label %s within bounding box %s with a confidence score " - + "of %.2f.%n", - label, formField.getLabelData().getText(), "", formField.getConfidence()); - } - System.out.printf("Field %s has value data text %s based on %s within bounding box %s with a confidence " - + "score of %.2f.%n", - label, formField.getValueData().getText(), formField.getValueData().getText(), boundingBoxStr, - formField.getConfidence()); - - // Find the value of a specific unlabeled field. The specific key "Vendor Name:" provided in the example - // will only be found if sample training forms used - unLabeledForm.getFields().entrySet() - .stream() - .filter(formFieldEntry -> "Vendor Name:".equals(formFieldEntry.getValue().getLabelData().getText())) - //filter by label text - .findAny() - .ifPresent(formFieldEntry -> System.out.printf("The Vendor name is: %s%n", formFieldEntry.getValue() - .getValue().asString())); - // @since 9 - // .ifPresentOrElse( - // formFieldEntry -> System.out.printf("The Vendor name is: %s%n", formFieldEntry.getValue()), - // () -> System.out.println("'Vendor Name:' label text does not exist")); - })); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledDataAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledDataAsync.java deleted file mode 100644 index 3308fb842146b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AdvancedDiffLabeledUnlabeledDataAsync.java +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.time.Duration; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * Async sample to show the differences in output that arise when RecognizeCustomForms - * is called with custom models trained with labeled and unlabeled data. - * For this sample, you can use the training forms found in https://aka.ms/azsdk/formrecognizer/docs/trainingdocs for - * creating your custom models. - * The models used in this sample can be created using TrainModelsWithLabels.java and TrainModelsWithoutLabels.java. - *

- * See - * here - * for service documentation on training with and without labels. - *

- */ -public class AdvancedDiffLabeledUnlabeledDataAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - File analyzeFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/java/" - + "sample-forms/forms/Form_1.jpg"); - byte[] fileContent = Files.readAllBytes(analyzeFile.toPath()); - - PollerFlux> labeledCustomFormPoller = - client.beginRecognizeCustomForms("{labeled_model_Id}", - toFluxByteBuffer(new ByteArrayInputStream(fileContent)), - analyzeFile.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true) - .setPollInterval(Duration.ofSeconds(5))); - - PollerFlux> unlabeledCustomFormPoller = - client.beginRecognizeCustomForms("{unlabeled_model_Id}", - toFluxByteBuffer(new ByteArrayInputStream(fileContent)), - analyzeFile.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true) - .setPollInterval(Duration.ofSeconds(5))); - - Mono> labeledDataResult = labeledCustomFormPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - Mono> unlabeledDataResult = unlabeledCustomFormPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - System.out.println("--------Recognizing forms with labeled custom model--------"); - // With a form recognized by a model trained with labels, the `formField.getName()` key will be its label - // given during training - // `value` will contain the typed field value and `valueText` will contain information about the field value - // `labelText` is not populated for a model trained with labels as this was the given label used to extract - // the key - labeledDataResult.subscribe(formsWithLabeledModel -> formsWithLabeledModel.forEach(labeledForm -> - labeledForm.getFields().forEach((label, formField) -> { - System.out.printf("Field %s has value data text %s based on %s within bounding box %s with " - + "a confidence score of %.2f.%n", - label, formField.getValueData().getText(), formField.getValueData().getText(), - formField.getValueData().getBoundingBox().toString(), formField.getConfidence()); - - // Find the value of a specific labeled field. - System.out.println("Value for a specific labeled field using the training-time label:"); - labeledForm.getFields().entrySet() - .stream() - .filter(formFieldEntry -> "Merchant".equals(formFieldEntry.getKey())) // filter by form field key - .findAny() - .ifPresent(formFieldEntry -> - System.out.printf("The Merchant name is: %s%n", formFieldEntry.getValue() - .getValue().asString())); - // @since 9 - // .ifPresentOrElse( - // formFieldEntry -> System.out.printf("The Merchant name is: %s%n", formFieldEntry.getValue()), - // () -> System.out.println("'Merchant' training-time label does not exist. Substitute it with " - // + "your own training-time label.")); - }))); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.SECONDS.sleep(30); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - System.out.println("-----------------------------------------------------------"); - - System.out.println("-------Recognizing forms with unlabeled custom model-------"); - unlabeledDataResult.subscribe(recognizedForms -> recognizedForms.forEach(unLabeledForm -> - unLabeledForm.getFields().forEach((label, formField) -> { - final StringBuilder boundingBoxStr = new StringBuilder(); - if (formField.getValueData().getBoundingBox() != null) { - formField.getValueData().getBoundingBox().getPoints().stream().map(point -> - String.format("[%.2f, %.2f]", point.getX(), point.getY())).forEach(boundingBoxStr::append); - } - - if (formField.getLabelData() != null && formField.getLabelData().getBoundingBox() != null) { - formField.getLabelData().getBoundingBox().getPoints().stream().map(point -> - String.format("[%.2f, %.2f]", point.getX(), point.getY())).forEach(boundingBoxStr::append); - - System.out.printf("Field %s has label %s within bounding box %s with a confidence score " - + "of %.2f.%n", - label, formField.getLabelData().getText(), "", formField.getConfidence()); - } - - System.out.printf("Field %s has value data text %s based on %s within bounding box %s with " - + "a confidence score of %.2f.%n", - label, formField.getValueData().getText(), formField.getValueData().getText(), boundingBoxStr, - formField.getConfidence()); - - // Find the value of a specific unlabeled field. The specific key "Vendor Name:" provided in the - // example will only be found if sample training forms used - unLabeledForm.getFields().entrySet() - .stream() - //filter by label text - .filter(formFieldEntry -> "Vendor Name:".equals(formFieldEntry.getValue().getLabelData().getText())) - .findAny() - .ifPresent(formFieldEntry -> - System.out.printf("The Vendor name is: %s%n", formFieldEntry.getValue() - .getValue().asString())); - // @since 9 - // .ifPresentOrElse( - // formFieldEntry -> System.out.printf("The Vendor name is: %s%n", formFieldEntry.getValue()), - // () -> System.out.println("'Vendor Name:' label text does not exist")); - }))); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.SECONDS.sleep(30); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCard.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCard.java similarity index 50% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCard.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCard.java index db8b2db90d413..9d1543627b0bf 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCard.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCard.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -19,59 +20,58 @@ import java.util.Map; /** - * Sample for recognizing business card information from a document given through a file. + * Sample for analyzing business card information from a document given through a file. */ -public class RecognizeBusinessCard { +public class AnalyzeBusinessCard { /** * Main method to invoke this demo. * * @param args Unused. Arguments to the program. - * * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources" + "/sample-forms/businessCards/businessCard.jpg"); byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); - SyncPoller> recognizeBusinessCardPoller = - client.beginRecognizeBusinessCards(targetStream, sourceFile.length()); + SyncPoller analyzeBusinessCardPoller = + client.beginAnalyzeDocument("prebuilt-businessCard", targetStream, sourceFile.length()); - List businessCardPageResults = recognizeBusinessCardPoller.getFinalResult(); + AnalyzeResult businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); - for (int i = 0; i < businessCardPageResults.size(); i++) { - RecognizedForm recognizedForm = businessCardPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized business card info for page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); + for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); + Map businessCardFields = analyzedBusinessCard.getFields(); + System.out.printf("--------Analyzing business card %d%n--------", i); + DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); + if (contactNamesDocumentField != null) { + if (DocumentFieldType.LIST == contactNamesDocumentField.getType()) { + List contactNamesList = contactNamesDocumentField.getValueList(); contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) + .filter(contactName -> DocumentFieldType.MAP == contactName.getType()) .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); + System.out.printf("Contact name: %s%n", contactName.getContent()); + return contactName.getValueMap(); }) .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String firstName = contactName.getValueString(); System.out.printf("\tFirst Name: %s, confidence: %.2f%n", firstName, contactName.getConfidence()); } } if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String lastName = contactName.getValueString(); System.out.printf("\tLast Name: %s, confidence: %.2f%n", lastName, contactName.getConfidence()); } @@ -80,13 +80,13 @@ public static void main(final String[] args) throws IOException { } } - FormField jobTitles = recognizedFields.get("JobTitles"); + DocumentField jobTitles = businessCardFields.get("JobTitles"); if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); + if (DocumentFieldType.LIST == jobTitles.getType()) { + List jobTitlesItems = jobTitles.getValueList(); jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); + if (DocumentFieldType.STRING == jobTitlesItem.getType()) { + String jobTitle = jobTitlesItem.getValueString(); System.out.printf("Job Title: %s, confidence: %.2f%n", jobTitle, jobTitlesItem.getConfidence()); } @@ -94,13 +94,13 @@ public static void main(final String[] args) throws IOException { } } - FormField departments = recognizedFields.get("Departments"); + DocumentField departments = businessCardFields.get("Departments"); if (departments != null) { - if (FieldValueType.LIST == departments.getValue().getValueType()) { - List departmentsItems = departments.getValue().asList(); + if (DocumentFieldType.LIST == departments.getType()) { + List departmentsItems = departments.getValueList(); departmentsItems.forEach(departmentsItem -> { - if (FieldValueType.STRING == departmentsItem.getValue().getValueType()) { - String department = departmentsItem.getValue().asString(); + if (DocumentFieldType.STRING == departmentsItem.getType()) { + String department = departmentsItem.getValueString(); System.out.printf("Department: %s, confidence: %.2f%n", department, departmentsItem.getConfidence()); } @@ -108,26 +108,26 @@ public static void main(final String[] args) throws IOException { } } - FormField emails = recognizedFields.get("Emails"); + DocumentField emails = businessCardFields.get("Emails"); if (emails != null) { - if (FieldValueType.LIST == emails.getValue().getValueType()) { - List emailsItems = emails.getValue().asList(); + if (DocumentFieldType.LIST == emails.getType()) { + List emailsItems = emails.getValueList(); emailsItems.forEach(emailsItem -> { - if (FieldValueType.STRING == emailsItem.getValue().getValueType()) { - String email = emailsItem.getValue().asString(); + if (DocumentFieldType.STRING == emailsItem.getType()) { + String email = emailsItem.getValueString(); System.out.printf("Email: %s, confidence: %.2f%n", email, emailsItem.getConfidence()); } }); } } - FormField websites = recognizedFields.get("Websites"); + DocumentField websites = businessCardFields.get("Websites"); if (websites != null) { - if (FieldValueType.LIST == websites.getValue().getValueType()) { - List websitesItems = websites.getValue().asList(); + if (DocumentFieldType.LIST == websites.getType()) { + List websitesItems = websites.getValueList(); websitesItems.forEach(websitesItem -> { - if (FieldValueType.STRING == websitesItem.getValue().getValueType()) { - String website = websitesItem.getValue().asString(); + if (DocumentFieldType.STRING == websitesItem.getType()) { + String website = websitesItem.getValueString(); System.out.printf("Web site: %s, confidence: %.2f%n", website, websitesItem.getConfidence()); } @@ -135,13 +135,13 @@ public static void main(final String[] args) throws IOException { } } - FormField mobilePhones = recognizedFields.get("MobilePhones"); + DocumentField mobilePhones = businessCardFields.get("MobilePhones"); if (mobilePhones != null) { - if (FieldValueType.LIST == mobilePhones.getValue().getValueType()) { - List mobilePhonesItems = mobilePhones.getValue().asList(); + if (DocumentFieldType.LIST == mobilePhones.getType()) { + List mobilePhonesItems = mobilePhones.getValueList(); mobilePhonesItems.forEach(mobilePhonesItem -> { - if (FieldValueType.PHONE_NUMBER == mobilePhonesItem.getValue().getValueType()) { - String mobilePhoneNumber = mobilePhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == mobilePhonesItem.getType()) { + String mobilePhoneNumber = mobilePhonesItem.getValuePhoneNumber(); System.out.printf("Mobile phone number: %s, confidence: %.2f%n", mobilePhoneNumber, mobilePhonesItem.getConfidence()); } @@ -149,13 +149,13 @@ public static void main(final String[] args) throws IOException { } } - FormField otherPhones = recognizedFields.get("OtherPhones"); + DocumentField otherPhones = businessCardFields.get("OtherPhones"); if (otherPhones != null) { - if (FieldValueType.LIST == otherPhones.getValue().getValueType()) { - List otherPhonesItems = otherPhones.getValue().asList(); + if (DocumentFieldType.LIST == otherPhones.getType()) { + List otherPhonesItems = otherPhones.getValueList(); otherPhonesItems.forEach(otherPhonesItem -> { - if (FieldValueType.PHONE_NUMBER == otherPhonesItem.getValue().getValueType()) { - String otherPhoneNumber = otherPhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == otherPhonesItem.getType()) { + String otherPhoneNumber = otherPhonesItem.getValuePhoneNumber(); System.out.printf("Other phone number: %s, confidence: %.2f%n", otherPhoneNumber, otherPhonesItem.getConfidence()); } @@ -163,13 +163,13 @@ public static void main(final String[] args) throws IOException { } } - FormField faxes = recognizedFields.get("Faxes"); + DocumentField faxes = businessCardFields.get("Faxes"); if (faxes != null) { - if (FieldValueType.LIST == faxes.getValue().getValueType()) { - List faxesItems = faxes.getValue().asList(); + if (DocumentFieldType.LIST == faxes.getType()) { + List faxesItems = faxes.getValueList(); faxesItems.forEach(faxesItem -> { - if (FieldValueType.PHONE_NUMBER == faxesItem.getValue().getValueType()) { - String faxPhoneNumber = faxesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == faxesItem.getType()) { + String faxPhoneNumber = faxesItem.getValuePhoneNumber(); System.out.printf("Fax phone number: %s, confidence: %.2f%n", faxPhoneNumber, faxesItem.getConfidence()); } @@ -177,27 +177,29 @@ public static void main(final String[] args) throws IOException { } } - FormField addresses = recognizedFields.get("Addresses"); + DocumentField addresses = businessCardFields.get("Addresses"); if (addresses != null) { - if (FieldValueType.LIST == addresses.getValue().getValueType()) { - List addressesItems = addresses.getValue().asList(); + if (DocumentFieldType.LIST == addresses.getType()) { + List addressesItems = addresses.getValueList(); addressesItems.forEach(addressesItem -> { - if (FieldValueType.STRING == addressesItem.getValue().getValueType()) { - String address = addressesItem.getValue().asString(); - System.out.printf("Address: %s, confidence: %.2f%n", address, addressesItem.getConfidence()); + if (DocumentFieldType.STRING == addressesItem.getType()) { + String address = addressesItem.getValueString(); + System.out.printf("Address: %s, confidence: %.2f%n", address, + addressesItem.getConfidence()); } }); } } - FormField companyName = recognizedFields.get("CompanyNames"); + DocumentField companyName = businessCardFields.get("CompanyNames"); if (companyName != null) { - if (FieldValueType.LIST == companyName.getValue().getValueType()) { - List companyNameItems = companyName.getValue().asList(); + if (DocumentFieldType.LIST == companyName.getType()) { + List companyNameItems = companyName.getValueList(); companyNameItems.forEach(companyNameItem -> { - if (FieldValueType.STRING == companyNameItem.getValue().getValueType()) { - String companyNameValue = companyNameItem.getValue().asString(); - System.out.printf("Company name: %s, confidence: %.2f%n", companyNameValue, companyNameItem.getConfidence()); + if (DocumentFieldType.STRING == companyNameItem.getType()) { + String companyNameValue = companyNameItem.getValueString(); + System.out.printf("Company name: %s, confidence: %.2f%n", companyNameValue, + companyNameItem.getConfidence()); } }); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardAsync.java similarity index 52% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardAsync.java index 8427e7b64b2a7..a362536f4980c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardAsync.java @@ -3,10 +3,13 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.LongRunningOperationStatus; import com.azure.core.util.polling.PollerFlux; @@ -17,16 +20,15 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - /** - * Asynchronous sample for recognizing business card information from a document given through a file. + * Asynchronous sample for analyzing business card information from a document given through a file. */ -public class RecognizeBusinessCardAsync { +public class AnalyzeBusinessCardAsync { /** * Main method to invoke this demo. @@ -36,59 +38,61 @@ public class RecognizeBusinessCardAsync { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); - File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + File businessCard = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + "sample-forms/businessCards/businessCard.jpg"); - byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); + byte[] fileContent = Files.readAllBytes(businessCard.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); - PollerFlux> recognizeBusinessCardPoller = - client.beginRecognizeBusinessCards(toFluxByteBuffer(targetStream), sourceFile.length()); - - Mono> businessCardPageResultsMono = - recognizeBusinessCardPoller - .last() - .flatMap(pollResponse -> { - if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { - System.out.println("Polling completed successfully"); - return pollResponse.getFinalResult(); - } else { - return Mono.error( - new RuntimeException( - "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); - } - }); + PollerFlux analyzeBusinessCardPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", + Utility.toFluxByteBuffer(targetStream), + businessCard.length(), new AnalyzeDocumentOptions().setPages(Arrays.asList("1")).setLocale("en-US")); + + Mono businessCardPageResultsMono + = analyzeBusinessCardPoller + .last() + .flatMap(pollResponse -> { + if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); businessCardPageResultsMono.subscribe(businessCardPageResults -> { - for (int i = 0; i < businessCardPageResults.size(); i++) { - RecognizedForm recognizedForm = businessCardPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized business card info for page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); + for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { + System.out.printf("--------Analyzing business card %d%n--------", i); + AnalyzedDocument analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); + + Map businessCardFields = analyzedBusinessCard.getFields(); + DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); + if (contactNamesDocumentField != null) { + if (DocumentFieldType.LIST == contactNamesDocumentField.getType()) { + List contactNamesList = contactNamesDocumentField.getValueList(); contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) + .filter(contactName -> DocumentFieldType.MAP == contactName.getType()) .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); + System.out.printf("Contact name: %s%n", contactName.getContent()); + return contactName.getValueMap(); }) .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String firstName = contactName.getValueString(); System.out.printf("\tFirst Name: %s, confidence: %.2f%n", firstName, contactName.getConfidence()); } } if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String lastName = contactName.getValueString(); System.out.printf("\tLast Name: %s, confidence: %.2f%n", lastName, contactName.getConfidence()); } @@ -97,13 +101,13 @@ public static void main(final String[] args) throws IOException { } } - FormField jobTitles = recognizedFields.get("JobTitles"); + DocumentField jobTitles = businessCardFields.get("JobTitles"); if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); + if (DocumentFieldType.LIST == jobTitles.getType()) { + List jobTitlesItems = jobTitles.getValueList(); jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); + if (DocumentFieldType.STRING == jobTitlesItem.getType()) { + String jobTitle = jobTitlesItem.getValueString(); System.out.printf("Job Title: %s, confidence: %.2f%n", jobTitle, jobTitlesItem.getConfidence()); } @@ -111,13 +115,13 @@ public static void main(final String[] args) throws IOException { } } - FormField departments = recognizedFields.get("Departments"); + DocumentField departments = businessCardFields.get("Departments"); if (departments != null) { - if (FieldValueType.LIST == departments.getValue().getValueType()) { - List departmentsItems = departments.getValue().asList(); + if (DocumentFieldType.LIST == departments.getType()) { + List departmentsItems = departments.getValueList(); departmentsItems.forEach(departmentsItem -> { - if (FieldValueType.STRING == departmentsItem.getValue().getValueType()) { - String department = departmentsItem.getValue().asString(); + if (DocumentFieldType.STRING == departmentsItem.getType()) { + String department = departmentsItem.getValueString(); System.out.printf("Department: %s, confidence: %.2f%n", department, departmentsItem.getConfidence()); } @@ -125,26 +129,26 @@ public static void main(final String[] args) throws IOException { } } - FormField emails = recognizedFields.get("Emails"); + DocumentField emails = businessCardFields.get("Emails"); if (emails != null) { - if (FieldValueType.LIST == emails.getValue().getValueType()) { - List emailsItems = emails.getValue().asList(); + if (DocumentFieldType.LIST == emails.getType()) { + List emailsItems = emails.getValueList(); emailsItems.forEach(emailsItem -> { - if (FieldValueType.STRING == emailsItem.getValue().getValueType()) { - String email = emailsItem.getValue().asString(); + if (DocumentFieldType.STRING == emailsItem.getType()) { + String email = emailsItem.getValueString(); System.out.printf("Email: %s, confidence: %.2f%n", email, emailsItem.getConfidence()); } }); } } - FormField websites = recognizedFields.get("Websites"); + DocumentField websites = businessCardFields.get("Websites"); if (websites != null) { - if (FieldValueType.LIST == websites.getValue().getValueType()) { - List websitesItems = websites.getValue().asList(); + if (DocumentFieldType.LIST == websites.getType()) { + List websitesItems = websites.getValueList(); websitesItems.forEach(websitesItem -> { - if (FieldValueType.STRING == websitesItem.getValue().getValueType()) { - String website = websitesItem.getValue().asString(); + if (DocumentFieldType.STRING == websitesItem.getType()) { + String website = websitesItem.getValueString(); System.out.printf("Web site: %s, confidence: %.2f%n", website, websitesItem.getConfidence()); } @@ -152,13 +156,13 @@ public static void main(final String[] args) throws IOException { } } - FormField mobilePhones = recognizedFields.get("MobilePhones"); + DocumentField mobilePhones = businessCardFields.get("MobilePhones"); if (mobilePhones != null) { - if (FieldValueType.LIST == mobilePhones.getValue().getValueType()) { - List mobilePhonesItems = mobilePhones.getValue().asList(); + if (DocumentFieldType.LIST == mobilePhones.getType()) { + List mobilePhonesItems = mobilePhones.getValueList(); mobilePhonesItems.forEach(mobilePhonesItem -> { - if (FieldValueType.PHONE_NUMBER == mobilePhonesItem.getValue().getValueType()) { - String mobilePhoneNumber = mobilePhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == mobilePhonesItem.getType()) { + String mobilePhoneNumber = mobilePhonesItem.getValuePhoneNumber(); System.out.printf("Mobile phone number: %s, confidence: %.2f%n", mobilePhoneNumber, mobilePhonesItem.getConfidence()); } @@ -166,13 +170,13 @@ public static void main(final String[] args) throws IOException { } } - FormField otherPhones = recognizedFields.get("OtherPhones"); + DocumentField otherPhones = businessCardFields.get("OtherPhones"); if (otherPhones != null) { - if (FieldValueType.LIST == otherPhones.getValue().getValueType()) { - List otherPhonesItems = otherPhones.getValue().asList(); + if (DocumentFieldType.LIST == otherPhones.getType()) { + List otherPhonesItems = otherPhones.getValueList(); otherPhonesItems.forEach(otherPhonesItem -> { - if (FieldValueType.PHONE_NUMBER == otherPhonesItem.getValue().getValueType()) { - String otherPhoneNumber = otherPhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == otherPhonesItem.getType()) { + String otherPhoneNumber = otherPhonesItem.getValuePhoneNumber(); System.out.printf("Other phone number: %s, confidence: %.2f%n", otherPhoneNumber, otherPhonesItem.getConfidence()); } @@ -180,13 +184,13 @@ public static void main(final String[] args) throws IOException { } } - FormField faxes = recognizedFields.get("Faxes"); + DocumentField faxes = businessCardFields.get("Faxes"); if (faxes != null) { - if (FieldValueType.LIST == faxes.getValue().getValueType()) { - List faxesItems = faxes.getValue().asList(); + if (DocumentFieldType.LIST == faxes.getType()) { + List faxesItems = faxes.getValueList(); faxesItems.forEach(faxesItem -> { - if (FieldValueType.PHONE_NUMBER == faxesItem.getValue().getValueType()) { - String faxPhoneNumber = faxesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == faxesItem.getType()) { + String faxPhoneNumber = faxesItem.getValuePhoneNumber(); System.out.printf("Fax phone number: %s, confidence: %.2f%n", faxPhoneNumber, faxesItem.getConfidence()); } @@ -194,13 +198,13 @@ public static void main(final String[] args) throws IOException { } } - FormField addresses = recognizedFields.get("Addresses"); + DocumentField addresses = businessCardFields.get("Addresses"); if (addresses != null) { - if (FieldValueType.LIST == addresses.getValue().getValueType()) { - List addressesItems = addresses.getValue().asList(); + if (DocumentFieldType.LIST == addresses.getType()) { + List addressesItems = addresses.getValueList(); addressesItems.forEach(addressesItem -> { - if (FieldValueType.STRING == addressesItem.getValue().getValueType()) { - String address = addressesItem.getValue().asString(); + if (DocumentFieldType.STRING == addressesItem.getType()) { + String address = addressesItem.getValueString(); System.out .printf("Address: %s, confidence: %.2f%n", address, addressesItem.getConfidence()); } @@ -208,13 +212,13 @@ public static void main(final String[] args) throws IOException { } } - FormField companyName = recognizedFields.get("CompanyNames"); + DocumentField companyName = businessCardFields.get("CompanyNames"); if (companyName != null) { - if (FieldValueType.LIST == companyName.getValue().getValueType()) { - List companyNameItems = companyName.getValue().asList(); + if (DocumentFieldType.LIST == companyName.getType()) { + List companyNameItems = companyName.getValueList(); companyNameItems.forEach(companyNameItem -> { - if (FieldValueType.STRING == companyNameItem.getValue().getValueType()) { - String companyNameValue = companyNameItem.getValue().asString(); + if (DocumentFieldType.STRING == companyNameItem.getType()) { + String companyNameValue = companyNameItem.getValueString(); System.out.printf("Company name: %s, confidence: %.2f%n", companyNameValue, companyNameItem.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrl.java similarity index 52% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrl.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrl.java index e4696c62d7691..340fe1d347952 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrl.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrl.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -14,9 +15,9 @@ import java.util.Map; /** - * Sample for recognizing business card information from a URL. + * Sample for analyzing business card information from a URL. */ -public class RecognizeBusinessCardFromUrl { +public class AnalyzeBusinessCardFromUrl { /** * Main method to invoke this demo. * @@ -24,7 +25,7 @@ public class RecognizeBusinessCardFromUrl { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -33,36 +34,36 @@ public static void main(final String[] args) { "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/businessCards/businessCard.jpg"; - SyncPoller> recognizeBusinessCardPoller = - client.beginRecognizeBusinessCardsFromUrl(businessCardUrl); + SyncPoller analyzeBusinessCardPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", businessCardUrl); - List businessCardPageResults = recognizeBusinessCardPoller.getFinalResult(); + AnalyzeResult businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); - for (int i = 0; i < businessCardPageResults.size(); i++) { - RecognizedForm recognizedForm = businessCardPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized business card info for page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); + for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { + System.out.printf("--------Analyzing business card %d%n--------", i); + AnalyzedDocument analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); + Map businessCardFields = analyzedBusinessCard.getFields(); + DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); + if (contactNamesDocumentField != null) { + if (DocumentFieldType.LIST == contactNamesDocumentField.getType()) { + List contactNamesList = contactNamesDocumentField.getValueList(); contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) + .filter(contactName -> DocumentFieldType.MAP == contactName.getType()) .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); + System.out.printf("Contact name: %s%n", contactName.getContent()); + return contactName.getValueMap(); }) .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String firstName = contactName.getValueString(); System.out.printf("\tFirst Name: %s, confidence: %.2f%n", firstName, contactName.getConfidence()); } } if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); + if (DocumentFieldType.STRING == contactName.getType()) { + String lastName = contactName.getValueString(); System.out.printf("\tLast Name: %s, confidence: %.2f%n", lastName, contactName.getConfidence()); } @@ -71,13 +72,13 @@ public static void main(final String[] args) { } } - FormField jobTitles = recognizedFields.get("JobTitles"); + DocumentField jobTitles = businessCardFields.get("JobTitles"); if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); + if (DocumentFieldType.LIST == jobTitles.getType()) { + List jobTitlesItems = jobTitles.getValueList(); jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); + if (DocumentFieldType.STRING == jobTitlesItem.getType()) { + String jobTitle = jobTitlesItem.getValueString(); System.out.printf("Job Title: %s, confidence: %.2f%n", jobTitle, jobTitlesItem.getConfidence()); } @@ -85,13 +86,13 @@ public static void main(final String[] args) { } } - FormField departments = recognizedFields.get("Departments"); + DocumentField departments = businessCardFields.get("Departments"); if (departments != null) { - if (FieldValueType.LIST == departments.getValue().getValueType()) { - List departmentsItems = departments.getValue().asList(); + if (DocumentFieldType.LIST == departments.getType()) { + List departmentsItems = departments.getValueList(); departmentsItems.forEach(departmentsItem -> { - if (FieldValueType.STRING == departmentsItem.getValue().getValueType()) { - String department = departmentsItem.getValue().asString(); + if (DocumentFieldType.STRING == departmentsItem.getType()) { + String department = departmentsItem.getValueString(); System.out.printf("Department: %s, confidence: %.2f%n", department, departmentsItem.getConfidence()); } @@ -99,26 +100,26 @@ public static void main(final String[] args) { } } - FormField emails = recognizedFields.get("Emails"); + DocumentField emails = businessCardFields.get("Emails"); if (emails != null) { - if (FieldValueType.LIST == emails.getValue().getValueType()) { - List emailsItems = emails.getValue().asList(); + if (DocumentFieldType.LIST == emails.getType()) { + List emailsItems = emails.getValueList(); emailsItems.forEach(emailsItem -> { - if (FieldValueType.STRING == emailsItem.getValue().getValueType()) { - String email = emailsItem.getValue().asString(); + if (DocumentFieldType.STRING == emailsItem.getType()) { + String email = emailsItem.getValueString(); System.out.printf("Email: %s, confidence: %.2f%n", email, emailsItem.getConfidence()); } }); } } - FormField websites = recognizedFields.get("Websites"); + DocumentField websites = businessCardFields.get("Websites"); if (websites != null) { - if (FieldValueType.LIST == websites.getValue().getValueType()) { - List websitesItems = websites.getValue().asList(); + if (DocumentFieldType.LIST == websites.getType()) { + List websitesItems = websites.getValueList(); websitesItems.forEach(websitesItem -> { - if (FieldValueType.STRING == websitesItem.getValue().getValueType()) { - String website = websitesItem.getValue().asString(); + if (DocumentFieldType.STRING == websitesItem.getType()) { + String website = websitesItem.getValueString(); System.out.printf("Web site: %s, confidence: %.2f%n", website, websitesItem.getConfidence()); } @@ -126,13 +127,13 @@ public static void main(final String[] args) { } } - FormField mobilePhones = recognizedFields.get("MobilePhones"); + DocumentField mobilePhones = businessCardFields.get("MobilePhones"); if (mobilePhones != null) { - if (FieldValueType.LIST == mobilePhones.getValue().getValueType()) { - List mobilePhonesItems = mobilePhones.getValue().asList(); + if (DocumentFieldType.LIST == mobilePhones.getType()) { + List mobilePhonesItems = mobilePhones.getValueList(); mobilePhonesItems.forEach(mobilePhonesItem -> { - if (FieldValueType.PHONE_NUMBER == mobilePhonesItem.getValue().getValueType()) { - String mobilePhoneNumber = mobilePhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == mobilePhonesItem.getType()) { + String mobilePhoneNumber = mobilePhonesItem.getValuePhoneNumber(); System.out.printf("Mobile phone number: %s, confidence: %.2f%n", mobilePhoneNumber, mobilePhonesItem.getConfidence()); } @@ -140,13 +141,13 @@ public static void main(final String[] args) { } } - FormField otherPhones = recognizedFields.get("OtherPhones"); + DocumentField otherPhones = businessCardFields.get("OtherPhones"); if (otherPhones != null) { - if (FieldValueType.LIST == otherPhones.getValue().getValueType()) { - List otherPhonesItems = otherPhones.getValue().asList(); + if (DocumentFieldType.LIST == otherPhones.getType()) { + List otherPhonesItems = otherPhones.getValueList(); otherPhonesItems.forEach(otherPhonesItem -> { - if (FieldValueType.PHONE_NUMBER == otherPhonesItem.getValue().getValueType()) { - String otherPhoneNumber = otherPhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == otherPhonesItem.getType()) { + String otherPhoneNumber = otherPhonesItem.getValuePhoneNumber(); System.out.printf("Other phone number: %s, confidence: %.2f%n", otherPhoneNumber, otherPhonesItem.getConfidence()); } @@ -154,13 +155,13 @@ public static void main(final String[] args) { } } - FormField faxes = recognizedFields.get("Faxes"); + DocumentField faxes = businessCardFields.get("Faxes"); if (faxes != null) { - if (FieldValueType.LIST == faxes.getValue().getValueType()) { - List faxesItems = faxes.getValue().asList(); + if (DocumentFieldType.LIST == faxes.getType()) { + List faxesItems = faxes.getValueList(); faxesItems.forEach(faxesItem -> { - if (FieldValueType.PHONE_NUMBER == faxesItem.getValue().getValueType()) { - String faxPhoneNumber = faxesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == faxesItem.getType()) { + String faxPhoneNumber = faxesItem.getValuePhoneNumber(); System.out.printf("Fax phone number: %s, confidence: %.2f%n", faxPhoneNumber, faxesItem.getConfidence()); } @@ -168,13 +169,13 @@ public static void main(final String[] args) { } } - FormField addresses = recognizedFields.get("Addresses"); + DocumentField addresses = businessCardFields.get("Addresses"); if (addresses != null) { - if (FieldValueType.LIST == addresses.getValue().getValueType()) { - List addressesItems = addresses.getValue().asList(); + if (DocumentFieldType.LIST == addresses.getType()) { + List addressesItems = addresses.getValueList(); addressesItems.forEach(addressesItem -> { - if (FieldValueType.STRING == addressesItem.getValue().getValueType()) { - String address = addressesItem.getValue().asString(); + if (DocumentFieldType.STRING == addressesItem.getType()) { + String address = addressesItem.getValueString(); System.out .printf("Address: %s, confidence: %.2f%n", address, addressesItem.getConfidence()); } @@ -182,13 +183,13 @@ public static void main(final String[] args) { } } - FormField companyName = recognizedFields.get("CompanyNames"); + DocumentField companyName = businessCardFields.get("CompanyNames"); if (companyName != null) { - if (FieldValueType.LIST == companyName.getValue().getValueType()) { - List companyNameItems = companyName.getValue().asList(); + if (DocumentFieldType.LIST == companyName.getType()) { + List companyNameItems = companyName.getValueList(); companyNameItems.forEach(companyNameItem -> { - if (FieldValueType.STRING == companyNameItem.getValue().getValueType()) { - String companyNameValue = companyNameItem.getValue().asString(); + if (DocumentFieldType.STRING == companyNameItem.getType()) { + String companyNameValue = companyNameItem.getValueString(); System.out.printf("Company name: %s, confidence: %.2f%n", companyNameValue, companyNameItem.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrlAsync.java similarity index 54% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrlAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrlAsync.java index 80e0a60428df8..3c440ac144def 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeBusinessCardFromUrlAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeBusinessCardFromUrlAsync.java @@ -3,31 +3,35 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.LongRunningOperationStatus; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; +import java.io.IOException; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; /** - * Asynchronous sample for recognizing business card information from a URL. + * Asynchronous sample for analyzing business card information from a URL. */ -public class RecognizeBusinessCardFromUrlAsync { +public class AnalyzeBusinessCardFromUrlAsync { /** * Main method to invoke this demo. * * @param args Unused. Arguments to the program. */ - public static void main(final String[] args) { + public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -36,11 +40,12 @@ public static void main(final String[] args) { "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/businessCards/businessCard.jpg"; - PollerFlux> recognizeBusinessCardPoller - = client.beginRecognizeBusinessCardsFromUrl(businessCardUrl); + PollerFlux analyzeBusinessCardPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", + businessCardUrl, new AnalyzeDocumentOptions().setPages(Arrays.asList("1")).setLocale("en-US")); - Mono> businessCardPageResultsMono - = recognizeBusinessCardPoller + Mono businessCardPageResultsMono + = analyzeBusinessCardPoller .last() .flatMap(pollResponse -> { if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { @@ -53,49 +58,50 @@ public static void main(final String[] args) { }); businessCardPageResultsMono.subscribe(businessCardPageResults -> { - for (int i = 0; i < businessCardPageResults.size(); i++) { - RecognizedForm recognizedForm = businessCardPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized business card info for page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesValueFormFields = contactNamesFormField.getValue().asList(); - contactNamesValueFormFields.stream() - .filter(contactNamesValueFormField -> FieldValueType.MAP - == contactNamesValueFormField.getValue().getValueType()) - .map(contactNamesValueFormField -> { + for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { + System.out.printf("--------Analyzing business card %d%n--------", i); + AnalyzedDocument analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); + + Map businessCardFields = analyzedBusinessCard.getFields(); + DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); + if (contactNamesDocumentField != null) { + if (DocumentFieldType.LIST == contactNamesDocumentField.getType()) { + List contactNamesValueDocumentFields = contactNamesDocumentField.getValueList(); + contactNamesValueDocumentFields.stream() + .filter(contactNamesValueDocumentField -> + DocumentFieldType.MAP == contactNamesValueDocumentField.getType()) + .map(contactNamesValueDocumentField -> { System.out - .printf("Contact name: %s%n", contactNamesValueFormField.getValueData().getText()); - return contactNamesValueFormField.getValue().asMap(); + .printf("Contact name: %s%n", contactNamesValueDocumentField.getContent()); + return contactNamesValueDocumentField.getValueMap(); }) - .forEach(contactNamesFormFieldMap -> contactNamesFormFieldMap - .forEach((label, contactNameFormField) -> { + .forEach(contactNamesDocumentFieldMap -> contactNamesDocumentFieldMap + .forEach((label, contactNameDocumentField) -> { if ("FirstName".equals(label)) { - if (FieldValueType.STRING == contactNameFormField.getValue().getValueType()) { - String firstName = contactNameFormField.getValue().asString(); + if (DocumentFieldType.STRING == contactNameDocumentField.getType()) { + String firstName = contactNameDocumentField.getValueString(); System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactNameFormField.getConfidence()); + firstName, contactNameDocumentField.getConfidence()); } } if ("LastName".equals(label)) { - if (FieldValueType.STRING == contactNameFormField.getValue().getValueType()) { - String lastName = contactNameFormField.getValue().asString(); + if (DocumentFieldType.STRING == contactNameDocumentField.getType()) { + String lastName = contactNameDocumentField.getValueString(); System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactNameFormField.getConfidence()); + lastName, contactNameDocumentField.getConfidence()); } } })); } } - FormField jobTitles = recognizedFields.get("JobTitles"); + DocumentField jobTitles = businessCardFields.get("JobTitles"); if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); + if (DocumentFieldType.LIST == jobTitles.getType()) { + List jobTitlesItems = jobTitles.getValueList(); jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); + if (DocumentFieldType.STRING == jobTitlesItem.getType()) { + String jobTitle = jobTitlesItem.getValueString(); System.out.printf("Job Title: %s, confidence: %.2f%n", jobTitle, jobTitlesItem.getConfidence()); } @@ -103,13 +109,13 @@ public static void main(final String[] args) { } } - FormField departments = recognizedFields.get("Departments"); + DocumentField departments = businessCardFields.get("Departments"); if (departments != null) { - if (FieldValueType.LIST == departments.getValue().getValueType()) { - List departmentsItems = departments.getValue().asList(); + if (DocumentFieldType.LIST == departments.getType()) { + List departmentsItems = departments.getValueList(); departmentsItems.forEach(departmentsItem -> { - if (FieldValueType.STRING == departmentsItem.getValue().getValueType()) { - String department = departmentsItem.getValue().asString(); + if (DocumentFieldType.STRING == departmentsItem.getType()) { + String department = departmentsItem.getValueString(); System.out.printf("Department: %s, confidence: %.2f%n", department, departmentsItem.getConfidence()); } @@ -117,26 +123,26 @@ public static void main(final String[] args) { } } - FormField emails = recognizedFields.get("Emails"); + DocumentField emails = businessCardFields.get("Emails"); if (emails != null) { - if (FieldValueType.LIST == emails.getValue().getValueType()) { - List emailsItems = emails.getValue().asList(); + if (DocumentFieldType.LIST == emails.getType()) { + List emailsItems = emails.getValueList(); emailsItems.forEach(emailsItem -> { - if (FieldValueType.STRING == emailsItem.getValue().getValueType()) { - String email = emailsItem.getValue().asString(); + if (DocumentFieldType.STRING == emailsItem.getType()) { + String email = emailsItem.getValueString(); System.out.printf("Email: %s, confidence: %.2f%n", email, emailsItem.getConfidence()); } }); } } - FormField websites = recognizedFields.get("Websites"); + DocumentField websites = businessCardFields.get("Websites"); if (websites != null) { - if (FieldValueType.LIST == websites.getValue().getValueType()) { - List websitesItems = websites.getValue().asList(); + if (DocumentFieldType.LIST == websites.getType()) { + List websitesItems = websites.getValueList(); websitesItems.forEach(websitesItem -> { - if (FieldValueType.STRING == websitesItem.getValue().getValueType()) { - String website = websitesItem.getValue().asString(); + if (DocumentFieldType.STRING == websitesItem.getType()) { + String website = websitesItem.getValueString(); System.out.printf("Web site: %s, confidence: %.2f%n", website, websitesItem.getConfidence()); } @@ -144,13 +150,13 @@ public static void main(final String[] args) { } } - FormField mobilePhones = recognizedFields.get("MobilePhones"); + DocumentField mobilePhones = businessCardFields.get("MobilePhones"); if (mobilePhones != null) { - if (FieldValueType.LIST == mobilePhones.getValue().getValueType()) { - List mobilePhonesItems = mobilePhones.getValue().asList(); + if (DocumentFieldType.LIST == mobilePhones.getType()) { + List mobilePhonesItems = mobilePhones.getValueList(); mobilePhonesItems.forEach(mobilePhonesItem -> { - if (FieldValueType.PHONE_NUMBER == mobilePhonesItem.getValue().getValueType()) { - String mobilePhoneNumber = mobilePhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == mobilePhonesItem.getType()) { + String mobilePhoneNumber = mobilePhonesItem.getValuePhoneNumber(); System.out.printf("Mobile phone number: %s, confidence: %.2f%n", mobilePhoneNumber, mobilePhonesItem.getConfidence()); } @@ -158,13 +164,13 @@ public static void main(final String[] args) { } } - FormField otherPhones = recognizedFields.get("OtherPhones"); + DocumentField otherPhones = businessCardFields.get("OtherPhones"); if (otherPhones != null) { - if (FieldValueType.LIST == otherPhones.getValue().getValueType()) { - List otherPhonesItems = otherPhones.getValue().asList(); + if (DocumentFieldType.LIST == otherPhones.getType()) { + List otherPhonesItems = otherPhones.getValueList(); otherPhonesItems.forEach(otherPhonesItem -> { - if (FieldValueType.PHONE_NUMBER == otherPhonesItem.getValue().getValueType()) { - String otherPhoneNumber = otherPhonesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == otherPhonesItem.getType()) { + String otherPhoneNumber = otherPhonesItem.getValuePhoneNumber(); System.out.printf("Other phone number: %s, confidence: %.2f%n", otherPhoneNumber, otherPhonesItem.getConfidence()); } @@ -172,13 +178,13 @@ public static void main(final String[] args) { } } - FormField faxes = recognizedFields.get("Faxes"); + DocumentField faxes = businessCardFields.get("Faxes"); if (faxes != null) { - if (FieldValueType.LIST == faxes.getValue().getValueType()) { - List faxesItems = faxes.getValue().asList(); + if (DocumentFieldType.LIST == faxes.getType()) { + List faxesItems = faxes.getValueList(); faxesItems.forEach(faxesItem -> { - if (FieldValueType.PHONE_NUMBER == faxesItem.getValue().getValueType()) { - String faxPhoneNumber = faxesItem.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == faxesItem.getType()) { + String faxPhoneNumber = faxesItem.getValuePhoneNumber(); System.out.printf("Fax phone number: %s, confidence: %.2f%n", faxPhoneNumber, faxesItem.getConfidence()); } @@ -186,13 +192,13 @@ public static void main(final String[] args) { } } - FormField addresses = recognizedFields.get("Addresses"); + DocumentField addresses = businessCardFields.get("Addresses"); if (addresses != null) { - if (FieldValueType.LIST == addresses.getValue().getValueType()) { - List addressesItems = addresses.getValue().asList(); + if (DocumentFieldType.LIST == addresses.getType()) { + List addressesItems = addresses.getValueList(); addressesItems.forEach(addressesItem -> { - if (FieldValueType.STRING == addressesItem.getValue().getValueType()) { - String address = addressesItem.getValue().asString(); + if (DocumentFieldType.STRING == addressesItem.getType()) { + String address = addressesItem.getValueString(); System.out .printf("Address: %s, confidence: %.2f%n", address, addressesItem.getConfidence()); } @@ -200,13 +206,13 @@ public static void main(final String[] args) { } } - FormField companyName = recognizedFields.get("CompanyNames"); + DocumentField companyName = businessCardFields.get("CompanyNames"); if (companyName != null) { - if (FieldValueType.LIST == companyName.getValue().getValueType()) { - List companyNameItems = companyName.getValue().asList(); + if (DocumentFieldType.LIST == companyName.getType()) { + List companyNameItems = companyName.getValueList(); companyNameItems.forEach(companyNameItem -> { - if (FieldValueType.STRING == companyNameItem.getValue().getValueType()) { - String companyNameValue = companyNameItem.getValue().asString(); + if (DocumentFieldType.STRING == companyNameItem.getType()) { + String companyNameValue = companyNameItem.getValueString(); System.out.printf("Company name: %s, confidence: %.2f%n", companyNameValue, companyNameItem.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java new file mode 100644 index 0000000000000..38294b1b12e05 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentAsync.java @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample to analyze a custom document with a custom-built model. To learn how to build your own models, + * look at BuildModelAsync.java and BuildModel.java. + */ +public class AnalyzeCustomDocumentAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + // The document you are analyzing must be of the same type as the documents provided for building the custom document analysis model + File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + + "sample-forms/forms/Invoice_6.pdf"); + byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); + String modelId = "{modelId}"; + PollerFlux analyzeDocumentPoller; + try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { + analyzeDocumentPoller = client.beginAnalyzeDocument(modelId, + Utility.toFluxByteBuffer(targetStream), + sourceFile.length()); + } + + Mono analyzeDocumentResult = analyzeDocumentPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + analyzeDocumentResult.subscribe(analyzeResult -> { + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java new file mode 100644 index 0000000000000..0c3e83917977b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.util.List; + +/** + * Sample to analyze a custom document with a custom-built model. To learn how to build your own models, + * look at BuildModelAsync.java and BuildModel.java. + */ +public class AnalyzeCustomDocumentFromUrl { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String documentUrl = "{document-url}"; + String modelId = "{custom-built-model-ID}"; + SyncPoller analyzeDocumentPoller = + client.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocuments.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocuments.java similarity index 51% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocuments.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocuments.java index 9c375afc7d79e..7aa6284474a18 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocuments.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocuments.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -16,14 +17,13 @@ import java.io.InputStream; import java.nio.file.Files; import java.time.LocalDate; -import java.util.List; import java.util.Map; /** - * Sample for recognizing commonly found License document fields from a local file input stream. + * Sample for analyzing commonly found License document fields from a local file input stream. * See fields found on an identity document here: https://aka.ms/formrecognizer/iddocumentfields */ -public class RecognizeIdentityDocuments { +public class AnalyzeIdentityDocuments { /** * Main method to invoke this demo. @@ -34,7 +34,7 @@ public class RecognizeIdentityDocuments { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -44,82 +44,82 @@ public static void main(final String[] args) throws IOException { byte[] fileContent = Files.readAllBytes(licenseDocumentFile.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); - SyncPoller> analyzeIdentityDocumentPoller = - client.beginRecognizeIdentityDocuments(targetStream, licenseDocumentFile.length()); + SyncPoller analyzeIdentityDocumentPoller = + client.beginAnalyzeDocument("prebuilt-idDocument", targetStream, licenseDocumentFile.length()); - List identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); + AnalyzeResult identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); - for (int i = 0; i < identityDocumentResults.size(); i++) { - RecognizedForm recognizedForm = identityDocumentResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - FormField addressField = recognizedFields.get("Address"); + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); if (addressField != null) { - if (FieldValueType.STRING == addressField.getValue().getValueType()) { - String address = addressField.getValue().asString(); + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); System.out.printf("Address: %s, confidence: %.2f%n", address, addressField.getConfidence()); } } - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); + countryRegion, countryRegionDocumentField.getConfidence()); } } - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); System.out.printf("Date of Birth: %s, confidence: %.2f%n", dateOfBirth, dateOfBirthField.getConfidence()); } } - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); System.out.printf("Document date of expiration: %s, confidence: %.2f%n", expirationDate, dateOfExpirationField.getConfidence()); } } - FormField documentNumberField = recognizedFields.get("DocumentNumber"); + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); System.out.printf("Document number: %s, confidence: %.2f%n", documentNumber, documentNumberField.getConfidence()); } } - FormField firstNameField = recognizedFields.get("FirstName"); + DocumentField firstNameField = licenseFields.get("FirstName"); if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); System.out.printf("First Name: %s, confidence: %.2f%n", firstName, documentNumberField.getConfidence()); } } - FormField lastNameField = recognizedFields.get("LastName"); + DocumentField lastNameField = licenseFields.get("LastName"); if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); System.out.printf("Last name: %s, confidence: %.2f%n", lastName, lastNameField.getConfidence()); } } - FormField regionField = recognizedFields.get("Region"); + DocumentField regionField = licenseFields.get("Region"); if (regionField != null) { - if (FieldValueType.STRING == regionField.getValue().getValueType()) { - String region = regionField.getValue().asString(); + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); System.out.printf("Region: %s, confidence: %.2f%n", region, regionField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsAsync.java similarity index 58% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsAsync.java index b966ea124aa70..44823c2268f32 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsAsync.java @@ -3,10 +3,12 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; @@ -16,17 +18,14 @@ import java.io.IOException; import java.nio.file.Files; import java.time.LocalDate; -import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - /** - * Async sample for recognizing commonly found license fields from a local file input stream of an license identity + * Async sample for analyzing commonly found license fields from a local file input stream of an license identity * document. See fields found on an license here: https://aka.ms/formrecognizer/iddocumentfields */ -public class RecognizeIdentityDocumentsAsync { +public class AnalyzeIdentityDocumentsAsync { /** * Main method to invoke this demo. @@ -36,7 +35,7 @@ public class RecognizeIdentityDocumentsAsync { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -45,12 +44,12 @@ public static void main(final String[] args) throws IOException { + "sample-forms/identityDocuments/license.jpg"); byte[] fileContent = Files.readAllBytes(licenseDocumentFile.toPath()); - PollerFlux> recognizeIdentityDocumentPoller - = client.beginRecognizeIdentityDocuments( - toFluxByteBuffer(new ByteArrayInputStream(fileContent)), + PollerFlux analyzeIdentityDocumentPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", + Utility.toFluxByteBuffer(new ByteArrayInputStream(fileContent)), fileContent.length); - Mono> identityDocumentPollerResult = recognizeIdentityDocumentPoller + Mono identityDocumentPollerResult = analyzeIdentityDocumentPoller .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { @@ -62,77 +61,77 @@ public static void main(final String[] args) throws IOException { }); identityDocumentPollerResult.subscribe(idDocumentResults -> { - for (int i = 0; i < idDocumentResults.size(); i++) { - RecognizedForm recognizedForm = idDocumentResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - FormField addressField = recognizedFields.get("Address"); + for (int i = 0; i < idDocumentResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedIDDocument = idDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); if (addressField != null) { - if (FieldValueType.STRING == addressField.getValue().getValueType()) { - String address = addressField.getValue().asString(); + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); System.out.printf("Address: %s, confidence: %.2f%n", address, addressField.getConfidence()); } } - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); + countryRegion, countryRegionDocumentField.getConfidence()); } } - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); System.out.printf("Date of Birth: %s, confidence: %.2f%n", dateOfBirth, dateOfBirthField.getConfidence()); } } - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); System.out.printf("Document date of expiration: %s, confidence: %.2f%n", expirationDate, dateOfExpirationField.getConfidence()); } } - FormField documentNumberField = recognizedFields.get("DocumentNumber"); + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); System.out.printf("Document number: %s, confidence: %.2f%n", documentNumber, documentNumberField.getConfidence()); } } - FormField firstNameField = recognizedFields.get("FirstName"); + DocumentField firstNameField = licenseFields.get("FirstName"); if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); System.out.printf("First Name: %s, confidence: %.2f%n", firstName, firstNameField.getConfidence()); } } - FormField lastNameField = recognizedFields.get("LastName"); + DocumentField lastNameField = licenseFields.get("LastName"); if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); System.out.printf("Last name: %s, confidence: %.2f%n", lastName, lastNameField.getConfidence()); } } - FormField regionField = recognizedFields.get("Region"); + DocumentField regionField = licenseFields.get("Region"); if (regionField != null) { - if (FieldValueType.STRING == regionField.getValue().getValueType()) { - String region = regionField.getValue().asString(); + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); System.out.printf("Region: %s, confidence: %.2f%n", region, regionField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrl.java similarity index 50% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrl.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrl.java index cb052ca0ce17c..745a6a725f10a 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrl.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrl.java @@ -3,23 +3,23 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; import java.io.IOException; import java.time.LocalDate; -import java.util.List; import java.util.Map; /** - * Sample for recognizing commonly found ID document fields from a file source URL of an identity document. + * Sample for analyzing commonly found ID document fields from a file source URL of an identity document. * See fields found on an identity document here: https://aka.ms/formrecognizer/iddocumentfields */ -public class RecognizeIdentityDocumentsFromUrl { +public class AnalyzeIdentityDocumentsFromUrl { /** * Main method to invoke this demo. @@ -29,7 +29,7 @@ public class RecognizeIdentityDocumentsFromUrl { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -37,82 +37,82 @@ public static void main(final String[] args) throws IOException { String licenseDocumentUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" + "azure-ai-formrecognizer/src/samples/resources/sample-forms/IdentityDocuments/license.jpg"; - SyncPoller> analyzeIdentityDocumentPoller - = client.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl); + SyncPoller analyzeIdentityDocumentPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", licenseDocumentUrl); - List identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); + AnalyzeResult identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); - for (int i = 0; i < identityDocumentResults.size(); i++) { - RecognizedForm recognizedForm = identityDocumentResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - FormField addressField = recognizedFields.get("Address"); + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); if (addressField != null) { - if (FieldValueType.STRING == addressField.getValue().getValueType()) { - String address = addressField.getValue().asString(); + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); System.out.printf("Address: %s, confidence: %.2f%n", address, addressField.getConfidence()); } } - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); + countryRegion, countryRegionDocumentField.getConfidence()); } } - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); System.out.printf("Date of Birth: %s, confidence: %.2f%n", dateOfBirth, dateOfBirthField.getConfidence()); } } - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); System.out.printf("Document date of expiration: %s, confidence: %.2f%n", expirationDate, dateOfExpirationField.getConfidence()); } } - FormField documentNumberField = recognizedFields.get("DocumentNumber"); + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); System.out.printf("Document number: %s, confidence: %.2f%n", documentNumber, documentNumberField.getConfidence()); } } - FormField firstNameField = recognizedFields.get("FirstName"); + DocumentField firstNameField = licenseFields.get("FirstName"); if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); System.out.printf("First Name: %s, confidence: %.2f%n", firstName, documentNumberField.getConfidence()); } } - FormField lastNameField = recognizedFields.get("LastName"); + DocumentField lastNameField = licenseFields.get("LastName"); if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); System.out.printf("Last name: %s, confidence: %.2f%n", lastName, lastNameField.getConfidence()); } } - FormField regionField = recognizedFields.get("Region"); + DocumentField regionField = licenseFields.get("Region"); if (regionField != null) { - if (FieldValueType.STRING == regionField.getValue().getValueType()) { - String region = regionField.getValue().asString(); + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); System.out.printf("Region: %s, confidence: %.2f%n", region, regionField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrlAsync.java similarity index 57% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrlAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrlAsync.java index 062700808e4c6..9b024634909f4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeIdentityDocumentsFromUrlAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeIdentityDocumentsFromUrlAsync.java @@ -3,25 +3,25 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; import java.time.LocalDate; -import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; /** - * Async sample for recognizing commonly found identity document fields from a file source URL. - * See fields found on an license here: + * Async sample for analyzing commonly found identity document fields from a file source URL. + * See fields found on a license here: * https://aka.ms/formrecognizer/iddocumentfields */ -public class RecognizeIdentityDocumentsFromUrlAsync { +public class AnalyzeIdentityDocumentsFromUrlAsync { /** * Main method to invoke this demo. @@ -30,7 +30,7 @@ public class RecognizeIdentityDocumentsFromUrlAsync { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -38,10 +38,10 @@ public static void main(final String[] args) { String licenseDocumentUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" + "azure-ai-formrecognizer/src/samples/resources/sample-forms/IdentityDocuments/license.jpg"; - PollerFlux> recognizeIdentityDocumentPoller = - client.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl); + PollerFlux analyzeIdentityDocumentPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", licenseDocumentUrl); - Mono> identityDocumentPollerResult = recognizeIdentityDocumentPoller + Mono identityDocumentPollerResult = analyzeIdentityDocumentPoller .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { @@ -53,77 +53,77 @@ public static void main(final String[] args) { }); identityDocumentPollerResult.subscribe(identityDocumentResults -> { - for (int i = 0; i < identityDocumentResults.size(); i++) { - RecognizedForm recognizedForm = identityDocumentResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - FormField addressField = recognizedFields.get("Address"); + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); if (addressField != null) { - if (FieldValueType.STRING == addressField.getValue().getValueType()) { - String address = addressField.getValue().asString(); + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); System.out.printf("Address: %s, confidence: %.2f%n", address, addressField.getConfidence()); } } - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); + countryRegion, countryRegionDocumentField.getConfidence()); } } - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); System.out.printf("Date of Birth: %s, confidence: %.2f%n", dateOfBirth, dateOfBirthField.getConfidence()); } } - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); System.out.printf("Document date of expiration: %s, confidence: %.2f%n", expirationDate, dateOfExpirationField.getConfidence()); } } - FormField documentNumberField = recognizedFields.get("DocumentNumber"); + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); System.out.printf("Document number: %s, confidence: %.2f%n", documentNumber, documentNumberField.getConfidence()); } } - FormField firstNameField = recognizedFields.get("FirstName"); + DocumentField firstNameField = licenseFields.get("FirstName"); if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); System.out.printf("First Name: %s, confidence: %.2f%n", firstName, firstNameField.getConfidence()); } } - FormField lastNameField = recognizedFields.get("LastName"); + DocumentField lastNameField = licenseFields.get("LastName"); if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); System.out.printf("Last name: %s, confidence: %.2f%n", lastName, lastNameField.getConfidence()); } } - FormField regionField = recognizedFields.get("Region"); + DocumentField regionField = licenseFields.get("Region"); if (regionField != null) { - if (FieldValueType.STRING == regionField.getValue().getValueType()) { - String region = regionField.getValue().asString(); + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); System.out.printf("Region: %s, confidence: %.2f%n", region, regionField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoices.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoices.java similarity index 59% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoices.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoices.java index 0817df7a5e140..ad335f5d22921 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoices.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoices.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -20,12 +21,11 @@ import java.util.Map; /** - * Sample for recognizing commonly found invoice fields from a local file input stream of an invoice document. - * For a suggested approach to extracting information from a general recognized form, see StronglyTypedRecognizedForm.java. - * See fields found on a invoice here: + * Sample for analyzing commonly found invoice fields from a local file input stream of an invoice document. + * See fields found on an invoice here: * https://aka.ms/formrecognizer/invoicefields */ -public class RecognizeInvoices { +public class AnalyzeInvoices { /** * Main method to invoke this demo. * @@ -34,7 +34,7 @@ public class RecognizeInvoices { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -44,113 +44,113 @@ public static void main(final String[] args) throws IOException { byte[] fileContent = Files.readAllBytes(invoice.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); - SyncPoller> recognizeInvoicesPoller = - client.beginRecognizeInvoices(targetStream, invoice.length()); + SyncPoller analyzeInvoicesPoller = + client.beginAnalyzeDocument("prebuilt-invoice", targetStream, invoice.length()); - List recognizedInvoices = recognizeInvoicesPoller.getFinalResult(); + AnalyzeResult analyzeInvoiceResult = analyzeInvoicesPoller.getFinalResult(); - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedInvoice = recognizedInvoices.get(i); - Map recognizedFields = recognizedInvoice.getFields(); - System.out.printf("----------- Recognized invoice info for page %d -----------%n", i); - FormField vendorNameField = recognizedFields.get("VendorName"); + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + AnalyzedDocument analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); if (vendorNameField != null) { - if (FieldValueType.STRING == vendorNameField.getValue().getValueType()) { - String merchantName = vendorNameField.getValue().asString(); + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); System.out.printf("Vendor Name: %s, confidence: %.2f%n", merchantName, vendorNameField.getConfidence()); } } - FormField vendorAddressField = recognizedFields.get("VendorAddress"); + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); if (vendorAddressField != null) { - if (FieldValueType.STRING == vendorAddressField.getValue().getValueType()) { - String merchantAddress = vendorAddressField.getValue().asString(); + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); System.out.printf("Vendor address: %s, confidence: %.2f%n", merchantAddress, vendorAddressField.getConfidence()); } } - FormField customerNameField = recognizedFields.get("CustomerName"); + DocumentField customerNameField = invoiceFields.get("CustomerName"); if (customerNameField != null) { - if (FieldValueType.STRING == customerNameField.getValue().getValueType()) { - String merchantAddress = customerNameField.getValue().asString(); + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); System.out.printf("Customer Name: %s, confidence: %.2f%n", merchantAddress, customerNameField.getConfidence()); } } - FormField customerAddressRecipientField = recognizedFields.get("CustomerAddressRecipient"); + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); if (customerAddressRecipientField != null) { - if (FieldValueType.STRING == customerAddressRecipientField.getValue().getValueType()) { - String customerAddr = customerAddressRecipientField.getValue().asString(); + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", customerAddr, customerAddressRecipientField.getConfidence()); } } - FormField invoiceIdField = recognizedFields.get("InvoiceId"); + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); if (invoiceIdField != null) { - if (FieldValueType.STRING == invoiceIdField.getValue().getValueType()) { - String invoiceId = invoiceIdField.getValue().asString(); - System.out.printf("Invoice Id: %s, confidence: %.2f%n", + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", invoiceId, invoiceIdField.getConfidence()); } } - FormField invoiceDateField = recognizedFields.get("InvoiceDate"); + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); if (customerNameField != null) { - if (FieldValueType.DATE == invoiceDateField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateField.getValue().asDate(); + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); System.out.printf("Invoice Date: %s, confidence: %.2f%n", invoiceDate, invoiceDateField.getConfidence()); } } - FormField invoiceTotalField = recognizedFields.get("InvoiceTotal"); + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); if (customerAddressRecipientField != null) { - if (FieldValueType.FLOAT == invoiceTotalField.getValue().getValueType()) { - Float invoiceTotal = invoiceTotalField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == invoiceTotalField.getType()) { + Float invoiceTotal = invoiceTotalField.getValueFloat(); System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", invoiceTotal, invoiceTotalField.getConfidence()); } } - FormField invoiceItemsField = recognizedFields.get("Items"); + DocumentField invoiceItemsField = invoiceFields.get("Items"); if (invoiceItemsField != null) { System.out.printf("Invoice Items: %n"); - if (FieldValueType.LIST == invoiceItemsField.getValue().getValueType()) { - List invoiceItems = invoiceItemsField.getValue().asList(); + if (DocumentFieldType.LIST == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueList(); invoiceItems.stream() - .filter(invoiceItem -> FieldValueType.MAP == invoiceItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(invoiceItem -> DocumentFieldType.MAP == invoiceItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { // See a full list of fields found on an invoice here: // https://aka.ms/formrecognizer/invoicefields if ("Description".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Description: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("UnitPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float unitPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float unitPrice = formField.getValueFloat(); System.out.printf("Unit Price: %f, confidence: %.2f%n", unitPrice, formField.getConfidence()); } } if ("ProductCode".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float productCode = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float productCode = formField.getValueFloat(); System.out.printf("Product Code: %f, confidence: %.2f%n", productCode, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesAsync.java similarity index 63% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesAsync.java index 9e1424cb467c1..7a77179a6abff 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesAsync.java @@ -3,10 +3,12 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; @@ -21,15 +23,12 @@ import java.util.Map; import java.util.concurrent.TimeUnit; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - /** - * Async sample for recognizing commonly found invoice fields from a local file input stream of an invoice document. - * For a suggested approach to extracting information from a general recognized form, see StronglyTypedRecognizedForm.java. - * See fields found on a invoice here: + * Async sample for analyzing commonly found invoice fields from a local file input stream of an invoice document. + * See fields found on an invoice here: * https://aka.ms/formrecognizer/invoicefields */ -public class RecognizeInvoicesAsync { +public class AnalyzeInvoicesAsync { /** * Main method to invoke this demo. @@ -39,7 +38,7 @@ public class RecognizeInvoicesAsync { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -47,12 +46,14 @@ public static void main(final String[] args) throws IOException { File invoice = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + "sample-forms/invoices/sample_invoice.jpg"); byte[] fileContent = Files.readAllBytes(invoice.toPath()); - PollerFlux> recognizeInvoicesPoller; + PollerFlux analyzeInvoicePoller; try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - recognizeInvoicesPoller = client.beginRecognizeInvoices(toFluxByteBuffer(targetStream), invoice.length()); + analyzeInvoicePoller = + client.beginAnalyzeDocument("prebuilt-invoice", Utility.toFluxByteBuffer(targetStream), + invoice.length()); } - Mono> invoicePageResultMono = recognizeInvoicesPoller + Mono analyzeInvoiceResultMono = analyzeInvoicePoller .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { @@ -64,109 +65,109 @@ public static void main(final String[] args) throws IOException { } }); - invoicePageResultMono.subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedInvoice = recognizedInvoices.get(i); - Map recognizedFields = recognizedInvoice.getFields(); - System.out.printf("----------- Recognized invoice info for page %d -----------%n", i); - FormField vendorNameField = recognizedFields.get("VendorName"); + analyzeInvoiceResultMono.subscribe(analyzeInvoiceResult -> { + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + AnalyzedDocument analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); if (vendorNameField != null) { - if (FieldValueType.STRING == vendorNameField.getValue().getValueType()) { - String merchantName = vendorNameField.getValue().asString(); + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); System.out.printf("Vendor Name: %s, confidence: %.2f%n", merchantName, vendorNameField.getConfidence()); } } - FormField vendorAddressField = recognizedFields.get("VendorAddress"); + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); if (vendorAddressField != null) { - if (FieldValueType.STRING == vendorAddressField.getValue().getValueType()) { - String merchantAddress = vendorAddressField.getValue().asString(); + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); System.out.printf("Vendor address: %s, confidence: %.2f%n", merchantAddress, vendorAddressField.getConfidence()); } } - FormField customerNameField = recognizedFields.get("CustomerName"); + DocumentField customerNameField = invoiceFields.get("CustomerName"); if (customerNameField != null) { - if (FieldValueType.STRING == customerNameField.getValue().getValueType()) { - String merchantAddress = customerNameField.getValue().asString(); + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); System.out.printf("Customer Name: %s, confidence: %.2f%n", merchantAddress, customerNameField.getConfidence()); } } - FormField customerAddressRecipientField = recognizedFields.get("CustomerAddressRecipient"); + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); if (customerAddressRecipientField != null) { - if (FieldValueType.STRING == customerAddressRecipientField.getValue().getValueType()) { - String customerAddr = customerAddressRecipientField.getValue().asString(); + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", customerAddr, customerAddressRecipientField.getConfidence()); } } - FormField invoiceIdField = recognizedFields.get("InvoiceId"); + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); if (invoiceIdField != null) { - if (FieldValueType.STRING == invoiceIdField.getValue().getValueType()) { - String invoiceId = invoiceIdField.getValue().asString(); - System.out.printf("Invoice Id: %s, confidence: %.2f%n", + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", invoiceId, invoiceIdField.getConfidence()); } } - FormField invoiceDateField = recognizedFields.get("InvoiceDate"); + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); if (customerNameField != null) { - if (FieldValueType.DATE == invoiceDateField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateField.getValue().asDate(); + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); System.out.printf("Invoice Date: %s, confidence: %.2f%n", invoiceDate, invoiceDateField.getConfidence()); } } - FormField invoiceTotalField = recognizedFields.get("InvoiceTotal"); + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); if (customerAddressRecipientField != null) { - if (FieldValueType.FLOAT == invoiceTotalField.getValue().getValueType()) { - Float invoiceTotal = invoiceTotalField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == invoiceTotalField.getType()) { + Float invoiceTotal = invoiceTotalField.getValueFloat(); System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", invoiceTotal, invoiceTotalField.getConfidence()); } } - FormField invoiceItemsField = recognizedFields.get("Items"); + DocumentField invoiceItemsField = invoiceFields.get("Items"); if (invoiceItemsField != null) { System.out.printf("Invoice Items: %n"); - if (FieldValueType.LIST == invoiceItemsField.getValue().getValueType()) { - List invoiceItems = invoiceItemsField.getValue().asList(); + if (DocumentFieldType.LIST == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueList(); invoiceItems.stream() - .filter(invoiceItem -> FieldValueType.MAP == invoiceItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(invoiceItem -> DocumentFieldType.MAP == invoiceItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { // See a full list of fields found on an invoice here: // https://aka.ms/formrecognizer/invoicefields if ("Description".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Description: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("UnitPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float unitPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float unitPrice = formField.getValueFloat(); System.out.printf("Unit Price: %f, confidence: %.2f%n", unitPrice, formField.getConfidence()); } } if ("ProductCode".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float productCode = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float productCode = formField.getValueFloat(); System.out.printf("Product Code: %f, confidence: %.2f%n", productCode, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrl.java similarity index 58% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrl.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrl.java index 49cd86c865dca..de4be9cb813a4 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrl.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrl.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -16,13 +17,11 @@ import java.util.Map; /** - * Sample for recognizing commonly found invoice fields from a file source URL of an invoice document. - * For a suggested approach to - * extracting information from a general recognized form, see StronglyTypedRecognizedForm.java. - * See fields found on a invoice here: + * Sample for analyzing commonly found invoice fields from a file source URL of an invoice document. + * See fields found on an invoice here: * https://aka.ms/formrecognizer/invoicefields */ -public class RecognizeInvoicesFromUrl { +public class AnalyzeInvoicesFromUrl { /** * Main method to invoke this demo. @@ -32,7 +31,7 @@ public class RecognizeInvoicesFromUrl { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -40,113 +39,114 @@ public static void main(final String[] args) throws IOException { String invoiceUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/" + "azure-ai-formrecognizer/samples/sample_forms/forms/sample_invoice.jpg"; - SyncPoller> recognizeInvoicesPoller - = client.beginRecognizeInvoicesFromUrl(invoiceUrl); - List recognizedInvoices = recognizeInvoicesPoller.getFinalResult(); + SyncPoller analyzeInvoicesPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", invoiceUrl); - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedInvoice = recognizedInvoices.get(i); - Map recognizedFields = recognizedInvoice.getFields(); - System.out.printf("----------- Recognized invoice info for page %d -----------%n", i); - FormField vendorNameField = recognizedFields.get("VendorName"); + AnalyzeResult analyzeInvoiceResult = analyzeInvoicesPoller.getFinalResult(); + + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + AnalyzedDocument analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); if (vendorNameField != null) { - if (FieldValueType.STRING == vendorNameField.getValue().getValueType()) { - String merchantName = vendorNameField.getValue().asString(); + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); System.out.printf("Vendor Name: %s, confidence: %.2f%n", merchantName, vendorNameField.getConfidence()); } } - FormField vendorAddressField = recognizedFields.get("VendorAddress"); + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); if (vendorAddressField != null) { - if (FieldValueType.STRING == vendorAddressField.getValue().getValueType()) { - String merchantAddress = vendorAddressField.getValue().asString(); + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); System.out.printf("Vendor address: %s, confidence: %.2f%n", merchantAddress, vendorAddressField.getConfidence()); } } - FormField customerNameField = recognizedFields.get("CustomerName"); + DocumentField customerNameField = invoiceFields.get("CustomerName"); if (customerNameField != null) { - if (FieldValueType.STRING == customerNameField.getValue().getValueType()) { - String merchantAddress = customerNameField.getValue().asString(); + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); System.out.printf("Customer Name: %s, confidence: %.2f%n", merchantAddress, customerNameField.getConfidence()); } } - FormField customerAddressRecipientField = recognizedFields.get("CustomerAddressRecipient"); + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); if (customerAddressRecipientField != null) { - if (FieldValueType.STRING == customerAddressRecipientField.getValue().getValueType()) { - String customerAddr = customerAddressRecipientField.getValue().asString(); + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", customerAddr, customerAddressRecipientField.getConfidence()); } } - FormField invoiceIdField = recognizedFields.get("InvoiceId"); + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); if (invoiceIdField != null) { - if (FieldValueType.STRING == invoiceIdField.getValue().getValueType()) { - String invoiceId = invoiceIdField.getValue().asString(); - System.out.printf("Invoice Id: %s, confidence: %.2f%n", + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", invoiceId, invoiceIdField.getConfidence()); } } - FormField invoiceDateField = recognizedFields.get("InvoiceDate"); + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); if (customerNameField != null) { - if (FieldValueType.DATE == invoiceDateField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateField.getValue().asDate(); + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); System.out.printf("Invoice Date: %s, confidence: %.2f%n", invoiceDate, invoiceDateField.getConfidence()); } } - FormField invoiceTotalField = recognizedFields.get("InvoiceTotal"); + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); if (customerAddressRecipientField != null) { - if (FieldValueType.FLOAT == invoiceTotalField.getValue().getValueType()) { - Float invoiceTotal = invoiceTotalField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == invoiceTotalField.getType()) { + Float invoiceTotal = invoiceTotalField.getValueFloat(); System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", invoiceTotal, invoiceTotalField.getConfidence()); } } - FormField invoiceItemsField = recognizedFields.get("Items"); + DocumentField invoiceItemsField = invoiceFields.get("Items"); if (invoiceItemsField != null) { System.out.printf("Invoice Items: %n"); - if (FieldValueType.LIST == invoiceItemsField.getValue().getValueType()) { - List invoiceItems = invoiceItemsField.getValue().asList(); + if (DocumentFieldType.LIST == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueList(); invoiceItems.stream() - .filter(invoiceItem -> FieldValueType.MAP == invoiceItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(invoiceItem -> DocumentFieldType.MAP == invoiceItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { // See a full list of fields found on an invoice here: // https://aka.ms/formrecognizer/invoicefields if ("Description".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Description: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("UnitPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float unitPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float unitPrice = formField.getValueFloat(); System.out.printf("Unit Price: %f, confidence: %.2f%n", unitPrice, formField.getConfidence()); } } if ("ProductCode".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float productCode = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float productCode = formField.getValueFloat(); System.out.printf("Product Code: %f, confidence: %.2f%n", productCode, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrlAsync.java similarity index 56% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrlAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrlAsync.java index 199ab35918df4..37623a4c252ec 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeInvoicesFromUrlAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeInvoicesFromUrlAsync.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; @@ -18,13 +19,11 @@ import java.util.concurrent.TimeUnit; /** - * Async sample for recognizing commonly found invoice fields from a file source URL of an invoice document. - * For a suggested approach to - * extracting information from a general recognized form, see StronglyTypedRecognizedForm.java. - * See fields found on a invoice here: + * Async sample for analyzing commonly found invoice fields from a file source URL of an invoice document. + * See fields found on an invoice here: * https://aka.ms/formrecognizer/invoicefields */ -public class RecognizeInvoicesFromUrlAsync { +public class AnalyzeInvoicesFromUrlAsync { /** * Main method to invoke this demo. * @@ -33,133 +32,133 @@ public class RecognizeInvoicesFromUrlAsync { */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); String invoiceUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/" + "azure-ai-formrecognizer/samples/sample_forms/forms/sample_invoice.jpg"; - PollerFlux> recognizeInvoicesPoller - = client.beginRecognizeInvoicesFromUrl(invoiceUrl); - - Mono> invoicePageResultMono = - recognizeInvoicesPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - System.out.println("Polling completed successfully"); - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - invoicePageResultMono.subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedInvoice = recognizedInvoices.get(i); - Map recognizedFields = recognizedInvoice.getFields(); - System.out.printf("----------- Recognized invoice info for page %d -----------%n", i); - FormField vendorNameField = recognizedFields.get("VendorName"); + + PollerFlux analyzeInvoicePoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", invoiceUrl); + + Mono analyzeInvoiceResultMono = analyzeInvoicePoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + analyzeInvoiceResultMono.subscribe(analyzeInvoiceResult -> { + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + AnalyzedDocument analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); if (vendorNameField != null) { - if (FieldValueType.STRING == vendorNameField.getValue().getValueType()) { - String merchantName = vendorNameField.getValue().asString(); + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); System.out.printf("Vendor Name: %s, confidence: %.2f%n", merchantName, vendorNameField.getConfidence()); } } - FormField vendorAddressField = recognizedFields.get("VendorAddress"); + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); if (vendorAddressField != null) { - if (FieldValueType.STRING == vendorAddressField.getValue().getValueType()) { - String merchantAddress = vendorAddressField.getValue().asString(); + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); System.out.printf("Vendor address: %s, confidence: %.2f%n", merchantAddress, vendorAddressField.getConfidence()); } } - FormField customerNameField = recognizedFields.get("CustomerName"); + DocumentField customerNameField = invoiceFields.get("CustomerName"); if (customerNameField != null) { - if (FieldValueType.STRING == customerNameField.getValue().getValueType()) { - String merchantAddress = customerNameField.getValue().asString(); + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); System.out.printf("Customer Name: %s, confidence: %.2f%n", merchantAddress, customerNameField.getConfidence()); } } - FormField customerAddressRecipientField = recognizedFields.get("CustomerAddressRecipient"); + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); if (customerAddressRecipientField != null) { - if (FieldValueType.STRING == customerAddressRecipientField.getValue().getValueType()) { - String customerAddr = customerAddressRecipientField.getValue().asString(); + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", customerAddr, customerAddressRecipientField.getConfidence()); } } - FormField invoiceIdField = recognizedFields.get("InvoiceId"); + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); if (invoiceIdField != null) { - if (FieldValueType.STRING == invoiceIdField.getValue().getValueType()) { - String invoiceId = invoiceIdField.getValue().asString(); - System.out.printf("Invoice Id: %s, confidence: %.2f%n", + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", invoiceId, invoiceIdField.getConfidence()); } } - FormField invoiceDateField = recognizedFields.get("InvoiceDate"); + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); if (customerNameField != null) { - if (FieldValueType.DATE == invoiceDateField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateField.getValue().asDate(); + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); System.out.printf("Invoice Date: %s, confidence: %.2f%n", invoiceDate, invoiceDateField.getConfidence()); } } - FormField invoiceTotalField = recognizedFields.get("InvoiceTotal"); + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); if (customerAddressRecipientField != null) { - if (FieldValueType.FLOAT == invoiceTotalField.getValue().getValueType()) { - Float invoiceTotal = invoiceTotalField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == invoiceTotalField.getType()) { + Float invoiceTotal = invoiceTotalField.getValueFloat(); System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", invoiceTotal, invoiceTotalField.getConfidence()); } } - FormField invoiceItemsField = recognizedFields.get("Items"); + DocumentField invoiceItemsField = invoiceFields.get("Items"); if (invoiceItemsField != null) { System.out.printf("Invoice Items: %n"); - if (FieldValueType.LIST == invoiceItemsField.getValue().getValueType()) { - List invoiceItems = invoiceItemsField.getValue().asList(); + if (DocumentFieldType.LIST == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueList(); invoiceItems.stream() - .filter(invoiceItem -> FieldValueType.MAP == invoiceItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(invoiceItem -> DocumentFieldType.MAP == invoiceItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { // See a full list of fields found on an invoice here: // https://aka.ms/formrecognizer/invoicefields if ("Description".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Description: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("UnitPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float unitPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float unitPrice = formField.getValueFloat(); System.out.printf("Unit Price: %f, confidence: %.2f%n", unitPrice, formField.getConfidence()); } } if ("ProductCode".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float productCode = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float productCode = formField.getValueFloat(); System.out.printf("Product Code: %f, confidence: %.2f%n", productCode, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java new file mode 100644 index 0000000000000..97e4165d38e4d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayout.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.List; + +/** + * Sample for analyzing layout information from a document given through a file. + */ +public class AnalyzeLayout { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File selectionMarkDocument = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + + "sample-forms/forms/selectionMarkForm.pdf"); + byte[] fileContent = Files.readAllBytes(selectionMarkDocument.toPath()); + InputStream fileStream = new ByteArrayInputStream(fileContent); + + SyncPoller analyzeLayoutResultPoller = + client.beginAnalyzeDocument("prebuilt-layout", fileStream, selectionMarkDocument.length()); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s%n.", documentStyle.isHandwritten())); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutAsync.java new file mode 100644 index 0000000000000..954ab10455d04 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutAsync.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing layout information from a document given through a file. + */ +public class AnalyzeLayoutAsync { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + + "sample-forms/forms/selectionMarkForm.pdf"); + byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); + InputStream targetStream = new ByteArrayInputStream(fileContent); + + PollerFlux analyzeLayoutPoller = + client.beginAnalyzeDocument("prebuilt-layout", + Utility.toFluxByteBuffer(targetStream), + sourceFile.length()); + + Mono analyzeLayoutResultMono = + analyzeLayoutPoller + .last() + .flatMap(pollResponse -> { + if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error( + new RuntimeException( + "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); + } + }); + + analyzeLayoutResultMono.subscribe(analyzeLayoutResult -> { + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s%n.", documentStyle.isHandwritten())); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrl.java new file mode 100644 index 0000000000000..04e047b6fd6c4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrl.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.util.List; + +/** + * Sample for analyzing content information from a document given through a URL. + */ +public class AnalyzeLayoutFromUrl { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + SyncPoller analyzeLayoutPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-layout", + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" + + "azure-ai-formrecognizer/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf"); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s%n.", documentStyle.isHandwritten())); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java new file mode 100644 index 0000000000000..98e511e0a596e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeLayoutFromUrlAsync.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing layout information from a document given through a URL. + */ +public class AnalyzeLayoutFromUrlAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + PollerFlux analyzeLayoutPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-layout", + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" + + "azure-ai-formrecognizer/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf"); + + Mono analyzeLayoutResultMono = + analyzeLayoutPoller + .last() + .flatMap(pollResponse -> { + if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error( + new RuntimeException( + "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); + } + }); + + analyzeLayoutResultMono.subscribe(analyzeLayoutResult -> { + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s%n.", documentStyle.isHandwritten())); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceipts.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceipts.java similarity index 59% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceipts.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceipts.java index 3a721ce6a6034..eceaca52a5817 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceipts.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceipts.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -20,23 +21,21 @@ import java.util.Map; /** - * Sample for recognizing commonly found receipt fields from a local file input stream. - * For a suggested approach to extracting information from receipts, see StronglyTypedRecognizedForm.java. + * Sample for analyzing commonly found receipt fields from a local file input stream. * See fields found on a receipt here: * https://aka.ms/formrecognizer/receiptfields */ -public class RecognizeReceipts { +public class AnalyzeReceipts { /** * Main method to invoke this demo. * * @param args Unused. Arguments to the program. - * * @throws IOException from reading file. */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -46,84 +45,84 @@ public static void main(final String[] args) throws IOException { byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); - SyncPoller> analyzeReceiptPoller = - client.beginRecognizeReceipts(targetStream, sourceFile.length()); + SyncPoller analyzeReceiptPoller = + client.beginAnalyzeDocument("prebuilt-receipt", targetStream, sourceFile.length()); - List receiptPageResults = analyzeReceiptPoller.getFinalResult(); + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); - for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField merchantAddressField = recognizedFields.get("MerchantAddress"); + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); if (merchantAddressField != null) { - if (FieldValueType.STRING == merchantAddressField.getValue().getValueType()) { - String merchantAddress = merchantAddressField.getValue().asString(); + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); System.out.printf("Merchant Address: %s, confidence: %.2f%n", merchantAddress, merchantAddressField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { if ("Name".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Name: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("Price".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float price = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float price = formField.getValueFloat(); System.out.printf("Price: %f, confidence: %.2f%n", price, formField.getConfidence()); } } if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float totalPrice = formField.getValueFloat(); System.out.printf("Total Price: %f, confidence: %.2f%n", totalPrice, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsAsync.java similarity index 64% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsAsync.java index c3863fcd74630..10d11350749c3 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsAsync.java @@ -3,10 +3,12 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; @@ -21,26 +23,22 @@ import java.util.Map; import java.util.concurrent.TimeUnit; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - /** - * Async sample for recognizing commonly found receipt fields from a local file input stream. - * For a suggested approach to extracting information from receipts, see StronglyTypedRecognizedForm.java. + * Async sample for analyzing commonly found receipt fields from a local file input stream. * See fields found on a receipt here: * https://aka.ms/formrecognizer/receiptfields */ -public class RecognizeReceiptsAsync { +public class AnalyzeReceiptsAsync { /** * Main method to invoke this demo. * * @param args Unused. Arguments to the program. - * * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. */ public static void main(final String[] args) throws IOException { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -48,12 +46,15 @@ public static void main(final String[] args) throws IOException { File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" + "sample-forms/receipts/contoso-allinone.jpg"); byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); - PollerFlux> recognizeReceiptPoller; + + PollerFlux analyzeReceiptPoller; try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - recognizeReceiptPoller = client.beginRecognizeReceipts(toFluxByteBuffer(targetStream), sourceFile.length()); + analyzeReceiptPoller = client.beginAnalyzeDocument("prebuilt-receipt", + Utility.toFluxByteBuffer(targetStream), + sourceFile.length()); } - Mono> receiptPageResultsMono = recognizeReceiptPoller + Mono receiptResultsMono = analyzeReceiptPoller .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { @@ -65,80 +66,80 @@ public static void main(final String[] args) throws IOException { } }); - receiptPageResultsMono.subscribe(receiptPageResults -> { - for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + receiptResultsMono.subscribe(receiptResults -> { + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField merchantAddressField = recognizedFields.get("MerchantAddress"); + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); if (merchantAddressField != null) { - if (FieldValueType.STRING == merchantAddressField.getValue().getValueType()) { - String merchantAddress = merchantAddressField.getValue().asString(); + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); System.out.printf("Merchant Address: %s, confidence: %.2f%n", merchantAddress, merchantAddressField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { if ("Name".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Name: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("Price".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float price = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float price = formField.getValueFloat(); System.out.printf("Price: %f, confidence: %.2f%n", price, formField.getConfidence()); } } if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float totalPrice = formField.getValueFloat(); System.out.printf("Total Price: %f, confidence: %.2f%n", totalPrice, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrl.java similarity index 58% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrl.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrl.java index f28853afb69e3..1a8a3e128b3e3 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrl.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrl.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; @@ -15,12 +16,11 @@ import java.util.Map; /** - * Sample for recognizing commonly found receipt fields from a file source URL. For a suggested approach to - * extracting information from receipts, see StronglyTypedRecognizedForm.java. + * Sample for analyzing commonly found receipt fields from a file source URL. * See fields found on a receipt here: * https://aka.ms/formrecognizer/receiptfields */ -public class RecognizeReceiptsFromUrl { +public class AnalyzeReceiptsFromUrl { /** * Main method to invoke this demo. @@ -29,7 +29,7 @@ public class RecognizeReceiptsFromUrl { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildClient(); @@ -37,84 +37,85 @@ public static void main(final String[] args) { String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - SyncPoller> recognizeReceiptPoller = - client.beginRecognizeReceiptsFromUrl(receiptUrl); - List receiptPageResults = recognizeReceiptPoller.getFinalResult(); + SyncPoller analyzeReceiptPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); - for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantAddressField = recognizedFields.get("MerchantAddress"); - if (merchantAddressField != null) { - if (FieldValueType.STRING == merchantAddressField.getValue().getValueType()) { - String merchantAddress = merchantAddressField.getValue().asString(); - System.out.printf("Merchant Address: %s, confidence: %.2f%n", - merchantAddress, merchantAddressField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { if ("Name".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Name: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("Price".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float price = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float price = formField.getValueFloat(); System.out.printf("Price: %f, confidence: %.2f%n", price, formField.getConfidence()); } } if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float totalPrice = formField.getValueFloat(); System.out.printf("Total Price: %f, confidence: %.2f%n", totalPrice, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrlAsync.java similarity index 62% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrlAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrlAsync.java index 656a11f8e792a..c16a212a4c174 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeReceiptsFromUrlAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeReceiptsFromUrlAsync.java @@ -3,10 +3,11 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.PollerFlux; import reactor.core.publisher.Mono; @@ -17,12 +18,11 @@ import java.util.concurrent.TimeUnit; /** - * Async sample for recognizing commonly found receipt fields from a file source URL. For a suggested approach to - * extracting information from receipts, see StronglyTypedRecognizedForm.java. + * Async sample for analyzing commonly found receipt fields from a file source URL. * See fields found on a receipt here: * https://aka.ms/formrecognizer/receiptfields */ -public class RecognizeReceiptsFromUrlAsync { +public class AnalyzeReceiptsFromUrlAsync { /** * Main method to invoke this demo. @@ -31,7 +31,7 @@ public class RecognizeReceiptsFromUrlAsync { */ public static void main(final String[] args) { // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); @@ -39,10 +39,11 @@ public static void main(final String[] args) { String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - PollerFlux> recognizeReceiptPoller = - client.beginRecognizeReceiptsFromUrl(receiptUrl); - Mono> receiptPageResults = recognizeReceiptPoller + PollerFlux analyzeReceiptPoller = + client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); + + Mono receiptResultsMono = analyzeReceiptPoller .last() .flatMap(pollResponse -> { if (pollResponse.getStatus().isComplete()) { @@ -54,80 +55,80 @@ public static void main(final String[] args) { } }); - receiptPageResults.subscribe(recognizedReceipts -> { - for (int i = 0; i < recognizedReceipts.size(); i++) { - RecognizedForm recognizedForm = recognizedReceipts.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized receipt for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + receiptResultsMono.subscribe(receiptResults -> { + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Address: %s, confidence: %.2f%n", + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField merchantAddressField = recognizedFields.get("MerchantAddress"); + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); if (merchantAddressField != null) { - if (FieldValueType.STRING == merchantAddressField.getValue().getValueType()) { - String merchantAddress = merchantAddressField.getValue().asString(); + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); System.out.printf("Merchant Address: %s, confidence: %.2f%n", merchantAddress, merchantAddressField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { if ("Name".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Name: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } if ("Price".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float price = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float price = formField.getValueFloat(); System.out.printf("Price: %f, confidence: %.2f%n", price, formField.getConfidence()); } } if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float totalPrice = formField.getValueFloat(); System.out.printf("Total Price: %f, confidence: %.2f%n", totalPrice, formField.getConfidence()); } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java index 58c643117ea76..d503240944d2c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Authentication.java @@ -3,13 +3,14 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClientBuilder; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.SyncPoller; import com.azure.identity.DefaultAzureCredentialBuilder; @@ -19,7 +20,7 @@ import java.util.Map; /** - * Samples for two supported methods of authentication in Form Recognizer and Form Training clients: + * Samples for two supported methods of authentication in Document Analysis and Document Model Administration clients: * 1) Use a Form Recognizer API key with AzureKeyCredential from azure.core.credentials * 2) Use a token credential from azure-identity to authenticate with Azure Active Directory */ @@ -28,7 +29,6 @@ public class Authentication { * Main method to invoke this demo. * * @param args Unused arguments to the program. - * */ public static void main(String[] args) { /* @@ -38,111 +38,109 @@ public static void main(String[] args) { AZURE_CLIENT_SECRET - the secret of your active directory application. */ - // Form recognizer client: Key credential - authenticationWithKeyCredentialFormRecognizerClient(); - // Form recognizer client: Azure Active Directory - authenticationWithAzureActiveDirectoryFormRecognizerClient(); - // Form training client: Key credential - authenticationWithKeyCredentialFormTrainingClient(); - // Form training client: Azure Active Directory - authenticationWithAzureActiveDirectoryFormTrainingClient(); + // Document Analysis client: Key credential + authenticationWithKeyCredentialDocumentAnalysisClient(); + // Document Analysis client: Azure Active Directory + authenticationWithAzureActiveDirectoryDocumentAnalysisClient(); + // Document Model Administration client: Key credential + authenticationWithKeyCredentialDocumentModelAdministrationClient(); + // Document Model Administration client: Azure Active Directory + authenticationWithAzureActiveDirectoryDocumentModelAdministrationClient(); } - private static void authenticationWithKeyCredentialFormRecognizerClient() { - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() + private static void authenticationWithKeyCredentialDocumentAnalysisClient() { + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); - beginRecognizeCustomFormsFromUrl(formRecognizerClient); + beginRecognizeCustomFormsFromUrl(documentAnalysisClient); } - private static void authenticationWithAzureActiveDirectoryFormRecognizerClient() { - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() + private static void authenticationWithAzureActiveDirectoryDocumentAnalysisClient() { + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint("{endpoint}") .buildClient(); - beginRecognizeCustomFormsFromUrl(formRecognizerClient); + beginRecognizeCustomFormsFromUrl(documentAnalysisClient); } - private static void authenticationWithKeyCredentialFormTrainingClient() { - FormTrainingClient formTrainingClient = new FormTrainingClientBuilder() + private static void authenticationWithKeyCredentialDocumentModelAdministrationClient() { + DocumentModelAdministrationClient documentModelAdminClient = new DocumentModelAdministrationClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); - getAccountProperties(formTrainingClient); + getAccountProperties(documentModelAdminClient); } - private static void authenticationWithAzureActiveDirectoryFormTrainingClient() { - FormTrainingClient formTrainingClient = new FormTrainingClientBuilder() + private static void authenticationWithAzureActiveDirectoryDocumentModelAdministrationClient() { + DocumentModelAdministrationClient documentModelAdminClient = new DocumentModelAdministrationClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint("{endpoint}") .buildClient(); - getAccountProperties(formTrainingClient); + getAccountProperties(documentModelAdminClient); } - private static void beginRecognizeCustomFormsFromUrl(FormRecognizerClient formRecognizerClient) { + private static void beginRecognizeCustomFormsFromUrl(DocumentAnalysisClient documentAnalysisClient) { String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - SyncPoller> recognizeReceiptPoller = - formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl); + SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); - List receiptPageResults = recognizeReceiptPoller.getFinalResult(); + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); - for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognizing receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(formField -> formField.getValueMap()) .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { if ("Name".equals(key)) { - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); + if (DocumentFieldType.STRING == formField.getType()) { + String name = formField.getValueString(); System.out.printf("Name: %s, confidence: %.2fs%n", name, formField.getConfidence()); } } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == formField.getType()) { + Float quantity = formField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", quantity, formField.getConfidence()); } } + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.FLOAT == formField.getType()) { + Float totalPrice = formField.getValueFloat(); + System.out.printf("Total Price: %f, confidence: %.2f%n", + totalPrice, formField.getConfidence()); + } + } })); } } @@ -150,10 +148,10 @@ private static void beginRecognizeCustomFormsFromUrl(FormRecognizerClient formRe } } - private static void getAccountProperties(FormTrainingClient formTrainingClient) { - AccountProperties accountProperties = formTrainingClient.getAccountProperties(); + private static void getAccountProperties(DocumentModelAdministrationClient documentModelAdminClient) { + AccountProperties accountProperties = documentModelAdminClient.getAccountProperties(); System.out.printf("Max number of models that can be trained for this account: %s%n", - accountProperties.getCustomModelLimit()); - System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount()); + accountProperties.getDocumentModelLimit()); + System.out.printf("Current count of built custom models: %d%n", accountProperties.getDocumentModelCount()); } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java deleted file mode 100644 index 4b7ba77a31f75..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModel.java +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.SyncPoller; - -/** - * Sample for copying a custom model from a source Form Recognizer resource to a target Form Recognizer resource. - */ -public class CopyModel { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a source client which has the model that we want to copy. - FormTrainingClient sourceClient = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - // Instantiate the target client where we want to copy the custom model to. - FormTrainingClient targetClient = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - String targetResourceId = "target-resource-Id"; - String targetResourceRegion = "target-resource-region"; - - // Get authorization to copy the model to target resource - CopyAuthorization modelCopyAuthorization = targetClient.getCopyAuthorization(targetResourceId, - targetResourceRegion); - - // The Id of the model that needs to be copied to the target resource - String copyModelId = "copy-model-Id"; - // Start copy operation from the source client - SyncPoller copyPoller = sourceClient.beginCopyModel(copyModelId, - modelCopyAuthorization); - copyPoller.waitForCompletion(); - - // Get the copied model - CustomFormModel copiedModel = targetClient.getCustomModel(modelCopyAuthorization.getModelId()); - - System.out.printf("Copied model has model Id: %s, model status: %s, was created on: %s," - + " transfer completed on: %s.%n", - copiedModel.getModelId(), - copiedModel.getModelStatus(), - copiedModel.getTrainingStartedOn(), - copiedModel.getTrainingCompletedOn()); - } -} - diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java deleted file mode 100644 index 36c7053ce972e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -import java.time.Duration; -import java.util.Arrays; - -/** - * Sample for creating a custom composed model. - *

- * This is useful when you have trained different models and want to aggregate a group of - * them into a single model that you (or a user) could use to recognize a form. When doing - * so, you can let the service decide which model more accurately represents the form to - * recognize, instead of manually trying each trained model against the form and selecting - * the most accurate one. - *

- */ -public class CreateComposedModel { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a source client which has the model that we want to copy. - FormTrainingClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - // Train custom model - String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - SyncPoller model1Poller = client.beginTraining(model1TrainingFiles, true); - - // Train custom model - String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - SyncPoller model2Poller = client.beginTraining(model2TrainingFiles, true); - - String labeledModelId1 = model1Poller.getFinalResult().getModelId(); - String labeledModelId2 = model2Poller.getFinalResult().getModelId(); - - final CustomFormModel customFormModel = - client.beginCreateComposedModel( - Arrays.asList(labeledModelId1, labeledModelId2), - new CreateComposedModelOptions().setModelName("my composed model name"), - Context.NONE) - .setPollInterval(Duration.ofSeconds(5)) - .getFinalResult(); - - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - System.out.printf("Composed model creation started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Composed model creation completed on: %s%n", customFormModel.getTrainingCompletedOn()); - - System.out.println("Recognized Fields:"); - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n", customFormSubmodel.getModelId()); - System.out.printf("The subModel with form type %s has accuracy: %.2f%n", - customFormSubmodel.getFormType(), customFormSubmodel.getAccuracy()); - customFormSubmodel.getFields().forEach((label, customFormModelField) -> - System.out.printf("The model found field '%s' to have name: %s with an accuracy: %.2f%n", - label, customFormModelField.getName(), customFormModelField.getAccuracy())); - }); - System.out.println(); - - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document was provided to train model with Id : %s%n", trainingDocumentInfo.getModelId()); - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - } -} - diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java deleted file mode 100644 index 519698b880e95..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModelAsync.java +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.AsyncPollResponse; -import com.azure.core.util.polling.PollerFlux; - -import java.time.Duration; -import java.util.Arrays; -import java.util.concurrent.TimeUnit; - -/** - * Sample for creating a custom composed model. - *

- * This is useful when you have trained different models and want to aggregate a group of - * them into a single model that you (or a user) could use to recognize a form. When doing - * so, you can let the service decide which model more accurately represents the form to - * recognize, instead of manually trying each trained model against the form and selecting - * the most accurate one. - *

- */ -public class CreateComposedModelAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a source client which has the model that we want to copy. - FormTrainingAsyncClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - // Train custom model - String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - PollerFlux model1Poller = client.beginTraining(model1TrainingFiles, true); - - // Train custom model - String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - PollerFlux model2Poller = client.beginTraining(model2TrainingFiles, true); - - String labeledModelId1 = model1Poller.getSyncPoller().getFinalResult().getModelId(); - String labeledModelId2 = model2Poller.getSyncPoller().getFinalResult().getModelId(); - - client.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), - new CreateComposedModelOptions().setModelName("my composed model name")) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModel -> { - - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - System.out.printf("Composed model creation started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Composed model creation completed on: %s%n", customFormModel.getTrainingCompletedOn()); - - System.out.println("Recognized Fields:"); - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("The subModel with form type %s has accuracy: %.2f%n", - customFormSubmodel.getFormType(), customFormSubmodel.getAccuracy()); - customFormSubmodel.getFields().forEach((label, customFormModelField) -> - System.out.printf("The model found field '%s' to have name: %s with an accuracy: %.2f%n", - label, customFormModelField.getName(), customFormModelField.getAccuracy())); - }); - System.out.println(); - - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document was provided to train model with Id : %s%n", trainingDocumentInfo.getModelId()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} - diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java new file mode 100644 index 0000000000000..c36eba95ccb55 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.util.polling.AsyncPollResponse; +import reactor.core.publisher.Flux; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.file.Files; +import java.util.Arrays; + +/** + * Code snippet for {@link DocumentAnalysisAsyncClient} + */ +public class DocumentAnalysisAsyncClientJavaDocCodeSnippets { + private final DocumentAnalysisAsyncClient documentAnalysisAsyncClient + = new DocumentAnalysisClientBuilder().buildAsyncClient(); + + /** + * Code snippet for creating a {@link DocumentAnalysisAsyncClient} + */ + public void createDocumentAnalysisAsyncClient() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.instantiation + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildAsyncClient(); + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.instantiation + } + + /** + * Code snippet for creating a {@link DocumentAnalysisAsyncClient} with pipeline + */ + public void createDocumentAnalysisAsyncClientWithPipeline() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildAsyncClient(); + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.pipeline.instantiation + } + + /** + * Code snippet for {@link DocumentAnalysisAsyncClient#beginAnalyzeDocumentFromUrl(String, String)} + */ + public void beginAnalyzeDocumentFromUrl() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string + String documentUrl = "{document_url}"; + String modelId = "{model_id}"; + documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> + analyzeResult.getDocuments() + .stream() + .forEach(document -> + document.getFields() + .forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + }))); + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string + } + + /** + * Code snippet for {@link DocumentAnalysisAsyncClient#beginAnalyzeDocumentFromUrl(String, String, AnalyzeDocumentOptions)} + */ + public void beginAnalyzeDocumentFromUrlWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions + String documentUrl = "{document_url}"; + // analyze a receipt using prebuilt model + String modelId = "prebuilt-receipt"; + + documentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl, + new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3"))) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> { + System.out.println(analyzeResult.getModelId()); + analyzeResult.getDocuments() + .stream() + .forEach(document -> + document.getFields() + .forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + }); + + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions + } + + /** + * Code snippet for {@link DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, Flux, long)} + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginAnalyzeDocument() throws IOException { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long + File form = new File("{local/file_path/fileName.jpg}"); + String modelId = "{model_id}"; + // Utility method to convert input stream to Byte buffer + Flux buffer = + Utility.toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); + + documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer, form.length()) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> + analyzeResult.getDocuments() + .stream() + .forEach(document -> + document.getFields() + .forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + }))); + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long + } + + /** + * Code snippet for + * {@link DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, Flux, long, AnalyzeDocumentOptions)} + * with options + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginAnalyzeDocumentWithOptions() throws IOException { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long-AnalyzeDocumentOptions + File form = new File("{local/file_path/fileName.jpg}"); + String modelId = "{model_id}"; + + // Utility method to convert input stream to Byte buffer + Flux buffer = + Utility.toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); + + documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, buffer, form.length(), + new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3"))) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> { + System.out.println(analyzeResult.getModelId()); + analyzeResult.getDocuments() + .stream() + .forEach(document -> + document.getFields() + .forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + }); + // END: com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient.beginAnalyzeDocument#string-Flux-long-AnalyzeDocumentOptions + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisClientJavaDocCodeSnippets.java new file mode 100644 index 0000000000000..904423dd50159 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/DocumentAnalysisClientJavaDocCodeSnippets.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.util.Context; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.Arrays; + +/** + * Code snippet for {@link DocumentAnalysisClient} + */ +public class DocumentAnalysisClientJavaDocCodeSnippets { + private final DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder().buildClient(); + + /** + * Code snippet for creating a {@link DocumentAnalysisClient} + */ + public void createDocumentAnalysisClient() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.instantiation + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.instantiation + } + + /** + * Code snippet for creating a {@link DocumentAnalysisClient} with pipeline + */ + public void createDocumentAnalysisClientWithPipeline() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildClient(); + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.pipeline.instantiation + } + + + // Analyze Custom Form + + /** + * Code snippet for {@link DocumentAnalysisClient#beginAnalyzeDocumentFromUrl(String, String)} + */ + public void beginAnalyzeDocumentFromUrl() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string + String documentUrl = "{document_url}"; + String modelId = "{custom_trained_model_id}"; + + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl).getFinalResult() + .getDocuments().stream() + .map(AnalyzedDocument::getFields) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string + } + + /** + * Code snippet for {@link DocumentAnalysisClient#beginAnalyzeDocumentFromUrl(String, String, AnalyzeDocumentOptions, Context)} + */ + public void beginAnalyzeDocumentFromUrlWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions-Context + String analyzeFilePath = "{file_source_url}"; + String modelId = "{model_id}"; + + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, analyzeFilePath, + new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")), Context.NONE) + .getFinalResult() + .getDocuments().stream() + .map(AnalyzedDocument::getFields) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#string-string-AnalyzeDocumentOptions-Context + } + + /** + * Code snippet for + * {@link DocumentAnalysisClient#beginAnalyzeDocument(String, InputStream, long)} + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginAnalyzeDocument() throws IOException { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long + File form = new File("{local/file_path/fileName.jpg}"); + String modelId = "{custom_trained_model_id}"; + byte[] fileContent = Files.readAllBytes(form.toPath()); + try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { + + documentAnalysisClient.beginAnalyzeDocument(modelId, targetStream, form.length()) + .getFinalResult() + .getDocuments().stream() + .map(AnalyzedDocument::getFields) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + } + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long + } + + /** + * Code snippet for + * {@link DocumentAnalysisClient#beginAnalyzeDocument(String, InputStream, long, AnalyzeDocumentOptions, Context)} with options + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginAnalyzeDocumentWithOptions() throws IOException { + // BEGIN: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long-AnalyzeDocumentOptions-Context + File form = new File("{local/file_path/fileName.jpg}"); + String modelId = "{custom_trained_model_id}"; + byte[] fileContent = Files.readAllBytes(form.toPath()); + + try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { + documentAnalysisClient.beginAnalyzeDocument(modelId, targetStream, form.length(), + new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "3")), Context.NONE) + .getFinalResult() + .getDocuments().stream() + .map(AnalyzedDocument::getFields) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + } + // END: com.azure.ai.formrecognizer.DocumentAnalysisClient.beginAnalyzeDocument#string-InputStream-long-AnalyzeDocumentOptions-Context + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientJavaDocCodeSnippets.java deleted file mode 100644 index 05835b4ce4c5a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientJavaDocCodeSnippets.java +++ /dev/null @@ -1,1252 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.util.polling.AsyncPollResponse; -import reactor.core.publisher.Flux; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.file.Files; -import java.time.Duration; -import java.time.LocalDate; -import java.util.List; -import java.util.Map; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * Code snippet for {@link FormRecognizerAsyncClient} - */ -public class FormRecognizerAsyncClientJavaDocCodeSnippets { - private final FormRecognizerAsyncClient formRecognizerAsyncClient - = new FormRecognizerClientBuilder().buildAsyncClient(); - - /** - * Code snippet for creating a {@link FormRecognizerAsyncClient} - */ - public void createFormRecognizerAsyncClient() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.instantiation - FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("{endpoint}") - .buildAsyncClient(); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.instantiation - } - - /** - * Code snippet for creating a {@link FormRecognizerAsyncClient} with pipeline - */ - public void createFormRecognizerAsyncClientWithPipeline() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.pipeline.instantiation - HttpPipeline pipeline = new HttpPipelineBuilder() - .policies(/* add policies */) - .build(); - - FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("{endpoint}") - .pipeline(pipeline) - .buildAsyncClient(); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.pipeline.instantiation - } - - // Recognize Custom Form - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeCustomFormsFromUrl(String, String)} - */ - public void beginRecognizeCustomFormsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string - String formUrl = "{form_url}"; - String modelId = "{custom_trained_model_id}"; - - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(recognizedForm -> recognizedForm.getFields() - .forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeCustomFormsFromUrl(String, String, RecognizeCustomFormsOptions)} with options - */ - public void beginRecognizeCustomFormsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions - String formUrl = "{formUrl}"; - String modelId = "{model_id}"; - boolean includeFieldElements = true; - - formRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl, - new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(includeFieldElements) - .setPollInterval(Duration.ofSeconds(10))) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(recognizedForm -> recognizedForm.getFields() - .forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeCustomForms} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeCustomForms() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long - File form = new File("{local/file_path/fileName.jpg}"); - String modelId = "{custom_trained_model_id}"; - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); - - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeCustomForms(modelId, buffer, form.length()) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(recognizedForm -> recognizedForm.getFields() - .forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeCustomForms(String, Flux, long, RecognizeCustomFormsOptions)} - * with options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeCustomFormsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long-RecognizeCustomFormsOptions - File form = new File("{local/file_path/fileName.jpg}"); - String modelId = "{custom_trained_model_id}"; - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); - - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeCustomForms(modelId, buffer, form.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements) - .setPollInterval(Duration.ofSeconds(5))) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(recognizedForm -> recognizedForm.getFields() - .forEach((fieldName, formField) -> { - System.out.printf("Field text: %s%n", fieldName); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeCustomForms#string-Flux-long-RecognizeCustomFormsOptions - } - - // Recognize Content - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeContentFromUrl(String)} - */ - public void beginRecognizeContentFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string - String formUrl = "{formUrl}"; - formRecognizerAsyncClient.beginRecognizeContentFromUrl(formUrl) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables().forEach(formTable -> - formTable.getCells().forEach(recognizedTableCell -> - System.out.printf("%s ", recognizedTableCell.getText()))); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeContentFromUrl(String, RecognizeContentOptions)} with - * options - */ - public void beginRecognizeContentFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions - String formUrl = "{formUrl}"; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeContentFromUrl(formUrl, - new RecognizeContentOptions().setPollInterval(Duration.ofSeconds(5))) - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables().forEach(formTable -> - formTable.getCells().forEach(recognizedTableCell -> - System.out.printf("%s ", recognizedTableCell.getText()))); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeContent} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeContent() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long - File form = new File("{local/file_path/fileName.jpg}"); - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); - - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeContent(buffer, form.length()) - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables().forEach(formTable -> - formTable.getCells().forEach(recognizedTableCell -> - System.out.printf("%s ", recognizedTableCell.getText()))); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeContent(Flux, long, RecognizeContentOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeContentWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long-RecognizeContentOptions - File form = new File("{local/file_path/fileName.jpg}"); - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(form.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeContent(buffer, form.length(), - new RecognizeContentOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setPollInterval(Duration.ofSeconds(5))) - .flatMap(AsyncPollResponse::getFinalResult) - .flatMap(Flux::fromIterable) - .subscribe(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables().forEach(formTable -> formTable.getCells().forEach(recognizedTableCell -> - System.out.printf("%s ", recognizedTableCell.getText()))); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeContent#Flux-long-RecognizeContentOptions - } - - // Recognize Receipts - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeReceiptsFromUrl(String)} - */ - public void beginRecognizeReceiptsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string - String receiptUrl = "{receiptUrl}"; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeReceiptsFromUrl(receiptUrl) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedReceipts -> { - for (int i = 0; i < recognizedReceipts.size(); i++) { - RecognizedForm recognizedForm = recognizedReceipts.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Receipt page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeReceiptsFromUrl(String, RecognizeReceiptsOptions)} - */ - public void beginRecognizeReceiptsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions - String receiptUrl = "{receiptUrl}"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeReceiptsFromUrl(receiptUrl, - new RecognizeReceiptsOptions() - .setFieldElementsIncluded(includeFieldElements) - .setLocale(FormRecognizerLocale.EN_US) - .setPollInterval(Duration.ofSeconds(5))) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedReceipts -> { - for (int i = 0; i < recognizedReceipts.size(); i++) { - RecognizedForm recognizedReceipt = recognizedReceipts.get(i); - Map recognizedFields = recognizedReceipt.getFields(); - System.out.printf("----------- Recognized Receipt page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeReceipts(Flux, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeReceipts() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long - File receipt = new File("{file_source_url}"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(receipt.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeReceipts(buffer, receipt.length()) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedReceipts -> { - for (int i = 0; i < recognizedReceipts.size(); i++) { - RecognizedForm recognizedForm = recognizedReceipts.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Receipt page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeReceipts(Flux, long, RecognizeReceiptsOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeReceiptsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long-RecognizeReceiptsOptions - File receipt = new File("{local/file_path/fileName.jpg}"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(receipt.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeReceipts(buffer, receipt.length(), - new RecognizeReceiptsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements) - .setLocale(FormRecognizerLocale.EN_US) - .setPollInterval(Duration.ofSeconds(5))) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedReceipts -> { - for (int i = 0; i < recognizedReceipts.size(); i++) { - RecognizedForm recognizedForm = recognizedReceipts.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Receipt page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeReceipts#Flux-long-RecognizeReceiptsOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeBusinessCardsFromUrl(String)} - */ - public void beginRecognizeBusinessCardsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string - String businessCardUrl = "{business_card_url}"; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedBusinessCards -> { - for (int i = 0; i < recognizedBusinessCards.size(); i++) { - RecognizedForm recognizedForm = recognizedBusinessCards.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Business Card page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeBusinessCardsFromUrl(String, RecognizeBusinessCardsOptions)} - */ - public void beginRecognizeBusinessCardsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions - String businessCardUrl = "{business_card_url}"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl, - new RecognizeBusinessCardsOptions() - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedBusinessCards -> { - for (int i = 0; i < recognizedBusinessCards.size(); i++) { - RecognizedForm recognizedBusinessCard = recognizedBusinessCards.get(i); - Map recognizedFields = recognizedBusinessCard.getFields(); - System.out.printf("----------- Recognized Business Card page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeBusinessCards(Flux, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeBusinessCards() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long - File businessCard = new File("{local/file_path/fileName.jpg}"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(businessCard.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeBusinessCards(buffer, businessCard.length()) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedBusinessCards -> { - for (int i = 0; i < recognizedBusinessCards.size(); i++) { - RecognizedForm recognizedForm = recognizedBusinessCards.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Business Card page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeBusinessCards(Flux, long, RecognizeBusinessCardsOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeBusinessCardsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long-RecognizeBusinessCardsOptions - File businessCard = new File("{local/file_path/fileName.jpg}"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(businessCard.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeBusinessCards(buffer, businessCard.length(), - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedBusinessCards -> { - for (int i = 0; i < recognizedBusinessCards.size(); i++) { - RecognizedForm recognizedForm = recognizedBusinessCards.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized Business Card page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeBusinessCards#Flux-long-RecognizeBusinessCardsOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeInvoicesFromUrl(String)} - */ - public void beginRecognizeInvoicesFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string - String invoiceUrl = "invoice_url"; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeInvoicesFromUrl(invoiceUrl) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedForm = recognizedInvoices.get(i); - Map recognizedFields = recognizedForm.getFields(); - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeInvoicesFromUrl(String, RecognizeInvoicesOptions)} - */ - public void beginRecognizeInvoicesFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions - String invoiceUrl = "invoice_url"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeInvoicesFromUrl(invoiceUrl, - new RecognizeInvoicesOptions() - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedForm = recognizedInvoices.get(i); - Map recognizedFields = recognizedForm.getFields(); - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeInvoices(Flux, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeInvoices() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long - File invoice = new File("local/file_path/invoice.jpg"); - Flux buffer = - toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(invoice.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeInvoices(buffer, invoice.length()) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedForm = recognizedInvoices.get(i); - Map recognizedFields = recognizedForm.getFields(); - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeInvoices(Flux, long, RecognizeInvoicesOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeInvoicesWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long-RecognizeInvoicesOptions - File invoice = new File("local/file_path/invoice.jpg"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - Flux buffer = - toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(invoice.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeInvoices(buffer, - invoice.length(), - new RecognizeInvoicesOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedInvoices -> { - for (int i = 0; i < recognizedInvoices.size(); i++) { - RecognizedForm recognizedForm = recognizedInvoices.get(i); - Map recognizedFields = recognizedForm.getFields(); - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeInvoices#Flux-long-RecognizeInvoicesOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeIdentityDocumentsFromUrl(String)} - */ - public void beginRecognizeIDDocumentFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string - String idDocumentUrl = "idDocumentUrl"; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl(idDocumentUrl) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedIDDocumentResult -> { - for (int i = 0; i < recognizedIDDocumentResult.size(); i++) { - RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeIdentityDocumentsFromUrl(String, RecognizeIdentityDocumentOptions)} - */ - public void beginRecognizeIdentityDocumentsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions - String licenseDocumentUrl = "licenseDocumentUrl"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl, - new RecognizeIdentityDocumentOptions() - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedIDDocumentResult -> { - for (int i = 0; i < recognizedIDDocumentResult.size(); i++) { - RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeIdentityDocuments(Flux, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeIdentityDocuments() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long - File license = new File("local/file_path/license.jpg"); - Flux buffer = - toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(license.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeIdentityDocuments(buffer, license.length()) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedIDDocumentResult -> { - for (int i = 0; i < recognizedIDDocumentResult.size(); i++) { - RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeIdentityDocuments(Flux, long, RecognizeIdentityDocumentOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeIdentityDocumentsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long-RecognizeIdentityDocumentOptions - File licenseDocument = new File("local/file_path/license.jpg"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - Flux buffer = - toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(licenseDocument.toPath()))); - // if training polling operation completed, retrieve the final result. - formRecognizerAsyncClient.beginRecognizeIdentityDocuments(buffer, - licenseDocument.length(), - new RecognizeIdentityDocumentOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements)) - .setPollInterval(Duration.ofSeconds(5)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(recognizedIDDocumentResult -> { - for (int i = 0; i < recognizedIDDocumentResult.size(); i++) { - RecognizedForm recognizedForm = recognizedIDDocumentResult.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized license info for page %d -----------%n", i); - - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerAsyncClient.beginRecognizeIdentityDocuments#Flux-long-RecognizeIdentityDocumentOptions - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerClientJavaDocCodeSnippets.java deleted file mode 100644 index a439c15420124..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormRecognizerClientJavaDocCodeSnippets.java +++ /dev/null @@ -1,1195 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.util.Context; -import reactor.core.publisher.Flux; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.time.Duration; -import java.time.LocalDate; -import java.util.List; -import java.util.Map; - -/** - * Code snippet for {@link FormRecognizerClient} - */ -public class FormRecognizerClientJavaDocCodeSnippets { - private final FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder().buildClient(); - - /** - * Code snippet for creating a {@link FormRecognizerClient} - */ - public void createFormRecognizerClient() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.instantiation - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("{endpoint}") - .buildClient(); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.instantiation - } - - /** - * Code snippet for creating a {@link FormRecognizerClient} with pipeline - */ - public void createFormRecognizerClientWithPipeline() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.pipeline.instantiation - HttpPipeline pipeline = new HttpPipelineBuilder() - .policies(/* add policies */) - .build(); - - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("{endpoint}") - .pipeline(pipeline) - .buildClient(); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.pipeline.instantiation - } - - - // Recognize Custom Form - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeCustomFormsFromUrl(String, String)} - */ - public void beginRecognizeCustomFormsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string - String formUrl = "{form_url}"; - String modelId = "{custom_trained_model_id}"; - - formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl).getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeCustomFormsFromUrl(String, String, RecognizeCustomFormsOptions, Context)} - */ - public void beginRecognizeCustomFormsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions-Context - String analyzeFilePath = "{file_source_url}"; - String modelId = "{model_id}"; - boolean includeFieldElements = true; - - formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, analyzeFilePath, - new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(includeFieldElements) - .setPollInterval(Duration.ofSeconds(10)), Context.NONE) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomFormsFromUrl#string-string-RecognizeCustomFormsOptions-Context - } - - /** - * Code snippet for - * {@link FormRecognizerClient#beginRecognizeCustomForms(String, InputStream, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeCustomForms() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long - File form = new File("{local/file_path/fileName.jpg}"); - String modelId = "{custom_trained_model_id}"; - byte[] fileContent = Files.readAllBytes(form.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - - formRecognizerClient.beginRecognizeCustomForms(modelId, targetStream, form.length()) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long - } - - /** - * Code snippet for - * {@link FormRecognizerClient#beginRecognizeCustomForms(String, InputStream, long, RecognizeCustomFormsOptions, Context)} with options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeCustomFormsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long-RecognizeCustomFormsOptions-Context - File form = new File("{local/file_path/fileName.jpg}"); - String modelId = "{custom_trained_model_id}"; - boolean includeFieldElements = true; - byte[] fileContent = Files.readAllBytes(form.toPath()); - - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - formRecognizerClient.beginRecognizeCustomForms(modelId, targetStream, form.length(), - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements) - .setPollInterval(Duration.ofSeconds(10)), Context.NONE) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(formFieldMap -> formFieldMap.forEach((fieldText, formField) -> { - System.out.printf("Field text: %s%n", fieldText); - System.out.printf("Field value data text: %s%n", formField.getValueData().getText()); - System.out.printf("Confidence score: %.2f%n", formField.getConfidence()); - })); - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#string-InputStream-long-RecognizeCustomFormsOptions-Context - } - - // Recognize Content - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeContentFromUrl(String)} - */ - public void beginRecognizeContentFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string - String formUrl = "{form_url}"; - formRecognizerClient.beginRecognizeContentFromUrl(formUrl) - .getFinalResult() - .forEach(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables() - .stream() - .flatMap(formTable -> formTable.getCells().stream()) - .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText())); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeContentFromUrl(String, RecognizeContentOptions, Context)} with - * options. - */ - public void beginRecognizeContentFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions-Context - String formPath = "{file_source_url}"; - formRecognizerClient.beginRecognizeContentFromUrl(formPath, - new RecognizeContentOptions() - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult() - .forEach(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables() - .stream() - .flatMap(formTable -> formTable.getCells().stream()) - .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText())); - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContentFromUrl#string-RecognizeContentOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeContent(InputStream, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeContent() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long - File form = new File("{local/file_path/fileName.pdf}"); - byte[] fileContent = Files.readAllBytes(form.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - formRecognizerClient.beginRecognizeContent(targetStream, form.length()) - .getFinalResult() - .forEach(formPage -> { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables() - .stream() - .flatMap(formTable -> formTable.getCells().stream()) - .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText())); - }); - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeContent(InputStream, long, RecognizeContentOptions, Context)} with - * options. - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeContentWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long-RecognizeContentOptions-Context - File form = new File("{file_source_url}"); - byte[] fileContent = Files.readAllBytes(form.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - - for (FormPage formPage : formRecognizerClient.beginRecognizeContent(targetStream, form.length(), - new RecognizeContentOptions() - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult()) { - System.out.printf("Page Angle: %s%n", formPage.getTextAngle()); - System.out.printf("Page Dimension unit: %s%n", formPage.getUnit()); - // Table information - System.out.println("Recognized Tables: "); - formPage.getTables() - .stream() - .flatMap(formTable -> formTable.getCells().stream()) - .forEach(recognizedTableCell -> System.out.printf("%s ", recognizedTableCell.getText())); - } - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeContent#InputStream-long-RecognizeContentOptions-Context - } - - // Recognize Receipts - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeReceiptsFromUrl(String)} - */ - public void beginRecognizeReceiptsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string - String receiptUrl = "{file_source_url}"; - formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl) - .getFinalResult() - .forEach(recognizedReceipt -> { - Map recognizedFields = recognizedReceipt.getFields(); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeReceiptsFromUrl(String, RecognizeReceiptsOptions, Context)} - */ - public void beginRecognizeReceiptsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions-Context - String receiptUrl = "{receipt_url}"; - formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl, - new RecognizeReceiptsOptions() - .setLocale(FormRecognizerLocale.EN_US) - .setPollInterval(Duration.ofSeconds(5)) - .setFieldElementsIncluded(true), Context.NONE) - .getFinalResult() - .forEach(recognizedReceipt -> { - Map recognizedFields = recognizedReceipt.getFields(); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceiptsFromUrl#string-RecognizeReceiptsOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeReceipts(InputStream, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeReceipts() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long - File receipt = new File("{receipt_url}"); - byte[] fileContent = Files.readAllBytes(receipt.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - - formRecognizerClient.beginRecognizeReceipts(targetStream, receipt.length()).getFinalResult() - .forEach(recognizedReceipt -> { - Map recognizedFields = recognizedReceipt.getFields(); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - }); - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeReceipts(InputStream, long, RecognizeReceiptsOptions, Context)} - * with options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeReceiptsWithOptions() throws IOException { - - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long-RecognizeReceiptsOptions-Context - File receipt = new File("{local/file_path/fileName.jpg}"); - boolean includeFieldElements = true; - byte[] fileContent = Files.readAllBytes(receipt.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - for (RecognizedForm recognizedForm : formRecognizerClient - .beginRecognizeReceipts(targetStream, receipt.length(), - new RecognizeReceiptsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements) - .setLocale(FormRecognizerLocale.EN_US) - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult()) { - Map recognizedFields = recognizedForm.getFields(); - FormField merchantNameField = recognizedFields.get("MerchantName"); - if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", - merchantName, merchantNameField.getConfidence()); - } - } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); - if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); - System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", - merchantAddress, merchantPhoneNumberField.getConfidence()); - } - } - FormField transactionDateField = recognizedFields.get("TransactionDate"); - if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - transactionDate, transactionDateField.getConfidence()); - } - } - FormField receiptItemsField = recognizedFields.get("Items"); - if (receiptItemsField != null) { - System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); - receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { - if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); - } - } - })); - } - } - } - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeReceipts#InputStream-long-RecognizeReceiptsOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeBusinessCardsFromUrl(String)} - */ - public void beginRecognizeBusinessCardsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string - String businessCardUrl = "{business_card_url}"; - formRecognizerClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl) - .getFinalResult() - .forEach(recognizedBusinessCard -> { - Map recognizedFields = recognizedBusinessCard.getFields(); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerClient#beginRecognizeBusinessCardsFromUrl(String, RecognizeBusinessCardsOptions, Context)} - */ - public void beginRecognizeBusinessCardsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions-Context - String businessCardUrl = "{business_card_url}"; - formRecognizerClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl, - new RecognizeBusinessCardsOptions() - .setFieldElementsIncluded(true), Context.NONE) - .setPollInterval(Duration.ofSeconds(5)).getFinalResult() - .forEach(recognizedBusinessCard -> { - Map recognizedFields = recognizedBusinessCard.getFields(); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCardsFromUrl#string-RecognizeBusinessCardsOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeBusinessCards(InputStream, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeBusinessCards() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long - File businessCard = new File("{local/file_path/fileName.jpg}"); - byte[] fileContent = Files.readAllBytes(businessCard.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - formRecognizerClient.beginRecognizeBusinessCards(targetStream, businessCard.length()).getFinalResult() - .forEach(recognizedBusinessCard -> { - Map recognizedFields = recognizedBusinessCard.getFields(); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - }); - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long - } - - /** - * Code snippet for - * {@link FormRecognizerClient#beginRecognizeBusinessCards(InputStream, long, RecognizeBusinessCardsOptions, - * Context)} with options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeBusinessCardsWithOptions() throws IOException { - - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long-RecognizeBusinessCardsOptions-Context - File businessCard = new File("{local/file_path/fileName.jpg}"); - boolean includeFieldElements = true; - byte[] fileContent = Files.readAllBytes(businessCard.toPath()); - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - for (RecognizedForm recognizedForm : formRecognizerClient.beginRecognizeBusinessCards(targetStream, - businessCard.length(), - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements), - Context.NONE).setPollInterval(Duration.ofSeconds(5)) - .getFinalResult()) { - Map recognizedFields = recognizedForm.getFields(); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } - } - } - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeBusinessCards#InputStream-long-RecognizeBusinessCardsOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeInvoicesFromUrl(String)} - */ - public void beginRecognizeInvoicesFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string - String invoiceUrl = "invoice_url"; - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeInvoicesFromUrl(invoiceUrl) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeInvoicesFromUrl(String, RecognizeInvoicesOptions)} - */ - public void beginRecognizeInvoicesFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions-Context - String invoiceUrl = "invoice_url"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeInvoicesFromUrl(invoiceUrl, - new RecognizeInvoicesOptions() - .setFieldElementsIncluded(includeFieldElements), - Context.NONE).setPollInterval(Duration.ofSeconds(5)) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoicesFromUrl#string-RecognizeInvoicesOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerAsyncClient#beginRecognizeInvoices(Flux, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeInvoices() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long - File invoice = new File("local/file_path/invoice.jpg"); - ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(invoice.toPath())); - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeInvoices(inputStream, invoice.length()) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeInvoices(Flux, long, RecognizeInvoicesOptions)} with - * options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeInvoicesWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long-RecognizeInvoicesOptions-Context - File invoice = new File("local/file_path/invoice.jpg"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(invoice.toPath())); - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeInvoices(inputStream, - invoice.length(), - new RecognizeInvoicesOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements), - Context.NONE) - .setPollInterval(Duration.ofSeconds(5)) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField customAddrFormField = recognizedFields.get("CustomerAddress"); - if (customAddrFormField != null) { - if (FieldValueType.STRING == customAddrFormField.getValue().getValueType()) { - System.out.printf("Customer Address: %s%n", customAddrFormField.getValue().asString()); - } - } - FormField invoiceDateFormField = recognizedFields.get("InvoiceDate"); - if (invoiceDateFormField != null) { - if (FieldValueType.DATE == invoiceDateFormField.getValue().getValueType()) { - LocalDate invoiceDate = invoiceDateFormField.getValue().asDate(); - System.out.printf("Invoice Date: %s, confidence: %.2f%n", - invoiceDate, invoiceDateFormField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeInvoices#InputStream-long-RecognizeInvoicesOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeIdentityDocumentsFromUrl(String)} - */ - public void beginRecognizeIdentityDocumentsFromUrl() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string - String licenseDocumentUrl = "licenseDocumentUrl"; - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); - if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); - System.out.printf("Date of Birth: %s, confidence: %.2f%n", - dateOfBirth, dateOfBirthField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string - } - - /** - * Code snippet for - * {@link FormRecognizerAsyncClient#beginRecognizeIdentityDocumentsFromUrl(String, RecognizeIdentityDocumentOptions, Context)} - */ - public void beginRecognizeIdentityDocumentsFromUrlWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions-Context - String licenseDocumentUrl = "licenseDocumentUrl"; - boolean includeFieldElements = true; - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeIdentityDocumentsFromUrl(licenseDocumentUrl, - new RecognizeIdentityDocumentOptions() - .setFieldElementsIncluded(includeFieldElements), - Context.NONE).setPollInterval(Duration.ofSeconds(5)) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocumentsFromUrl#string-RecognizeIdentityDocumentOptions-Context - } - - /** - * Code snippet for {@link FormRecognizerClient#beginRecognizeIdentityDocuments(InputStream, long)} - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeIdentityDocuments() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long - File license = new File("local/file_path/license.jpg"); - ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(license.toPath())); - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeIdentityDocuments(inputStream, license.length()) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long - } - - /** - * Code snippet for - * {@link FormRecognizerClient#beginRecognizeIdentityDocuments(InputStream, long, RecognizeIdentityDocumentOptions, Context)} - * with options - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public void beginRecognizeIdentityDocumentsWithOptions() throws IOException { - // BEGIN: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long-RecognizeIdentityDocumentOptions-Context - File licenseDocument = new File("local/file_path/license.jpg"); - boolean includeFieldElements = true; - // Utility method to convert input stream to Byte buffer - ByteArrayInputStream inputStream = new ByteArrayInputStream(Files.readAllBytes(licenseDocument.toPath())); - // if training polling operation completed, retrieve the final result. - formRecognizerClient.beginRecognizeIdentityDocuments(inputStream, - licenseDocument.length(), - new RecognizeIdentityDocumentOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(includeFieldElements), - Context.NONE) - .setPollInterval(Duration.ofSeconds(5)) - .getFinalResult() - .stream() - .map(RecognizedForm::getFields) - .forEach(recognizedFields -> { - FormField firstNameField = recognizedFields.get("FirstName"); - if (firstNameField != null) { - if (FieldValueType.STRING == firstNameField.getValue().getValueType()) { - String firstName = firstNameField.getValue().asString(); - System.out.printf("First Name: %s, confidence: %.2f%n", - firstName, firstNameField.getConfidence()); - } - } - - FormField lastNameField = recognizedFields.get("LastName"); - if (lastNameField != null) { - if (FieldValueType.STRING == lastNameField.getValue().getValueType()) { - String lastName = lastNameField.getValue().asString(); - System.out.printf("Last name: %s, confidence: %.2f%n", - lastName, lastNameField.getConfidence()); - } - } - - FormField countryRegionFormField = recognizedFields.get("CountryRegion"); - if (countryRegionFormField != null) { - if (FieldValueType.STRING == countryRegionFormField.getValue().getValueType()) { - String countryRegion = countryRegionFormField.getValue().asCountryRegion(); - System.out.printf("Country or region: %s, confidence: %.2f%n", - countryRegion, countryRegionFormField.getConfidence()); - } - } - - FormField dateOfBirthField = recognizedFields.get("DateOfBirth"); - if (dateOfBirthField != null) { - if (FieldValueType.DATE == dateOfBirthField.getValue().getValueType()) { - LocalDate dateOfBirth = dateOfBirthField.getValue().asDate(); - System.out.printf("Date of Birth: %s, confidence: %.2f%n", - dateOfBirth, dateOfBirthField.getConfidence()); - } - } - - FormField dateOfExpirationField = recognizedFields.get("DateOfExpiration"); - if (dateOfExpirationField != null) { - if (FieldValueType.DATE == dateOfExpirationField.getValue().getValueType()) { - LocalDate expirationDate = dateOfExpirationField.getValue().asDate(); - System.out.printf("Document date of expiration: %s, confidence: %.2f%n", - expirationDate, dateOfExpirationField.getConfidence()); - } - } - - FormField documentNumberField = recognizedFields.get("DocumentNumber"); - if (documentNumberField != null) { - if (FieldValueType.STRING == documentNumberField.getValue().getValueType()) { - String documentNumber = documentNumberField.getValue().asString(); - System.out.printf("Document number: %s, confidence: %.2f%n", - documentNumber, documentNumberField.getConfidence()); - } - } - }); - // END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeIdentityDocuments#InputStream-long-RecognizeIdentityDocumentOptions-Context - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientJavaDocCodeSnippets.java deleted file mode 100644 index c121d9818b272..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientJavaDocCodeSnippets.java +++ /dev/null @@ -1,351 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.TrainingFileFilter; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.HttpPipeline; -import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.util.polling.AsyncPollResponse; - -import java.time.Duration; -import java.util.Arrays; -import java.util.List; - -/** - * Code snippet for {@link FormTrainingAsyncClient} - */ -public class FormTrainingAsyncClientJavaDocCodeSnippets { - private final FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder().buildAsyncClient(); - - /** - * Code snippet for {@link FormTrainingAsyncClient} initialization - */ - public void formTrainingAsyncClientInInitialization() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.initialization - FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder().buildAsyncClient(); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.initialization - } - - /** - * Code snippet for creating a {@link FormTrainingAsyncClient} with pipeline - */ - public void createFormTrainingAsyncClientWithPipeline() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.pipeline.instantiation - HttpPipeline pipeline = new HttpPipelineBuilder() - .policies(/* add policies */) - .build(); - - FormTrainingAsyncClient formTrainingAsyncClient = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("{endpoint}") - .pipeline(pipeline) - .buildAsyncClient(); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.pipeline.instantiation - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginTraining(String, boolean)} - */ - public void beginTraining() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean - String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; - boolean useTrainingLabels = true; - formTrainingAsyncClient.beginTraining(trainingFilesUrl, useTrainingLabels) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModel -> { - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginTraining(String, boolean, TrainingOptions)} - * with options - */ - public void beginTrainingWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean-TrainingOptions - String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; - TrainingFileFilter trainingFileFilter = new TrainingFileFilter().setSubfoldersIncluded(true).setPrefix("Invoice"); - - formTrainingAsyncClient.beginTraining(trainingFilesUrl, true, - new TrainingOptions() - .setTrainingFileFilter(trainingFileFilter) - .setPollInterval(Duration.ofSeconds(5))) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModel -> { - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels().forEach(customFormSubmodel -> - customFormSubmodel.getFields().forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginTraining#string-boolean-TrainingOptions - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getCustomModel(String)} - */ - public void getCustomModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModel#string - String modelId = "{model_id}"; - formTrainingAsyncClient.getCustomModel(modelId).subscribe(customFormModel -> { - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModel#string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getCustomModelWithResponse(String)} - */ - public void getCustomModelWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModelWithResponse#string - String modelId = "{model_id}"; - formTrainingAsyncClient.getCustomModelWithResponse(modelId).subscribe(response -> { - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - CustomFormModel customFormModel = response.getValue(); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCustomModelWithResponse#string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getAccountProperties()} - */ - public void getAccountProperties() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountProperties - formTrainingAsyncClient.getAccountProperties() - .subscribe(accountProperties -> { - System.out.printf("Max number of models that can be trained for this account: %d%n", - accountProperties.getCustomModelLimit()); - System.out.printf("Current count of trained custom models: %d%n", - accountProperties.getCustomModelCount()); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountProperties - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getAccountPropertiesWithResponse()} - */ - public void getAccountPropertiesWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountPropertiesWithResponse - formTrainingAsyncClient.getAccountPropertiesWithResponse() - .subscribe(response -> { - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - AccountProperties accountProperties = response.getValue(); - System.out.printf("Max number of models that can be trained for this account: %d%n", - accountProperties.getCustomModelLimit()); - System.out.printf("Current count of trained custom models: %d%n", - accountProperties.getCustomModelCount()); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getAccountPropertiesWithResponse - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#deleteModel} - */ - public void deleteModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModel#string - String modelId = "{model_id}"; - formTrainingAsyncClient.deleteModel(modelId) - .subscribe(ignored -> System.out.printf("Model Id: %s is deleted%n", modelId)); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModel#string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#deleteModelWithResponse(String)} - */ - public void deleteModelWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModelWithResponse#string - String modelId = "{model_id}"; - formTrainingAsyncClient.deleteModelWithResponse(modelId) - .subscribe(response -> { - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - System.out.printf("Model Id: %s is deleted.%n", modelId); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.deleteModelWithResponse#string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#listCustomModels()} - */ - public void listCustomModels() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.listCustomModels - formTrainingAsyncClient.listCustomModels() - .subscribe(customModel -> - System.out.printf("Model Id: %s, Model status: %s, Created on: %s, Last updated on: %s.%n", - customModel.getModelId(), - customModel.getStatus(), - customModel.getTrainingStartedOn(), - customModel.getTrainingCompletedOn())); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.listCustomModels - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginCopyModel(String, CopyAuthorization)} - */ - public void beginCopy() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - String copyModelId = "copy-model-Id"; - formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion) - .flatMapMany(copyAuthorization -> formTrainingAsyncClient.beginCopyModel(copyModelId, copyAuthorization)) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModelInfo -> - System.out.printf("Copied model has model Id: %s, model status: %s, training started on: %s," - + " training completed on: %s.%n", - customFormModelInfo.getModelId(), - customFormModelInfo.getStatus(), - customFormModelInfo.getTrainingStartedOn(), - customFormModelInfo.getTrainingCompletedOn())); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginCopyModel(String, CopyAuthorization, Duration)} - */ - public void beginCopyOverload() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization-Duration - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - String copyModelId = "copy-model-Id"; - formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion) - .flatMapMany(copyAuthorization -> formTrainingAsyncClient.beginCopyModel(copyModelId, copyAuthorization, - Duration.ofSeconds(5))) - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModelInfo -> - System.out.printf("Copied model has model Id: %s, model status: %s, training started on: %s," - + "training completed on: %s.%n", - customFormModelInfo.getModelId(), - customFormModelInfo.getStatus(), - customFormModelInfo.getTrainingStartedOn(), - customFormModelInfo.getTrainingCompletedOn())); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCopyModel#string-copyAuthorization-Duration - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getCopyAuthorization(String, String)} - */ - public void getCopyAuthorization() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorization#string-string - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - formTrainingAsyncClient.getCopyAuthorization(resourceId, resourceRegion) - .subscribe(copyAuthorization -> - System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " - + "target resource Id; %s, target resource region: %s%n", - copyAuthorization.getModelId(), - copyAuthorization.getAccessToken(), - copyAuthorization.getExpiresOn(), - copyAuthorization.getResourceId(), - copyAuthorization.getResourceRegion() - )); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorization#string-string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#getCopyAuthorizationWithResponse(String, String)} - */ - public void getCopyAuthorizationWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorizationWithResponse#string-string - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - formTrainingAsyncClient.getCopyAuthorizationWithResponse(resourceId, resourceRegion) - .subscribe(copyAuthorization -> - System.out.printf("Copy Authorization response status: %s, for model id: %s, access token: %s, " - + "expiration time: %s, target resource Id; %s, target resource region: %s%n", - copyAuthorization.getStatusCode(), - copyAuthorization.getValue().getModelId(), - copyAuthorization.getValue().getAccessToken(), - copyAuthorization.getValue().getExpiresOn(), - copyAuthorization.getValue().getResourceId(), - copyAuthorization.getValue().getResourceRegion() - )); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.getCopyAuthorizationWithResponse#string-string - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginCreateComposedModel(List)} - */ - public void beginCreateComposedModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list - String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8"; - String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; - formTrainingAsyncClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2)) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModel -> { - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list - } - - /** - * Code snippet for {@link FormTrainingAsyncClient#beginCreateComposedModel(List, CreateComposedModelOptions)} - * with options - */ - public void beginCreateComposedModelWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list-createComposedModelOptions - String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8"; - String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; - formTrainingAsyncClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), - new CreateComposedModelOptions() - .setModelName("my composed model name")) - .setPollInterval(Duration.ofSeconds(5)) - // if training polling operation completed, retrieve the final result. - .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModel -> { - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model display name: %s%n", customFormModel.getModelName()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - }); - // END: com.azure.ai.formrecognizer.training.FormTrainingAsyncClient.beginCreateComposedModel#list-createComposedModelOptions - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingClientJavaDocCodeSnippets.java deleted file mode 100644 index 06df11b5211e3..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/FormTrainingClientJavaDocCodeSnippets.java +++ /dev/null @@ -1,339 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.TrainingFileFilter; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.http.rest.Response; -import com.azure.core.util.Context; - -import java.time.Duration; -import java.util.Arrays; -import java.util.List; - -/** - * Code snippet for {@link FormTrainingClient} - */ -public class FormTrainingClientJavaDocCodeSnippets { - private final FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); - private final FormTrainingClient targetFormTrainingClient = new FormTrainingClientBuilder().buildClient(); - - /** - * Code snippet for {@link FormTrainingClient} initialization - */ - public void formTrainingClientInInitialization() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.initialization - FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.initialization - } - - /** - * Code snippet for {@link FormTrainingClient#beginTraining(String, boolean)} - */ - public void beginTraining() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean - String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; - boolean useTrainingLabels = true; - CustomFormModel customFormModel = - formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels).getFinalResult(); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean - } - - /** - * Code snippet for {@link FormTrainingClient#beginTraining(String, boolean, TrainingOptions, Context)} - * with options - */ - public void beginTrainingWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean-TrainingOptions-Context - String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; - TrainingFileFilter trainingFileFilter = new TrainingFileFilter().setSubfoldersIncluded(false).setPrefix("Invoice"); - boolean useTrainingLabels = true; - - CustomFormModel customFormModel = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions() - .setTrainingFileFilter(trainingFileFilter) - .setPollInterval(Duration.ofSeconds(5)), Context.NONE) - .getFinalResult(); - - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginTraining#string-boolean-TrainingOptions-Context - } - - /** - * Code snippet for {@link FormTrainingClient#getCustomModel(String)} - */ - public void getCustomModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModel#string - String modelId = "{model_id}"; - CustomFormModel customFormModel = formTrainingClient.getCustomModel(modelId); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form Type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModel#string - } - - /** - * Code snippet for {@link FormTrainingClient#getCustomModelWithResponse(String, Context)} - */ - public void getCustomModelWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModelWithResponse#string-Context - String modelId = "{model_id}"; - Response response = formTrainingClient.getCustomModelWithResponse(modelId, Context.NONE); - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - CustomFormModel customFormModel = response.getValue(); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Field: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getCustomModelWithResponse#string-Context - } - - /** - * Code snippet for {@link FormTrainingClient#getAccountProperties()} - */ - public void getAccountProperties() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountProperties - AccountProperties accountProperties = formTrainingClient.getAccountProperties(); - System.out.printf("Max number of models that can be trained for this account: %d%n", - accountProperties.getCustomModelLimit()); - System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount()); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountProperties - } - - /** - * Code snippet for {@link FormTrainingClient#getAccountPropertiesWithResponse(Context)} - */ - public void getAccountPropertiesWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountPropertiesWithResponse#Context - Response response = formTrainingClient.getAccountPropertiesWithResponse(Context.NONE); - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - AccountProperties accountProperties = response.getValue(); - System.out.printf("Max number of models that can be trained for this account: %s%n", - accountProperties.getCustomModelLimit()); - System.out.printf("Current count of trained custom models: %d%n", accountProperties.getCustomModelCount()); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getAccountPropertiesWithResponse#Context - } - - /** - * Code snippet for {@link FormTrainingClient#deleteModel(String)} - */ - public void deleteModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModel#string - String modelId = "{model_id}"; - formTrainingClient.deleteModel(modelId); - System.out.printf("Model Id: %s is deleted.%n", modelId); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModel#string - } - - /** - * Code snippet for {@link FormTrainingClient#deleteModelWithResponse(String, Context)} - */ - public void deleteModelWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModelWithResponse#string-Context - String modelId = "{model_id}"; - Response response = formTrainingClient.deleteModelWithResponse(modelId, Context.NONE); - System.out.printf("Response Status Code: %d.", response.getStatusCode()); - System.out.printf("Model Id: %s is deleted.%n", modelId); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.deleteModelWithResponse#string-Context - } - - /** - * Code snippet for {@link FormTrainingClient#listCustomModels()} - */ - public void listCustomModels() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels - formTrainingClient.listCustomModels() - .forEach(customModel -> - System.out.printf("Model Id: %s, Model status: %s, Training started on: %s, Training completed on: %s.%n", - customModel.getModelId(), - customModel.getStatus(), - customModel.getTrainingStartedOn(), - customModel.getTrainingCompletedOn()) - ); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels - } - - /** - * Code snippet for {@link FormTrainingClient#listCustomModels(Context)} - */ - public void listCustomModelsWithContext() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels#Context - formTrainingClient.listCustomModels(Context.NONE) - .forEach(customModel -> - System.out.printf("Model Id: %s, Model status: %s, Training started on: %s, Training completed on: %s.%n", - customModel.getModelId(), - customModel.getStatus(), - customModel.getTrainingStartedOn(), - customModel.getTrainingCompletedOn()) - ); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.listCustomModels#Context - } - - /** - * Code snippet for {@link FormTrainingClient#beginCopyModel(String, CopyAuthorization)} - */ - public void beginCopy() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCopyModel#string-copyAuthorization - // The resource to copy model to - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - // The Id of the model to be copied - String copyModelId = "copy-model-Id"; - - CopyAuthorization copyAuthorization = targetFormTrainingClient.getCopyAuthorization(resourceId, - resourceRegion); - formTrainingClient.beginCopyModel(copyModelId, copyAuthorization).waitForCompletion(); - CustomFormModel modelCopy = targetFormTrainingClient.getCustomModel(copyAuthorization.getModelId()); - System.out.printf("Copied model has model Id: %s, model status: %s, training started on: %s," - + " training completed on: %s.%n", - modelCopy.getModelId(), - modelCopy.getModelStatus(), - modelCopy.getTrainingStartedOn(), - modelCopy.getTrainingCompletedOn()); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCopyModel#string-copyAuthorization - } - - /** - * Code snippet for {@link FormTrainingClient#beginCopyModel(String, CopyAuthorization, Duration, Context)} - */ - public void beginCopyOverload() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCopyModel#string-copyAuthorization-Duration-Context - // The resource to copy model to - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - // The Id of the model to be copied - String copyModelId = "copy-model-Id"; - - CopyAuthorization copyAuthorization = targetFormTrainingClient.getCopyAuthorization(resourceId, - resourceRegion); - formTrainingClient.beginCopyModel(copyModelId, copyAuthorization, Duration.ofSeconds(5), Context.NONE) - .waitForCompletion(); - CustomFormModel modelCopy = targetFormTrainingClient.getCustomModel(copyAuthorization.getModelId()); - System.out.printf("Copied model has model Id: %s, model status: %s, was requested on: %s," - + " transfer completed on: %s.%n", - modelCopy.getModelId(), - modelCopy.getModelStatus(), - modelCopy.getTrainingStartedOn(), - modelCopy.getTrainingCompletedOn()); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCopyModel#string-copyAuthorization-Duration-Context - } - - /** - * Code snippet for {@link FormTrainingClient#getCopyAuthorization(String, String)} - */ - public void getCopyAuthorization() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorization#string-string - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - CopyAuthorization copyAuthorization = formTrainingClient.getCopyAuthorization(resourceId, resourceRegion); - System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " - + "target resource Id; %s, target resource region: %s%n", - copyAuthorization.getModelId(), - copyAuthorization.getAccessToken(), - copyAuthorization.getExpiresOn(), - copyAuthorization.getResourceId(), - copyAuthorization.getResourceRegion() - ); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorization#string-string - } - - /** - * Code snippet for {@link FormTrainingClient#getCopyAuthorizationWithResponse(String, String, Context)} - */ - public void getCopyAuthorizationWithResponse() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorizationWithResponse#string-string-Context - String resourceId = "target-resource-Id"; - String resourceRegion = "target-resource-region"; - Response copyAuthorizationResponse = - formTrainingClient.getCopyAuthorizationWithResponse(resourceId, resourceRegion, Context.NONE); - System.out.printf("Copy Authorization operation returned with status: %s", - copyAuthorizationResponse.getStatusCode()); - CopyAuthorization copyAuthorization = copyAuthorizationResponse.getValue(); - System.out.printf("Copy model id: %s, access token: %s, expiration time: %s, " - + "target resource Id; %s, target resource region: %s%n", - copyAuthorization.getModelId(), - copyAuthorization.getAccessToken(), - copyAuthorization.getExpiresOn(), - copyAuthorization.getResourceId(), - copyAuthorization.getResourceRegion() - ); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.getCopyAuthorizationWithResponse#string-string-Context - } - - /** - * Code snippet for {@link FormTrainingClient#beginCreateComposedModel(List)} - */ - public void beginCreateComposedModel() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list - String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8"; - String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; - final CustomFormModel customFormModel - = formTrainingClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2)) - .getFinalResult(); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list - } - - /** - * Code snippet for {@link FormTrainingClient#beginCreateComposedModel(List, CreateComposedModelOptions, Context)} - * with options - */ - public void beginCreateComposedModelWithOptions() { - // BEGIN: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list-CreateComposedModelOptions-Context - String labeledModelId1 = "5f21ab8d-71a6-42d8-9856-ef5985c486a8"; - String labeledModelId2 = "d7b0904c-841f-46f9-a9f4-3f2273eef7c9"; - final CustomFormModel customFormModel = - formTrainingClient.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), - new CreateComposedModelOptions() - .setModelName("my composed model name"), - Context.NONE) - .setPollInterval(Duration.ofSeconds(5)) - .getFinalResult(); - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model display name: %s%n", customFormModel.getModelName()); - System.out.printf("Is this a composed model: %s%n", - customFormModel.getCustomModelProperties().isComposed()); - customFormModel.getSubmodels() - .forEach(customFormSubmodel -> customFormSubmodel.getFields() - .forEach((key, customFormModelField) -> - System.out.printf("Form type: %s Field Text: %s Field Accuracy: %f%n", - key, customFormModelField.getName(), customFormModelField.getAccuracy()))); - // END: com.azure.ai.formrecognizer.training.FormTrainingClient.beginCreateComposedModel#list-CreateComposedModelOptions-Context - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxes.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxes.java deleted file mode 100644 index 39608f43f028d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxes.java +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.ai.formrecognizer.models.FormWord; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -import java.util.List; - -/** - * Sample to get detailed information to visualize the outlines of form content and fields, - * which can be used for manual validation and drawing UI as part of an application. - */ -public class GetBoundingBoxes { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - String modelId = "{model_Id}"; - String formUrl = "{form_url}"; - SyncPoller> recognizeFormPoller = - client.beginRecognizeCustomFormsFromUrl(modelId, formUrl, new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(true), Context.NONE); - - List recognizedForms = recognizeFormPoller.getFinalResult(); - - for (int i = 0; i < recognizedForms.size(); i++) { - final RecognizedForm recognizedForm = recognizedForms.get(i); - System.out.printf("Form %d has type: %s%n", i, recognizedForm.getFormType()); - // each field is of type FormField - // The value of the field can also be a FormField, or a list of FormFields - // In our sample, it is not. - recognizedForm.getFields().forEach((fieldText, formField) -> System.out.printf("Field %s has value data " - + "text %s with a confidence score of %.2f.%n", - fieldText, formField.getValueData().getText(), - formField.getConfidence())); - - // Page Information - final List pages = recognizedForm.getPages(); - for (int i1 = 0; i1 < pages.size(); i1++) { - final FormPage formPage = pages.get(i1); - System.out.printf("------- Recognizing info on page %s of Form ------- %n", i1); - System.out.printf("Has width: %f, angle: %.2f, height: %f %n", formPage.getWidth(), - formPage.getTextAngle(), formPage.getHeight()); - // Table information - System.out.println("Recognized Tables: "); - final List tables = formPage.getTables(); - for (int i2 = 0; i2 < tables.size(); i2++) { - final FormTable formTable = tables.get(i2); - System.out.printf("Table %d%n", i2); - formTable.getCells() - .forEach(formTableCell -> { - System.out.printf("Cell text %s has following words: %n", formTableCell.getText()); - // FormElements only exists if you set includeFieldElements to true in your - // call to beginRecognizeCustomFormsFromUrl - // It is also a list of FormWords, FormLines and FormSelectionMarks, but in this example, - // we only deal with FormWords. - formTableCell.getFieldElements().stream() - .filter(formContent -> formContent instanceof FormWord) - .map(formContent -> (FormWord) (formContent)) - .forEach(formWordElement -> { - String boundingBoxStr = null; - if (formWordElement.getBoundingBox() != null) { - boundingBoxStr = formWordElement.getBoundingBox().toString(); - } - System.out.printf("Word '%s' within bounding box %s with a confidence of %.2f.%n", - formWordElement.getText(), boundingBoxStr, formWordElement.getConfidence()); - }); - }); - System.out.println(); - } - } - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxesAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxesAsync.java deleted file mode 100644 index 2e95d049de710..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/GetBoundingBoxesAsync.java +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.ai.formrecognizer.models.FormWord; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.util.List; -import java.util.concurrent.TimeUnit; - -/** - * Async sample to get detailed information to visualize the outlines of form content and fields, - * which can be used for manual validation and drawing UI as part of an application. - */ -public class GetBoundingBoxesAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - String modelId = "{model_Id}"; - String formUrl = "{form_url}"; - PollerFlux> recognizeFormPoller = - client.beginRecognizeCustomFormsFromUrl(modelId, formUrl, - new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(true)); - - Mono> recognizeFormResult = recognizeFormPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - recognizeFormResult.subscribe(recognizedForms -> { - for (int i = 0; i < recognizedForms.size(); i++) { - final RecognizedForm recognizedForm = recognizedForms.get(i); - System.out.printf("Form %d has type: %s%n", i, recognizedForm.getFormType()); - // each field is of type FormField - // The value of the field can also be a FormField, or a list of FormFields - // In our sample, it is not. - recognizedForm.getFields().forEach((fieldText, formField) -> - System.out.printf("Field %s has value data text %s with a confidence score " - + "of %.2f.%n", fieldText, formField.getValueData().getText(), - formField.getConfidence())); - - // Page Information - final List pages = recognizedForm.getPages(); - for (int i1 = 0; i1 < pages.size(); i1++) { - final FormPage formPage = pages.get(i1); - System.out.printf("------- Recognizing info on page %s of Form -------%n", i1); - System.out.printf("Has width: %f , angle: %f, height: %f %n", formPage.getWidth(), - formPage.getTextAngle(), formPage.getHeight()); - // Table information - System.out.println("Recognized Tables: "); - final List tables = formPage.getTables(); - for (int i2 = 0; i2 < tables.size(); i2++) { - final FormTable formTable = tables.get(i2); - System.out.printf("Table %d%n", i2); - formTable.getCells().forEach(formTableCell -> { - System.out.printf("Cell text %s has following words: %n", formTableCell.getText()); - // FormElements only exists if you set includeFieldElements to true in your - // call to beginRecognizeCustomFormsFromUrl - // It is also a list of FormWords, FormLines and FormSelectionMarks, but in this example, - // we only deal with FormWords. - formTableCell.getFieldElements().stream() - .filter(formContent -> formContent instanceof FormWord) - .map(formContent -> (FormWord) (formContent)) - .forEach(formWordElement -> - System.out.printf("Word '%s' within bounding box %s with a confidence of %.2f.%n", - formWordElement.getText(), formWordElement.getBoundingBox().toString(), - formWordElement.getConfidence())); - }); - System.out.println(); - } - } - } - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.SECONDS.sleep(30); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java deleted file mode 100644 index 548edec20e45c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModels.java +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.rest.PagedIterable; -import com.azure.core.util.Context; - -import java.util.concurrent.atomic.AtomicReference; - -/** - * Sample for demonstrating common custom model management operations. - * To learn how to train your own models, look at TrainModelWithoutLabels.java and TrainModelWithLabels.java. - */ -public class ManageCustomModels { - - /** - * Main program to invoke the demo for performing operations of a custom model. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - AtomicReference modelId = new AtomicReference<>(); - - // First, we see how many custom models we have, and what our limit is - AccountProperties accountProperties = client.getAccountProperties(); - System.out.printf("The account has %s custom models, and we can have at most %s custom models", - accountProperties.getCustomModelCount(), accountProperties.getCustomModelLimit()); - - // Next, we get a paged list of all of our custom models - PagedIterable customModels = client.listCustomModels(); - System.out.println("We have following models in the account:"); - customModels.forEach(customFormModelInfo -> { - System.out.printf("Model Id: %s%n", customFormModelInfo.getModelId()); - if (customFormModelInfo.getCustomModelProperties() != null) { - System.out.printf("Is it a composed model? : %s%n", customFormModelInfo.getCustomModelProperties().isComposed()); - } - // get custom model info - modelId.set(customFormModelInfo.getModelId()); - CustomFormModel customModel = client.getCustomModel(customFormModelInfo.getModelId()); - System.out.printf("Model Id: %s%n", customModel.getModelId()); - System.out.printf("Model Status: %s%n", customModel.getModelStatus()); - System.out.printf("Training started on: %s%n", customModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n", customModel.getTrainingCompletedOn()); - customModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Custom Model Form type: %s%n", customFormSubmodel.getFormType()); - System.out.printf("Custom Model Accuracy: %.2f%n", customFormSubmodel.getAccuracy()); - if (customFormSubmodel.getFields() != null) { - customFormSubmodel.getFields().forEach((fieldText, customFormModelField) -> { - System.out.printf("Field Text: %s%n", fieldText); - System.out.printf("Field Accuracy: %.2f%n", customFormModelField.getAccuracy()); - }); - } - }); - }); - - // Delete Custom Model - System.out.printf("Deleted model with model Id: %s, operation completed with status: %s%n", modelId.get(), - client.deleteModelWithResponse(modelId.get(), Context.NONE).getStatusCode()); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java deleted file mode 100644 index 6d2008f47d4a5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ManageCustomModelsAsync.java +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; - -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; - -/** - * Async sample for demonstrating to perform common custom model management operations on your account. - * To learn how to train your own models, look at TrainModelWithoutLabels.java and TrainModelWithLabels.java. - */ -public class ManageCustomModelsAsync { - - /** - * Main program to invoke the demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - AtomicReference modelId = new AtomicReference<>(); - - // First, we see how many custom models we have, and what our limit is - client.getAccountProperties().subscribe(accountProperties -> - System.out.printf("The account has %s custom models, and we can have at most %s custom models.%n", - accountProperties.getCustomModelCount(), accountProperties.getCustomModelLimit())); - // Next, we get a paged list of all of our custom models - System.out.println("We have following models in the account:"); - client.listCustomModels().subscribe(customFormModelInfo -> { - String createdModelId = customFormModelInfo.getModelId(); - System.out.printf("Model Id: %s%n", createdModelId); - if (customFormModelInfo.getCustomModelProperties() != null) { - System.out.printf("Is it a composed model? : %s%n", customFormModelInfo.getCustomModelProperties().isComposed()); - } - // get custom model info - modelId.set(createdModelId); - client.getCustomModel(customFormModelInfo.getModelId()).subscribe(customModel -> { - System.out.printf("Model Id: %s%n", customModel.getModelId()); - System.out.printf("Model Status: %s%n", customModel.getModelStatus()); - System.out.printf("Training started on: %s%n", customModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n", customModel.getTrainingCompletedOn()); - customModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Custom Model Form type: %s%n", customFormSubmodel.getFormType()); - System.out.printf("Custom Model Accuracy: %.2f%n", customFormSubmodel.getAccuracy()); - if (customFormSubmodel.getFields() != null) { - customFormSubmodel.getFields().forEach((fieldText, customFormModelField) -> { - System.out.printf("Field Text: %s%n", fieldText); - System.out.printf("Field Accuracy: %.2f%n", customFormModelField.getAccuracy()); - }); - } - }); - }); - }); - - // Delete Custom Model - client.deleteModel(modelId.get()); - System.out.printf("Deleted model with model Id: %s%n", modelId.get()); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.SECONDS.sleep(15); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ReadmeSamples.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ReadmeSamples.java index d661e8419f198..6184fe1041b5e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ReadmeSamples.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/ReadmeSamples.java @@ -3,17 +3,18 @@ package com.azure.ai.formrecognizer; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient; +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClientBuilder; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.DocumentTable; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.credential.TokenCredential; import com.azure.core.exception.HttpResponseException; @@ -30,6 +31,7 @@ import java.time.LocalDate; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; /** * WARNING: MODIFYING THIS FILE WILL REQUIRE CORRESPONDING UPDATES TO README.md FILE. LINE NUMBERS ARE USED TO EXTRACT @@ -39,169 +41,156 @@ * Class containing code snippets that will be injected to README.md. */ public class ReadmeSamples { - private final FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder().buildClient(); - private final FormTrainingClient formTrainingClient = new FormTrainingClientBuilder().buildClient(); + private final DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder().buildClient(); + private final DocumentModelAdministrationClient documentModelAdminClient = + new DocumentModelAdministrationClientBuilder().buildClient(); /** * Code snippet for getting sync client using the AzureKeyCredential authentication. */ public void useAzureKeyCredentialSyncClient() { - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); } /** - * Code snippet for getting sync FormTraining client using the AzureKeyCredential authentication. + * Code snippet for getting sync DocumentModelAdministration client using the AzureKeyCredential authentication. */ - public void useAzureKeyCredentialFormTrainingClient() { - FormTrainingClient formTrainingClient = new FormTrainingClientBuilder() + public void useAzureKeyCredentialDocumentModelAdministrationClient() { + DocumentModelAdministrationClient documentModelAdminClient = new DocumentModelAdministrationClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildClient(); } - /** - * Code snippet for rotating AzureKeyCredential of the client - */ - public void rotatingAzureKeyCredential() { - AzureKeyCredential credential = new AzureKeyCredential("{key}"); - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() - .credential(credential) - .endpoint("{endpoint}") - .buildClient(); - - credential.update("{new_key}"); - } - /** * Code snippet for getting async client using AAD authentication. */ public void useAadAsyncClient() { TokenCredential credential = new DefaultAzureCredentialBuilder().build(); - FormRecognizerClient formRecognizerClient = new FormRecognizerClientBuilder() + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() .endpoint("{endpoint}") .credential(credential) .buildClient(); } /** - * Code snippet for recognizing custom forms using custom built models. - */ - public void recognizeCustomForm() { - String formUrl = "{form_url}"; - String modelId = "{custom_trained_model_id}"; - SyncPoller> recognizeFormPoller = - formRecognizerClient.beginRecognizeCustomFormsFromUrl(modelId, formUrl); - - List recognizedForms = recognizeFormPoller.getFinalResult(); - - for (int i = 0; i < recognizedForms.size(); i++) { - RecognizedForm form = recognizedForms.get(i); - System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); - System.out.printf("Form type: %s%n", form.getFormType()); - System.out.printf("Form type confidence: %.2f%n", form.getFormTypeConfidence()); - form.getFields().forEach((label, formField) -> - System.out.printf("Field %s has value %s with confidence score of %f.%n", label, - formField.getValueData().getText(), - formField.getConfidence()) - ); - } - } - - /** - * Recognize content/layout data for provided form. + * Extract layout data for provided document. * * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. */ - public void recognizeContent() throws IOException { - // recognize form content using file input stream - File form = new File("local/file_path/filename.png"); - byte[] fileContent = Files.readAllBytes(form.toPath()); - InputStream inputStream = new ByteArrayInputStream(fileContent); - - SyncPoller> recognizeContentPoller = - formRecognizerClient.beginRecognizeContent(inputStream, form.length()); - - List contentPageResults = recognizeContentPoller.getFinalResult(); - - for (int i = 0; i < contentPageResults.size(); i++) { - FormPage formPage = contentPageResults.get(i); - System.out.printf("----Recognizing content info for page %d ----%n", i); - // Table information - System.out.printf("Has width: %f and height: %f, measured with unit: %s.%n", formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - formPage.getTables().forEach(formTable -> { - System.out.printf("Table has %d rows and %d columns.%n", formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach(formTableCell -> - System.out.printf("Cell has text %s.%n", formTableCell.getText())); + public void analyzeLayout() throws IOException { + // analyze document layout using file input stream + File layoutDocument = new File("local/file_path/filename.png"); + byte[] fileContent = Files.readAllBytes(layoutDocument.toPath()); + InputStream fileStream = new ByteArrayInputStream(fileContent); + + SyncPoller analyzeLayoutResultPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", fileStream, layoutDocument.length()); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is %s and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getBoundingBox().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); }); - // Selection Mark - formPage.getSelectionMarks().forEach(selectionMark -> System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), selectionMark.getState(), selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence())); + System.out.println(); } } /** - * Code snippet for recognizing receipt data using prebuilt receipt models. + * Code snippet for analyzing receipt data using prebuilt receipt models. */ - public void recognizeReceiptFromUrl() { + public void analyzeReceiptFromUrl() { String receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - SyncPoller> syncPoller = - formRecognizerClient.beginRecognizeReceiptsFromUrl(receiptUrl); - List receiptPageResults = syncPoller.getFinalResult(); - - for (int i = 0; i < receiptPageResults.size(); i++) { - RecognizedForm recognizedForm = receiptPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognizing receipt info for page %d -----------%n", i); - FormField merchantNameField = recognizedFields.get("MerchantName"); + + "/azure-ai-formrecognizer/src/samples/resources/sample-documents/receipts/contoso-allinone.jpg"; + + SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl); + + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + AnalyzedDocument analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); if (merchantNameField != null) { - if (FieldValueType.STRING == merchantNameField.getValue().getValueType()) { - String merchantName = merchantNameField.getValue().asString(); + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); System.out.printf("Merchant Name: %s, confidence: %.2f%n", merchantName, merchantNameField.getConfidence()); } } - FormField merchantPhoneNumberField = recognizedFields.get("MerchantPhoneNumber"); + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); if (merchantPhoneNumberField != null) { - if (FieldValueType.PHONE_NUMBER == merchantPhoneNumberField.getValue().getValueType()) { - String merchantAddress = merchantPhoneNumberField.getValue().asPhoneNumber(); + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", merchantAddress, merchantPhoneNumberField.getConfidence()); } } - FormField transactionDateField = recognizedFields.get("TransactionDate"); + DocumentField transactionDateField = receiptFields.get("TransactionDate"); if (transactionDateField != null) { - if (FieldValueType.DATE == transactionDateField.getValue().getValueType()) { - LocalDate transactionDate = transactionDateField.getValue().asDate(); + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); System.out.printf("Transaction Date: %s, confidence: %.2f%n", transactionDate, transactionDateField.getConfidence()); } } - FormField receiptItemsField = recognizedFields.get("Items"); + DocumentField receiptItemsField = receiptFields.get("Items"); if (receiptItemsField != null) { System.out.printf("Receipt Items: %n"); - if (FieldValueType.LIST == receiptItemsField.getValue().getValueType()) { - List receiptItems = receiptItemsField.getValue().asList(); + if (DocumentFieldType.LIST == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueList(); receiptItems.stream() - .filter(receiptItem -> FieldValueType.MAP == receiptItem.getValue().getValueType()) - .map(formField -> formField.getValue().asMap()) - .forEach(formFieldMap -> formFieldMap.forEach((key, formField) -> { + .filter(receiptItem -> DocumentFieldType.MAP == receiptItem.getType()) + .map(documentField -> documentField.getValueMap()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } if ("Quantity".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); + if (DocumentFieldType.FLOAT == documentField.getType()) { + Float quantity = documentField.getValueFloat(); System.out.printf("Quantity: %f, confidence: %.2f%n", - quantity, formField.getConfidence()); + quantity, documentField.getConfidence()); } } })); @@ -211,96 +200,160 @@ public void recognizeReceiptFromUrl() { } /** - * Code snippet for recognizing invoice forms using prebuilt models. + * Code snippet for building custom document analysis models using training data. */ - public void recognizeBusinessCardFromUrl() { - String businessCardUrl = - "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/businessCards/businessCard.jpg"; - - SyncPoller> analyzeBusinessCardPoller = - formRecognizerClient.beginRecognizeBusinessCardsFromUrl(businessCardUrl); - - List businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); - - for (int i = 0; i < businessCardPageResults.size(); i++) { - RecognizedForm recognizedForm = businessCardPageResults.get(i); - Map recognizedFields = recognizedForm.getFields(); - System.out.printf("----------- Recognized business card info for page %d -----------%n", i); - FormField contactNamesFormField = recognizedFields.get("ContactNames"); - if (contactNamesFormField != null) { - if (FieldValueType.LIST == contactNamesFormField.getValue().getValueType()) { - List contactNamesList = contactNamesFormField.getValue().asList(); - contactNamesList.stream() - .filter(contactName -> FieldValueType.MAP == contactName.getValue().getValueType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getValueData().getText()); - return contactName.getValue().asMap(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String firstName = contactName.getValue().asString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - if ("LastName".equals(key)) { - if (FieldValueType.STRING == contactName.getValue().getValueType()) { - String lastName = contactName.getValue().asString(); - System.out.printf("\tLast Name: %s, confidence: %.2f%n", - lastName, contactName.getConfidence()); - } - } - })); - } - } - FormField jobTitles = recognizedFields.get("JobTitles"); - if (jobTitles != null) { - if (FieldValueType.LIST == jobTitles.getValue().getValueType()) { - List jobTitlesItems = jobTitles.getValue().asList(); - jobTitlesItems.forEach(jobTitlesItem -> { - if (FieldValueType.STRING == jobTitlesItem.getValue().getValueType()) { - String jobTitle = jobTitlesItem.getValue().asString(); - System.out.printf("Job Title: %s, confidence: %.2f%n", - jobTitle, jobTitlesItem.getConfidence()); - } - }); - } - } + public void buildModel() { + // Build custom document analysis model + String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller buildOperationPoller = + documentModelAdminClient.beginBuildModel(trainingFilesUrl, + "my-build-model", + new BuildModelOptions().setDescription("model desc"), + Context.NONE); + + DocumentModel documentModel = buildOperationPoller.getFinalResult(); + + // Model Info + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + System.out.printf("Document type: %s%n", key); + docTypeInfo.getFieldSchema().forEach((name, documentFieldSchema) -> { + System.out.printf("Document field: %s%n", name); + System.out.printf("Document field type: %s%n", documentFieldSchema.getType().toString()); + System.out.printf("Document field confidence: %.2f%n", docTypeInfo.getFieldConfidence().get(name)); + }); + }); + } + + /** + * Code snippet for analyzing custom documents using custom-built models. + */ + public void analyzeCustomDocument() { + String documentUrl = "{document-url}"; + String modelId = "{custom-built-model-ID}"; + SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + analyzedDocument.getFields().forEach((key, documentField) -> { + System.out.printf("Document Field content: %s%n", documentField.getContent()); + System.out.printf("Document Field confidence: %.2f%n", documentField.getConfidence()); + System.out.printf("Document Field Type: %.2f%n", documentField.getType().toString()); + System.out.printf("Document Field found within bounding region: %s%n", + documentField.getBoundingRegions().toString()); + }); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); } } /** - * Code snippet for creating custom models using training data. + * Code snippet for analyzing general documents using "prebuilt-document" models. */ - public void trainModel() { - String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; - SyncPoller trainingPoller = - formTrainingClient.beginTraining(trainingFilesUrl, - false, - new TrainingOptions() - .setModelName("my model trained without labels"), - Context.NONE); + public void analyzePrebuiltDocument() { + String documentUrl = "{document-url}"; + String modelId = "prebuilt-document"; + SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocumentFromUrl(modelId, documentUrl); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } - CustomFormModel customFormModel = trainingPoller.getFinalResult(); + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line %s is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getBoundingBox().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word %s has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + }); - // Model Info - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model name given by user: %s%n", customFormModel.getModelName()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - - System.out.println("Recognized Fields:"); - // looping through the subModels, which contains the fields they were trained on - // Since the given training documents are unlabeled, we still group them but they do not have a label. - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n: ", customFormSubmodel.getModelId()); - // Since the training data is unlabeled, we are unable to return the accuracy of this model - customFormSubmodel.getFields().forEach((field, customFormModelField) -> - System.out.printf("Field: %s Field Label: %s%n", - field, customFormModelField.getLabel())); + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // Entities + analyzeResult.getEntities().forEach(documentEntity -> { + System.out.printf("Entity category : %s, sub-category %s%n: ", + documentEntity.getCategory(), documentEntity.getSubCategory()); + System.out.printf("Entity content: %s%n: ", documentEntity.getContent()); + System.out.printf("Entity confidence: %.2f%n", documentEntity.getConfidence()); + }); + + // Key-value + analyzeResult.getKeyValuePairs().forEach(documentKeyValuePair -> { + System.out.printf("Key content: %s%n", documentKeyValuePair.getKey().getContent()); + System.out.printf("Key content bounding region: %s%n", + documentKeyValuePair.getKey().getBoundingRegions().toString()); + + System.out.printf("Value content: %s%n", documentKeyValuePair.getValue().getContent()); + System.out.printf("Value content bounding region: %s%n", documentKeyValuePair.getValue().getBoundingRegions().toString()); }); } @@ -308,35 +361,36 @@ public void trainModel() { * Code snippet for managing models in form recognizer account. */ public void manageModels() { - // First, we see how many custom models we have, and what our limit is - AccountProperties accountProperties = formTrainingClient.getAccountProperties(); - System.out.printf("The account has %d custom models, and we can have at most %d custom models", - accountProperties.getCustomModelCount(), accountProperties.getCustomModelLimit()); + AtomicReference modelId = new AtomicReference<>(); + + // First, we see how many models we have, and what our limit is + AccountProperties accountProperties = documentModelAdminClient.getAccountProperties(); + System.out.printf("The account has %s models, and we can have at most %s models", + accountProperties.getDocumentModelCount(), accountProperties.getDocumentModelLimit()); - // Next, we get a paged list of all of our custom models - PagedIterable customModels = formTrainingClient.listCustomModels(); + // Next, we get a paged list of all of our models + PagedIterable customDocumentModels = documentModelAdminClient.listModels(); System.out.println("We have following models in the account:"); - customModels.forEach(customFormModelInfo -> { - System.out.printf("Model Id: %s%n", customFormModelInfo.getModelId()); - // get specific custom model info - CustomFormModel customModel = formTrainingClient.getCustomModel(customFormModelInfo.getModelId()); - System.out.printf("Model Status: %s%n", customModel.getModelStatus()); - System.out.printf("Training started on: %s%n", customModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n", customModel.getTrainingCompletedOn()); - customModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Custom Model Form type: %s%n", customFormSubmodel.getFormType()); - System.out.printf("Custom Model Accuracy: %f%n", customFormSubmodel.getAccuracy()); - if (customFormSubmodel.getFields() != null) { - customFormSubmodel.getFields().forEach((fieldText, customFormModelField) -> { - System.out.printf("Field Text: %s%n", fieldText); - System.out.printf("Field Accuracy: %f%n", customFormModelField.getAccuracy()); - }); - } + customDocumentModels.forEach(documentModelInfo -> { + System.out.printf("Model ID: %s%n", documentModelInfo.getModelId()); + modelId.set(documentModelInfo.getModelId()); + + // get custom document analysis model info + DocumentModel documentModel = documentModelAdminClient.getModel(documentModelInfo.getModelId()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); }); }); - // Delete Custom Model - formTrainingClient.deleteModel("{modelId}"); + // Delete Model + documentModelAdminClient.deleteModel(modelId.get()); } /** @@ -344,7 +398,7 @@ public void manageModels() { */ public void handlingException() { try { - formRecognizerClient.beginRecognizeContentFromUrl("invalidSourceUrl"); + documentAnalysisClient.beginAnalyzeDocumentFromUrl("prebuilt-receipt", "invalidSourceUrl"); } catch (HttpResponseException e) { System.out.println(e.getMessage()); } @@ -354,7 +408,7 @@ public void handlingException() { * Code snippet for getting async client using the AzureKeyCredential authentication. */ public void useAzureKeyCredentialAsyncClient() { - FormRecognizerAsyncClient formRecognizerAsyncClient = new FormRecognizerClientBuilder() + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildAsyncClient(); diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Receipt.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Receipt.java deleted file mode 100644 index 7456b1aa74a6d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/Receipt.java +++ /dev/null @@ -1,480 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FieldData; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.annotation.Immutable; - -import java.time.LocalDate; -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -/** - * Represents a receipt recognized from the input document and provides strongly-typed properties - * for accessing common fields present in recognized receipts. - */ -public final class Receipt { - - /** - * List of recognized field items. - */ - private List receiptItems; - - /** - * Recognized receipt type information. - */ - private ReceiptType receiptType; - - /** - * Recognized field merchant name. - */ - private TypedFormField merchantName; - - /** - * Recognized field merchant address. - */ - private TypedFormField merchantAddress; - - /** - * Recognized field merchant phone number. - */ - private TypedFormField merchantPhoneNumber; - - /** - * Recognized field subtotal. - */ - private TypedFormField subtotal; - - /** - * Recognized field tax. - */ - private TypedFormField tax; - - /** - * Recognized field tip. - */ - private TypedFormField tip; - - /** - * Recognized field total. - */ - private TypedFormField total; - - /** - * Recognized field transaction date. - */ - private TypedFormField transactionDate; - - /** - * Recognized field transaction time. - */ - private TypedFormField transactionTime; - - /** - * Constructs a receipt object from the provided recognized form. - * @param recognizedForm the recognized form object. - */ - public Receipt(RecognizedForm recognizedForm) { - for (Map.Entry entry : recognizedForm.getFields().entrySet()) { - String key = entry.getKey(); - FormField formField = entry.getValue(); - switch (key) { - case "ReceiptType": - receiptType = new ReceiptType(formField.getValue().asString(), formField.getConfidence()); - break; - case "MerchantName": - merchantName = new TypedFormField<>(formField, String.class); - break; - case "MerchantAddress": - merchantAddress = new TypedFormField<>(formField, String.class); - break; - case "MerchantPhoneNumber": - merchantPhoneNumber = new TypedFormField<>(formField, String.class); - break; - case "Subtotal": - subtotal = new TypedFormField<>(formField, Double.class); - break; - case "Tax": - tax = new TypedFormField<>(formField, Double.class); - break; - case "Tip": - tip = new TypedFormField<>(formField, Double.class); - break; - case "Total": - total = new TypedFormField<>(formField, Double.class); - break; - case "TransactionDate": - transactionDate = new TypedFormField<>(formField, LocalDate.class); - break; - case "TransactionTime": - transactionTime = new TypedFormField<>(formField, LocalTime.class); - break; - case "Items": - receiptItems = toReceiptItems(formField); - break; - default: - break; - } - } - } - - /** - * Get the itemized fields in the Recognized Receipt. - * - * @return the unmodifiable list of itemized fields on the receipt. - */ - public List getReceiptItems() { - return this.receiptItems; - } - - /** - * Get the type of Recognized Receipt. - * - * @return the type of Recognized Receipt. - */ - public ReceiptType getReceiptType() { - return this.receiptType; - } - - /** - * Get the merchant name field. - * - * @return the merchantName value. - */ - public TypedFormField getMerchantName() { - return this.merchantName; - } - - /** - * Get the merchant address field. - * - * @return the merchantAddress value. - */ - public TypedFormField getMerchantAddress() { - return this.merchantAddress; - } - - /** - * Get the merchant Phone number field. - * - * @return the merchantPhoneNumber value. - */ - public TypedFormField getMerchantPhoneNumber() { - return this.merchantPhoneNumber; - } - - /** - * Get the subtotal field. - * - * @return the subtotal value. - */ - public TypedFormField getSubtotal() { - return this.subtotal; - } - - /** - * Get the tax field. - * - * @return the tax value. - */ - public TypedFormField getTax() { - return this.tax; - } - - /** - * Get the tip field. - * - * @return the tip value. - */ - public TypedFormField getTip() { - return this.tip; - } - - /** - * Get the Total field. - * - * @return the total value. - */ - public TypedFormField getTotal() { - return this.total; - } - - /** - * Get the Transaction date field. - * - * @return the transactionDate value. - */ - public TypedFormField getTransactionDate() { - return this.transactionDate; - } - - /** - * Get the transaction time field. - * - * @return the transactionTime value. - */ - public TypedFormField getTransactionTime() { - return this.transactionTime; - } - - /** - * Helper method to convert the recognized itemized data to {@link ReceiptItem receipt items}. - * - * @param fieldValueItems The recognized itemized receipt data. - * - * @return An unmodifiable list of {@link ReceiptItem}. - */ - private static List toReceiptItems(FormField fieldValueItems) { - List fieldValueArray = fieldValueItems.getValue().asList(); - List receiptItemList = new ArrayList<>(); - - for (FormField eachFieldValue : fieldValueArray) { - Map objectValue = eachFieldValue.getValue().asMap(); - TypedFormField name = null; - TypedFormField quantity = null; - TypedFormField price = null; - TypedFormField totalPrice = null; - for (Map.Entry entry : objectValue.entrySet()) { - String key = entry.getKey(); - if ("Quantity".equals(key)) { - quantity = new TypedFormField<>(entry.getValue(), Double.class); - } else if ("Name".equals(key)) { - name = new TypedFormField<>(entry.getValue(), String.class); - } else if ("Price".equals(key)) { - price = new TypedFormField<>(entry.getValue(), Double.class); - } else if ("Total Price".equals(key)) { - totalPrice = new TypedFormField<>(entry.getValue(), Double.class); - } - } - receiptItemList.add(new ReceiptItem(name, quantity, price, totalPrice)); - } - return Collections.unmodifiableList(receiptItemList); - } - - /** - * The strongly typed FormField representation model. - * - * @param The type of value returned from the service call. - */ - public static class TypedFormField { - private final FormField formField; - private final Class type; - - /** - * Constructs a TypedFormField object. - * - * @param formField the SDK returned FormField object. - * @param type The type of the field value returned from the service call. - */ - public TypedFormField(FormField formField, Class type) { - this.formField = formField; - this.type = type; - } - - /** - * Get the strongly typed value of the recognized field. - * - * @return the strongly typed value of the recognized field. - * @throws IllegalStateException when a type mismatch occurs. - */ - @SuppressWarnings("unchecked") - public T getValue() { - switch (formField.getValue().getValueType()) { - case STRING: - if (type.isAssignableFrom(String.class)) { - return (T) formField.getValue().asString(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case DATE: - if (type.isAssignableFrom(LocalDate.class)) { - return (T) formField.getValue().asDate(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case TIME: - if (type.isAssignableFrom(LocalTime.class)) { - return (T) formField.getValue().asTime(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case PHONE_NUMBER: - if (type.isAssignableFrom(String.class)) { - return (T) formField.getValue().asPhoneNumber(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case FLOAT: - if (type.isAssignableFrom(Double.class)) { - return (T) formField.getValue().asFloat(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case LONG: - if (type.isAssignableFrom(Long.class)) { - return (T) formField.getValue().asLong(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case LIST: - if (type.isAssignableFrom(List.class)) { - return (T) formField.getValue().asList(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - case MAP: - if (type.isAssignableFrom(Map.class)) { - return (T) formField.getValue().asMap(); - } else { - throw new IllegalStateException("Type mismatch error occurred."); - } - default: - throw new IllegalStateException("Unexpected type value: " + formField.getValue().getValueType()); - } - } - - /** - * Get the estimated confidence value of the recognized field. - * - * @return the confidence value. - */ - public float getConfidence() { - return this.formField.getConfidence(); - } - - /** - * Get the text, bounding box, and field elements for the field label. - * - * @return the text, bounding box, and field elements for the field value. - */ - public FieldData getLabelData() { - return this.formField.getLabelData(); - } - - /** - * Get the name of the field in the provided document. - * - * @return the name of field or label. - */ - public String getName() { - return this.formField.getName(); - } - - /** - * Get the text, bounding box, and field elements for the field value. - * - * @return the text, bounding box, and field elements for the field value. - */ - public FieldData getValueData() { - return this.formField.getValueData(); - } - } - - /** - * The ReceiptType model. - */ - @Immutable - public static final class ReceiptType { - private final String type; - private final float confidence; - - /** - * Constructs a Receipt Type. - * - * @param type The type of the receipt. - * @param confidence The confidence score. - */ - public ReceiptType(final String type, final float confidence) { - this.type = type; - this.confidence = confidence; - } - - /** - * Gets the type of the receipt. - * - * @return The type of the receipt. - */ - public String getType() { - return this.type; - } - - /** - * Gets the confidence score of the detected type of the receipt. - * - * @return The confidence score of the detected type of the receipt. - */ - public float getConfidence() { - return this.confidence; - } - } - - /** - * The ReceiptItem model. - */ - @Immutable - public static final class ReceiptItem { - private final TypedFormField name; - private final TypedFormField quantity; - private final TypedFormField price; - private final TypedFormField totalPrice; - - /** - * Constructs a ReceiptItem object. - * - * @param name Name of the field value. - * @param quantity quantity of the field value. - * @param price price of the field value. - * @param totalPrice Total price of the field value. - */ - public ReceiptItem(final TypedFormField name, final TypedFormField quantity, - final TypedFormField price, - final TypedFormField totalPrice) { - this.name = name; - this.quantity = quantity; - this.price = price; - this.totalPrice = totalPrice; - } - - /** - * Gets the name of the field value. - * - * @return The name of the field value. - */ - public TypedFormField getName() { - return name; - } - - /** - * Gets the quantity of the Receipt Item. - * - * @return the quantity of Receipt Item. - */ - public TypedFormField getQuantity() { - return quantity; - } - - /** - * Gets the price of the Receipt Item. - * - * @return The total Price. - */ - public TypedFormField getPrice() { - return price; - } - - /** - * Gets the total price of the Receipt Item. - * - * @return The total Price. - */ - public TypedFormField getTotalPrice() { - return totalPrice; - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java deleted file mode 100644 index e23bb62c40810..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContent.java +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.SyncPoller; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.util.List; - -/** - * Sample for recognizing content information from a document given through a file. - */ -public class RecognizeContent { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(final String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" - + "sample-forms/forms/selectionMarkForm.pdf"); - byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); - InputStream targetStream = new ByteArrayInputStream(fileContent); - - SyncPoller> recognizeContentPoller = - client.beginRecognizeContent(targetStream, sourceFile.length()); - - List contentPageResults = recognizeContentPoller.getFinalResult(); - - for (int i = 0; i < contentPageResults.size(); i++) { - final FormPage formPage = contentPageResults.get(i); - System.out.printf("---- Recognized content info for page %d ----%n", i); - - System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", - formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - - // Table information - final List tables = formPage.getTables(); - for (int i1 = 0; i1 < tables.size(); i1++) { - final FormTable formTable = tables.get(i1); - System.out.printf("Table %d has %d rows and %d columns.%n", i1, formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach(formTableCell -> { - System.out.printf("Cell has text '%s', within bounding box %s.%n", formTableCell.getText(), - formTableCell.getBoundingBox().toString()); - }); - System.out.println(); - } - - // Selection Mark - for (FormSelectionMark selectionMark : formPage.getSelectionMarks()) { - System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), - selectionMark.getState(), - selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence()); - } - - // Lines - formPage.getLines().forEach(formLine -> { - if (formLine.getAppearance() != null) { - System.out.printf( - "Line %s consists of %d words and has a text style %s with a confidence score of %.2f.%n", - formLine.getText(), formLine.getWords().size(), - formLine.getAppearance().getStyleName(), - formLine.getAppearance().getStyleConfidence()); - } - }); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentAsync.java deleted file mode 100644 index 732975926dc25..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentAsync.java +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.LongRunningOperationStatus; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * Async sample for recognizing content information from a document given through a file. - */ -public class RecognizeContentAsync { - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(final String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" - + "sample-forms/forms/selectionMarkForm.pdf"); - byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); - InputStream targetStream = new ByteArrayInputStream(fileContent); - - PollerFlux> recognizeContentPoller = - client.beginRecognizeContent(toFluxByteBuffer(targetStream), sourceFile.length()); - - Mono> contentPageResultsMono = - recognizeContentPoller - .last() - .flatMap(pollResponse -> { - if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { - System.out.println("Polling completed successfully"); - return pollResponse.getFinalResult(); - } else { - return Mono.error( - new RuntimeException( - "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); - } - }); - - contentPageResultsMono.subscribe(contentPageResults -> { - for (int i = 0; i < contentPageResults.size(); i++) { - final FormPage formPage = contentPageResults.get(i); - System.out.printf("---- Recognized content info for page %d ----%n", i); - - System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", - formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - - // Table information - final List tables = formPage.getTables(); - for (int i1 = 0; i1 < tables.size(); i1++) { - final FormTable formTable = tables.get(i1); - System.out.printf("Table %d has %d rows and %d columns.%n", i1, formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach(formTableCell -> { - System.out.printf("Cell has text '%s', within bounding box %s.%n", formTableCell.getText(), - formTableCell.getBoundingBox().toString()); - }); - System.out.println(); - } - - // Selection Mark - for (FormSelectionMark selectionMark : formPage.getSelectionMarks()) { - System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), - selectionMark.getState(), - selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence()); - } - - // Lines - formPage.getLines().forEach(formLine -> { - if (formLine.getAppearance() != null) { - System.out.printf( - "Line %s consists of %d words and has a text style %s with a confidence score of %.2f.%n", - formLine.getText(), formLine.getWords().size(), - formLine.getAppearance().getStyleName(), - formLine.getAppearance().getStyleConfidence()); - } - }); - } - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrl.java deleted file mode 100644 index 6279cd4822f16..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrl.java +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.SyncPoller; - -import java.util.List; - -/** - * Sample for recognizing content information from a document given through a URL. - */ -public class RecognizeContentFromUrl { - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - SyncPoller> recognizeContentPoller = - client.beginRecognizeContentFromUrl( - "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" - + "azure-ai-formrecognizer/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf"); - - List contentPageResults = recognizeContentPoller.getFinalResult(); - - for (int i = 0; i < contentPageResults.size(); i++) { - final FormPage formPage = contentPageResults.get(i); - System.out.printf("---- Recognized content info for page %d ----%n", i); - - System.out.printf("Page has width: %f and height: %f, measured with unit: %s%n", formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - - // Table information - final List tables = formPage.getTables(); - for (int i1 = 0; i1 < tables.size(); i1++) { - final FormTable formTable = tables.get(i1); - System.out.printf("Table %d has %d rows and %d columns.%n", i1, formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach( - formTableCell -> - System.out.printf("Cell has text '%s', within bounding box %s.%n", formTableCell.getText(), - formTableCell.getBoundingBox().toString())); - System.out.println(); - } - - // Selection Mark - for (FormSelectionMark selectionMark : formPage.getSelectionMarks()) { - System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), - selectionMark.getState(), - selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence()); - } - - // Lines - formPage.getLines().forEach(formLine -> { - if (formLine.getAppearance() != null) { - System.out.printf( - "Line %s consists of %d words and has a text style %s with a confidence score of %.2f.%n", - formLine.getText(), formLine.getWords().size(), - formLine.getAppearance().getStyleName(), - formLine.getAppearance().getStyleConfidence()); - } - }); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java deleted file mode 100644 index 655a403b74e92..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeContentFromUrlAsync.java +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.util.List; -import java.util.concurrent.TimeUnit; - -/** - * Async sample for recognizing content information from a document given through a URL. - */ -public class RecognizeContentFromUrlAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - PollerFlux> recognizeContentPoller = - client.beginRecognizeContentFromUrl( - "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer/" - + "azure-ai-formrecognizer/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf"); - - Mono> contentPageResults = recognizeContentPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - contentPageResults.subscribe(formPages -> { - for (int i = 0; i < formPages.size(); i++) { - final FormPage formPage = formPages.get(i); - System.out.printf("---- Recognized content info for page %d ----%n", i); - - System.out.printf("Page has width: %f and height: %f, measured with unit: %s%n", formPage.getWidth(), - formPage.getHeight(), - formPage.getUnit()); - - // Table information - final List tables = formPage.getTables(); - for (int i1 = 0; i1 < tables.size(); i1++) { - final FormTable formTable = tables.get(i1); - System.out.printf("Table %d has %d rows and %d columns.%n", i1, formTable.getRowCount(), - formTable.getColumnCount()); - formTable.getCells().forEach(formTableCell -> - System.out.printf("Cell has text '%s', within bounding box %s.%n", formTableCell.getText(), - formTableCell.getBoundingBox().toString())); - System.out.println(); - } - - // Selection Mark - for (FormSelectionMark selectionMark : formPage.getSelectionMarks()) { - System.out.printf( - "Page: %s, Selection mark is %s within bounding box %s has a confidence score %.2f.%n", - selectionMark.getPageNumber(), - selectionMark.getState(), - selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence()); - } - - // Lines - formPage.getLines().forEach(formLine -> { - if (formLine.getAppearance() != null) { - System.out.printf( - "Line %s consists of %d words and has a text style %s with a confidence score of %.2f.%n", - formLine.getText(), formLine.getWords().size(), - formLine.getAppearance().getStyleName(), - formLine.getAppearance().getStyleConfidence()); - } - }); - } - - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java deleted file mode 100644 index 1963f77cf2ffe..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsync.java +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * Async sample to analyze a form from a document with a custom trained model. To learn how to train your own models, - * look at TrainModelWithoutLabels.java and TrainModelWithLabels.java. - */ -public class RecognizeCustomFormsAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - // The form you are recognizing must be of the same type as the forms the custom model was trained on - File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" - + "sample-forms/forms/Invoice_6.pdf"); - byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); - String modelId = "{modelId}"; - PollerFlux> recognizeFormPoller; - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - recognizeFormPoller = client.beginRecognizeCustomForms(modelId, toFluxByteBuffer(targetStream), - sourceFile.length()); - } - - Mono> recognizeFormResult = recognizeFormPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - recognizeFormResult.subscribe(recognizedForms -> { - for (int i = 0; i < recognizedForms.size(); i++) { - final RecognizedForm form = recognizedForms.get(i); - System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); - System.out.printf("Form type: %s%n", form.getFormType()); - System.out.printf("Form has form type confidence : %.2f%n", form.getFormTypeConfidence()); - System.out.printf("Form was analyzed with model with ID: %s%n", form.getModelId()); - form.getFields().forEach((label, formField) -> { - System.out.printf("Field '%s' has label '%s' with confidence score of %.2f.%n", label, - formField.getLabelData().getText(), - formField.getConfidence()); - }); - } - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsyncWithSelectionMarks.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsyncWithSelectionMarks.java deleted file mode 100644 index eae4bba2d89a6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsAsyncWithSelectionMarks.java +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; - -/** - * Async sample to analyze a form with selection mark from a document with a custom trained model. To learn how to train - * your own models, look at TrainModelWithoutLabels.java and TrainModelWithLabels.java. - */ -public class RecognizeCustomFormsAsyncWithSelectionMarks { - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - * - * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. - */ - public static void main(String[] args) throws IOException { - // Instantiate a client that will be used to call the service. - FormRecognizerAsyncClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - // The form you are recognizing must be of the same type as the forms the custom model was trained on - File sourceFile = new File("../formrecognizer/azure-ai-formrecognizer/src/samples/resources/" - + "sample-forms/forms/selectionMarkForm.pdf"); - byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); - String modelId = "{modelId}"; - PollerFlux> recognizeFormPoller; - // Selection mark will only be available when includeFieldElements is true. - try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { - recognizeFormPoller = client.beginRecognizeCustomForms(modelId, toFluxByteBuffer(targetStream), - sourceFile.length(), new RecognizeCustomFormsOptions().setFieldElementsIncluded(true)); - } - - Mono> recognizeFormResult = - recognizeFormPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - recognizeFormResult.subscribe(recognizedForms -> { - for (int i = 0; i < recognizedForms.size(); i++) { - final RecognizedForm form = recognizedForms.get(i); - System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); - System.out.printf("Form type: %s%n", form.getFormType()); - System.out.printf("Form has form type confidence : %.2f%n", form.getFormTypeConfidence()); - System.out.printf("Form was analyzed with model with ID: %s%n", form.getModelId()); - form.getFields().forEach((label, formField) -> { - System.out.printf("Field '%s' has label '%s' with confidence score of %.2f.%n", label, - formField.getLabelData().getText(), - formField.getConfidence()); - }); - - // Page Information - final List pages = form.getPages(); - for (int i1 = 0; i1 < pages.size(); i1++) { - final FormPage formPage = pages.get(i1); - System.out.printf("------- Recognizing info on page %s of Form ------- %n", i1); - System.out.printf("Has width: %f, angle: %.2f, height: %f %n", formPage.getWidth(), - formPage.getTextAngle(), formPage.getHeight()); - // Table information - System.out.println("Recognized Tables: "); - final List tables = formPage.getTables(); - for (int i2 = 0; i2 < tables.size(); i2++) { - final FormTable formTable = tables.get(i2); - System.out.printf("Table %d%n", i2); - formTable.getCells() - .forEach(formTableCell -> { - System.out.printf("Cell text %s has following words: %n", formTableCell.getText()); - // FormElements only exists if you set includeFieldElements to true in your - // call to beginRecognizeCustomFormsFromUrl - // It is also a list of FormWords, FormLines and FormSelectionMarks, but in this example, - // we only deal with FormSelectionMarks. - formTableCell.getFieldElements().stream() - .filter(formContent -> formContent instanceof FormSelectionMark) - .map(formContent -> (FormSelectionMark) (formContent)) - .forEach(selectionMark -> - System.out.printf("Page: %s, Selection mark is %s within bounding box %s has a " - + "confidence score %.2f.%n", - selectionMark.getPageNumber(), - selectionMark.getState(), - selectionMark.getBoundingBox().toString(), - selectionMark.getConfidence())); - }); - System.out.println(); - } - } - } - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java deleted file mode 100644 index aabb3d62e2dc5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.SyncPoller; - -import java.util.List; - -/** - * Sample to analyze a form from a document with a custom trained model. To learn how to train your own models, - * look at TrainModelWithoutLabels.java and TrainModelWithLabels.java. - */ -public class RecognizeCustomFormsFromUrl { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - * - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - String formUrl = "{form_url}"; - String modelId = "{custom_trained_model_id}"; - SyncPoller> recognizeFormPoller = - client.beginRecognizeCustomFormsFromUrl(modelId, formUrl); - - List recognizedForms = recognizeFormPoller.getFinalResult(); - - for (int i = 0; i < recognizedForms.size(); i++) { - final RecognizedForm form = recognizedForms.get(i); - System.out.printf("----------- Recognized custom form info for page %d -----------%n", i); - System.out.printf("Form type: %s%n", form.getFormType()); - System.out.printf("Form has form type confidence : %.2f%n", form.getFormTypeConfidence()); - System.out.printf("Form was analyzed with model with ID: %s%n", form.getModelId()); - form.getFields().forEach((label, formField) -> - // label data is populated if you are using a model trained with unlabeled data, - // since the service needs to make predictions for labels if not explicitly given to it. - System.out.printf("Field '%s' has label '%s' with a confidence score of %.2f.%n", - label, formField.getLabelData().getText(), formField.getConfidence())); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java deleted file mode 100644 index baa9689f7312a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/StronglyTypedRecognizedForm.java +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -import java.util.List; - -/** - * Sample demonstrating converting recognized form fields to strongly typed US receipt field values. - * See - * - * for information on the strongly typed fields returned by service when recognizing receipts. - * More information on the Receipt used in the example below can be found - * here - */ -public class StronglyTypedRecognizedForm { - - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - FormRecognizerClient client = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - String receiptUrl = - "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - SyncPoller> recognizeReceiptPoller = - client.beginRecognizeReceiptsFromUrl(receiptUrl, - new RecognizeReceiptsOptions() - .setLocale(FormRecognizerLocale.EN_US), - Context.NONE); - - List receiptPageResults = recognizeReceiptPoller.getFinalResult(); - - for (int i = 0; i < receiptPageResults.size(); i++) { - final RecognizedForm recognizedForm = receiptPageResults.get(i); - System.out.printf("----------- Recognized receipt info for page %d -----------%n", i); - // Use Receipt model to transform the recognized form to a strongly typed US receipt - Receipt usReceipt = new Receipt(recognizedForm); - System.out.printf("Merchant Name: %s, confidence: %.2f%n", usReceipt.getMerchantName().getValue(), - usReceipt.getMerchantName().getConfidence()); - System.out.printf("Merchant Address: %s, confidence: %.2f%n", - usReceipt.getMerchantAddress().getValue(), - usReceipt.getMerchantAddress().getConfidence()); - System.out.printf("Merchant Phone Number %s, confidence: %.2f%n", - usReceipt.getMerchantPhoneNumber().getValue(), usReceipt.getMerchantPhoneNumber().getConfidence()); - System.out.printf("Total: %.2f confidence: %.2f%n", usReceipt.getTotal().getValue(), - usReceipt.getTotal().getConfidence()); - System.out.printf("Transaction Date: %s, confidence: %.2f%n", - usReceipt.getTransactionDate().getValue(), usReceipt.getTransactionDate().getConfidence()); - System.out.printf("Transaction Time: %s, confidence: %.2f%n", - usReceipt.getTransactionTime().getValue(), usReceipt.getTransactionTime().getConfidence()); - System.out.printf("Receipt Items: %n"); - usReceipt.getReceiptItems().forEach(receiptItem -> { - if (receiptItem.getName() != null) { - System.out.printf("Name: %s, confidence: %.2f%n", receiptItem.getName().getValue(), - receiptItem.getName().getConfidence()); - } - if (receiptItem.getQuantity() != null) { - System.out.printf("Quantity: %.2f, confidence: %.2f%n", receiptItem.getQuantity().getValue(), - receiptItem.getQuantity().getConfidence()); - } - if (receiptItem.getPrice() != null) { - System.out.printf("Price: %.2f, confidence: %.2f%n", receiptItem.getPrice().getValue(), - receiptItem.getPrice().getConfidence()); - } - if (receiptItem.getTotalPrice() != null) { - System.out.printf("Total Price: %.2f, confidence: %.2f%n", - receiptItem.getTotalPrice().getValue(), receiptItem.getTotalPrice().getConfidence()); - } - }); - System.out.println("-----------------------------------"); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java deleted file mode 100644 index 7c45160a49cab..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabels.java +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -/** - * Sample to train a model with labeled data. - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here. - * - * For this sample, you can use the training forms found in - * here - * to create your own custom models. - * For instructions to create a label file for your training forms, please see: - * here. - * - * Further, see RecognizeCustomForms.java to recognize forms with your custom built model. - */ -public class TrainModelWithLabels { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - // Train custom model - String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - true, - new TrainingOptions() - .setModelName("model trained with labels"), - Context.NONE); - - CustomFormModel customFormModel = trainingPoller.getFinalResult(); - - // Model Info - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - - // looping through the subModels, which contains the fields they were trained on - // The labels are based on the ones you gave the training document. - System.out.println("Recognized Fields:"); - // Since the data is labeled, we are able to return the accuracy of the model - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n", customFormSubmodel.getModelId()); - System.out.printf("The submodel with form type %s has accuracy: %.2f%n", - customFormSubmodel.getFormType(), customFormSubmodel.getAccuracy()); - customFormSubmodel.getFields().forEach((label, customFormModelField) -> - System.out.printf("The model found field '%s' to have name: %s with an accuracy: %.2f%n", - label, customFormModelField.getName(), customFormModelField.getAccuracy())); - }); - System.out.println(); - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java deleted file mode 100644 index ca48488468d63..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithLabelsAsync.java +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.util.concurrent.TimeUnit; - -/** - * Async sample to train a model with labeled data. - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here - * - * For this sample, you can use the training forms found in - * here - * to create your own custom models. - * - * For instructions to create a label file for your training forms, please see: - * here - * - * Further, see RecognizeCustomForms.java to recognize forms with your custom built model. - */ -public class TrainModelWithLabelsAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - PollerFlux trainingPoller = - client.beginTraining(trainingFilesUrl, - true, - new TrainingOptions().setModelName("model trained with labels")); - - Mono customFormModelResult = trainingPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - // training completed successfully, retrieving final result. - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - customFormModelResult.subscribe(customFormModel -> { - // Model Info - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - - // looping through the sub-models, which contains the fields they were trained on - // The labels are based on the ones you gave the training document. - System.out.println("Recognized Fields:"); - // Since the data is labeled, we are able to return the accuracy of the model - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n", customFormSubmodel.getModelId()); - System.out.printf("The submodel with form type %s has accuracy: %.2f%n", - customFormSubmodel.getFormType(), customFormSubmodel.getAccuracy()); - customFormSubmodel.getFields().forEach((label, customFormModelField) -> - System.out.printf("The model found field '%s' to have name: %s with an accuracy: %.2f%n", - label, customFormModelField.getName(), customFormModelField.getAccuracy())); - }); - System.out.println(); - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java deleted file mode 100644 index 3b94ba328a4b9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabels.java +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; - -/** - * Sample to train a model with unlabeled data. - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here - * - * For this sample, you can use the training forms found in - * here - * to create your own custom models. - * - * Further, see RecognizeCustomForms.java to recognize forms with your custom built model. - */ -public class TrainModelWithoutLabels { - - /** - * Main method to invoke this demo about how to train a custom model. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildClient(); - - // Train custom model - String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - false, - new TrainingOptions() - .setModelName("composed model name"), - Context.NONE); - - CustomFormModel customFormModel = trainingPoller.getFinalResult(); - - // Model Info - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - - System.out.println("Recognized Fields:"); - // looping through the subModels, which contains the fields they were trained on - // Since the given training documents are unlabeled, we still group them but they do not have a label. - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - // Since the training data is unlabeled, we are unable to return the accuracy of this model - System.out.printf("Submodel Id: %s%n", customFormSubmodel.getModelId()); - System.out.printf("The submodel has form type %s%n", customFormSubmodel.getFormType()); - customFormSubmodel.getFields().forEach((field, customFormModelField) -> - System.out.printf("The model found field '%s' with label: %s%n", - field, customFormModelField.getLabel())); - }); - System.out.println(); - - // Training result information - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java deleted file mode 100644 index 5936e6ef61cf5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/TrainModelWithoutLabelsAsync.java +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.util.polling.PollerFlux; -import reactor.core.publisher.Mono; - -import java.util.concurrent.TimeUnit; - -/** - * Async sample to train a model with unlabeled data. - * For instructions on setting up forms for training in an Azure Storage Blob Container, see - * here - * - * For this sample, you can use the training forms found in - * here - * to create your own custom models. - * - * Further, see RecognizeCustomForms.java to recognize forms with your custom built model. - */ -public class TrainModelWithoutLabelsAsync { - - /** - * Main method to invoke this demo. - * - * @param args Unused arguments to the program. - */ - public static void main(String[] args) { - // Instantiate a client that will be used to call the service. - FormTrainingAsyncClient client = new FormTrainingClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .buildAsyncClient(); - - // Train custom model - String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; - // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. - PollerFlux trainingPoller = - client.beginTraining(trainingFilesUrl, - false, - new TrainingOptions().setModelName("model trained without labels")); - - Mono customFormModelResult = trainingPoller - .last() - .flatMap(pollResponse -> { - if (pollResponse.getStatus().isComplete()) { - // training completed successfully, retrieving final result. - return pollResponse.getFinalResult(); - } else { - return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" - + pollResponse.getStatus())); - } - }); - - customFormModelResult.subscribe(customFormModel -> { - // Model Info - System.out.printf("Model Id: %s%n", customFormModel.getModelId()); - System.out.printf("Model Status: %s%n", customFormModel.getModelStatus()); - System.out.printf("Model name: %s%n", customFormModel.getModelName()); - System.out.printf("Training started on: %s%n", customFormModel.getTrainingStartedOn()); - System.out.printf("Training completed on: %s%n%n", customFormModel.getTrainingCompletedOn()); - - System.out.println("Recognized Fields:"); - // looping through the subModels, which contains the fields they were trained on - // Since the given training documents are unlabeled, we still group them but they do not have a label. - customFormModel.getSubmodels().forEach(customFormSubmodel -> { - System.out.printf("Submodel Id: %s%n", customFormSubmodel.getModelId()); - // Since the training data is unlabeled, we are unable to return the accuracy of this model - System.out.printf("The submodel has form type %s%n", customFormSubmodel.getFormType()); - customFormSubmodel.getFields().forEach((field, customFormModelField) -> - System.out.printf("The model found field '%s' with label: %s%n", - field, customFormModelField.getLabel())); - }); - System.out.println(); - - // Training result information - customFormModel.getTrainingDocuments().forEach(trainingDocumentInfo -> { - System.out.printf("Document name: %s%n", trainingDocumentInfo.getName()); - System.out.printf("Document status: %s%n", trainingDocumentInfo.getStatus()); - System.out.printf("Document page count: %d%n", trainingDocumentInfo.getPageCount()); - if (!trainingDocumentInfo.getErrors().isEmpty()) { - System.out.println("Document Errors:"); - trainingDocumentInfo.getErrors().forEach(formRecognizerError -> - System.out.printf("Error code %s, Error message: %s%n", formRecognizerError.getErrorCode(), - formRecognizerError.getMessage())); - } - }); - }); - - // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep - // the thread so the program does not end before the send operation is complete. Using .block() instead of - // .subscribe() will turn this into a synchronous call. - try { - TimeUnit.MINUTES.sleep(1); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java new file mode 100644 index 0000000000000..6bf981badcadf --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModel.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; + +/** + * Sample to build a model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here. + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom document analysis models. + * For instructions to create a label file for your training forms, please see: + * here. + *

+ * Further, see AnalyzeCustomDocument.java to analyze a custom document with your built model. + */ +public class BuildModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Build custom document analysis model + String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller buildOperationPoller = + client.beginBuildModel(trainingFilesUrl, + "my-build-model", + new BuildModelOptions().setDescription("model desc"), + Context.NONE); + + DocumentModel documentModel = buildOperationPoller.getFinalResult(); + + // Model Info + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModel.getCreatedOn()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java new file mode 100644 index 0000000000000..3bc864acb7135 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/BuildModelAsync.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.util.concurrent.TimeUnit; + +/** + * Async sample to build a model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom models. + *

+ * Further, see AnalyzeCustomDocument.java to recognize forms with your built model. + */ +public class BuildModelAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String trainingFilesUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + PollerFlux buildModelPoller = + client.beginBuildModel(trainingFilesUrl, + "my-document-analysis-model", + new BuildModelOptions().setDescription("my custom model desc")); + + Mono customFormModelResult = buildModelPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + // building model completed successfully, retrieving final result. + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + customFormModelResult.subscribe(documentModel -> { + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModel.getCreatedOn()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java new file mode 100644 index 0000000000000..100c123f62ed7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModel.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +/** + * Sample for copying a custom document analysis model from a source Form Recognizer resource to a target Form Recognizer resource. + */ +public class CopyModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a source client which has the model that we want to copy. + DocumentModelAdministrationClient sourceClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Instantiate the target client where we want to copy the custom document analysis model to. + DocumentModelAdministrationClient targetClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String copiedModelId = "my-copied-model"; + + // Get authorization to copy the model to target resource + CopyAuthorization modelCopyAuthorization = targetClient.getCopyAuthorization(copiedModelId); + + // The ID of the model that needs to be copied to the target resource + String copyModelId = "copy-model-ID"; + // Start copy operation from the source client + SyncPoller copyPoller = sourceClient.beginCopyModel(copyModelId, + modelCopyAuthorization); + copyPoller.waitForCompletion(); + + // Get the copied model + DocumentModel copiedModel = targetClient.getModel(modelCopyAuthorization.getTargetModelId()); + + System.out.printf("Copied model has model ID: %s, was created on: %s.%n", + copiedModel.getModelId(), + copiedModel.getCreatedOn()); + } +} + diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModelAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModelAsync.java similarity index 52% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModelAsync.java rename to sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModelAsync.java index b90d38314f6b5..3e2c93d25312a 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CopyModelAsync.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CopyModelAsync.java @@ -1,17 +1,15 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -package com.azure.ai.formrecognizer; +package com.azure.ai.formrecognizer.administration; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.util.polling.AsyncPollResponse; import java.util.concurrent.TimeUnit; /** - * Async sample for copying a custom model from a source Form Recognizer resource to a target Form Recognizer resource. + * Async sample for copying a custom document analysis model from a source Form Recognizer resource to a target Form Recognizer resource. */ public class CopyModelAsync { @@ -22,45 +20,38 @@ public class CopyModelAsync { */ public static void main(final String[] args) { // Instantiate a source client which has the model that we want to copy. - FormTrainingAsyncClient sourceClient = new FormTrainingClientBuilder() + DocumentModelAdministrationAsyncClient sourceClient = new DocumentModelAdministrationClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); - // Instantiate the target client where we want to copy the custom model to. - FormTrainingAsyncClient targetClient = new FormTrainingClientBuilder() + // Instantiate the target client where we want to copy the custom document analysis model to. + DocumentModelAdministrationAsyncClient targetClient = new DocumentModelAdministrationClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .buildAsyncClient(); - String targetResourceId = "target-resource-Id"; - String targetResourceRegion = "target-resource-region"; - // The Id of the model that needs to be copied to the target resource - String copyModelId = "copy-model-Id"; + String copiedModelId = "my-copied-model"; + // The ID of the model that needs to be copied to the target resource + String copyModelId = "copy-model-ID"; // Get authorization to copy the model to target resource - targetClient.getCopyAuthorization(targetResourceId, targetResourceRegion) + targetClient.getCopyAuthorization(copiedModelId) // Start copy operation from the source client - // The Id of the model that needs to be copied to the target resource + // The ID of the model that needs to be copied to the target resource .subscribe(copyAuthorization -> sourceClient.beginCopyModel(copyModelId, copyAuthorization) .filter(pollResponse -> pollResponse.getStatus().isComplete()) .flatMap(AsyncPollResponse::getFinalResult) - .subscribe(customFormModelInfo -> { - System.out.printf("Original model has model Id: %s, model status: %s, training started on: %s," - + " training completed on: %s.%n", - customFormModelInfo.getModelId(), - customFormModelInfo.getStatus(), - customFormModelInfo.getTrainingStartedOn(), - customFormModelInfo.getTrainingCompletedOn()); + .subscribe(documentModelInfo -> { + System.out.printf("Original model has model ID: %s and was created on: %s.%n", + documentModelInfo.getModelId(), + documentModelInfo.getCreatedOn()); // Get the copied model from the target resource - targetClient.getCustomModel(copyAuthorization.getModelId()).subscribe(customFormModel -> - System.out.printf("Copied model has model Id: %s, model status: %s, training started on: %s," - + " training completed on: %s.%n", - customFormModel.getModelId(), - customFormModel.getModelStatus(), - customFormModel.getTrainingStartedOn(), - customFormModel.getTrainingCompletedOn())); + targetClient.getModel(copyAuthorization.getTargetModelId()).subscribe(documentModel -> + System.out.printf("Copied model has model ID: %s was created on: %s.%n", + documentModel.getModelId(), + documentModel.getCreatedOn())); })); // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java new file mode 100644 index 0000000000000..77a8e1067ebca --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; + +import java.time.Duration; +import java.util.Arrays; + +/** + * Sample for creating a custom document analysis composed model. + *

+ * This is useful when you have build different analysis models and want to aggregate a group of + * them into a single model that you (or a user) could use to analyze a custom document. When doing + * so, you can let the service decide which model more accurately represents the document to + * analyze, instead of manually trying each built model against the form and selecting + * the most accurate one. + *

+ */ +public class CreateComposedModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Build custom document analysis model + String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller model1Poller = + client.beginBuildModel(model1TrainingFiles, null); + + // Build custom document analysis model + String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller model2Poller = + client.beginBuildModel(model2TrainingFiles, null); + + String labeledModelId1 = model1Poller.getFinalResult().getModelId(); + String labeledModelId2 = model2Poller.getFinalResult().getModelId(); + String composedModelId = "my-composed-model"; + final DocumentModel documentModel = + client.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), + composedModelId, + new CreateComposedModelOptions().setDescription("my composed model description"), + Context.NONE) + .setPollInterval(Duration.ofSeconds(5)) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model description: %s%n", documentModel.getDescription()); + System.out.printf("Composed model created on: %s%n", documentModel.getCreatedOn()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + } +} + diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java new file mode 100644 index 0000000000000..f678a5173054d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModelAsync.java @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.AsyncPollResponse; +import com.azure.core.util.polling.PollerFlux; + +import java.time.Duration; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +/** + * Sample for creating a custom document analysis composed model. + *

+ * This is useful when you have build different analysis models and want to aggregate a group of + * them into a single model that you (or a user) could use to analyze a custom document. When doing + * so, you can let the service decide which model more accurately represents the document to + * analyze, instead of manually trying each built model against the form and selecting + * the most accurate one. + *

+ */ +public class CreateComposedModelAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + // Build custom document analysis model + String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + PollerFlux model1Poller = + client.beginBuildModel(model1TrainingFiles, null); + + // Build custom document analysis model + String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + PollerFlux model2Poller = + client.beginBuildModel(model2TrainingFiles, null); + + String labeledModelId1 = model1Poller.getSyncPoller().getFinalResult().getModelId(); + String labeledModelId2 = model2Poller.getSyncPoller().getFinalResult().getModelId(); + + client.beginCreateComposedModel(Arrays.asList(labeledModelId1, labeledModelId2), + "my-composed-model", + new CreateComposedModelOptions().setDescription("my composed model desc")) + .setPollInterval(Duration.ofSeconds(5)) + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Composed model created on: %s%n", documentModel.getCreatedOn()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} + diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java new file mode 100644 index 0000000000000..bc2d979794270 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorizationOptions; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.util.polling.AsyncPollResponse; + +import java.util.Arrays; +import java.util.List; + +/** + * Code snippet for {@link DocumentModelAdministrationAsyncClient} + */ +public class DocumentModelAdminAsyncClientJavaDocCodeSnippets { + private final DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder().buildAsyncClient(); + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient} initialization + */ + public void formTrainingAsyncClientInInitialization() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.initialization + DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder().buildAsyncClient(); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.initialization + } + + /** + * Code snippet for creating a {@link DocumentModelAdministrationAsyncClient} with pipeline + */ + public void createDocumentTrainingAsyncClientWithPipeline() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildAsyncClient(); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.pipeline.instantiation + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginBuildModel(String, String)} + */ + public void beginBuildModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String + String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + documentModelAdministrationAsyncClient.beginBuildModel(trainingFilesUrl, "model-name") + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginBuildModel(String, String, BuildModelOptions)} + * with options + */ + public void beginBuildModelWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String-BuildModelOptions + String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + documentModelAdministrationAsyncClient.beginBuildModel(trainingFilesUrl, + "model-name", + new BuildModelOptions() + .setDescription("model desc") + .setPrefix("Invoice")) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginBuildModel#String-String-BuildModelOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteModel} + */ + public void deleteModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModel#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.deleteModel(modelId) + .subscribe(ignored -> System.out.printf("Model ID: %s is deleted%n", modelId)); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteModelWithResponse(String)} + */ + public void deleteModelWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModelWithResponse#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.deleteModelWithResponse(modelId) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Model ID: %s is deleted.%n", modelId); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.deleteModelWithResponse#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getCopyAuthorization(String)} + */ + public void getCopyAuthorization() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorization#string + String modelId = "my-copied-model"; + documentModelAdministrationAsyncClient.getCopyAuthorization(modelId) + .subscribe(copyAuthorization -> + System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " + + "target resource ID; %s, target resource region: %s%n", + copyAuthorization.getTargetModelId(), + copyAuthorization.getAccessToken(), + copyAuthorization.getExpiresOn(), + copyAuthorization.getTargetResourceId(), + copyAuthorization.getTargetResourceRegion() + )); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorization#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getCopyAuthorizationWithResponse(String, CopyAuthorizationOptions)} + */ + public void getCopyAuthorizationWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions + String modelId = "my-copied-model"; + documentModelAdministrationAsyncClient.getCopyAuthorizationWithResponse(modelId, + new CopyAuthorizationOptions().setDescription("model desc")) + .subscribe(copyAuthorization -> + System.out.printf("Copy Authorization response status: %s, for model id: %s, access token: %s, " + + "expiration time: %s, target resource ID; %s, target resource region: %s%n", + copyAuthorization.getStatusCode(), + copyAuthorization.getValue().getTargetModelId(), + copyAuthorization.getValue().getAccessToken(), + copyAuthorization.getValue().getExpiresOn(), + copyAuthorization.getValue().getTargetResourceId(), + copyAuthorization.getValue().getTargetResourceRegion() + )); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getAccountProperties()} + */ + public void getAccountProperties() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountProperties + documentModelAdministrationAsyncClient.getAccountProperties() + .subscribe(accountProperties -> { + System.out.printf("Max number of models that can be build for this account: %d%n", + accountProperties.getDocumentModelLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + accountProperties.getDocumentModelCount()); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountProperties + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getAccountPropertiesWithResponse()} + */ + public void getAccountPropertiesWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountPropertiesWithResponse + documentModelAdministrationAsyncClient.getAccountPropertiesWithResponse() + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + AccountProperties accountProperties = response.getValue(); + System.out.printf("Max number of models that can be build for this account: %d%n", + accountProperties.getDocumentModelLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + accountProperties.getDocumentModelCount()); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getAccountPropertiesWithResponse + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginCreateComposedModel(List, String)} + */ + public void beginCreateComposedModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String + String modelId1 = "{model_Id_1}"; + String modelId2 = "{model_Id_2}"; + documentModelAdministrationAsyncClient.beginCreateComposedModel(Arrays.asList(modelId1, modelId2), + "my-composed-model") + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginCreateComposedModel(List, String, CreateComposedModelOptions)} + * with options + */ + public void beginCreateComposedModelWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String-createComposedModelOptions + String modelId1 = "{model_Id_1}"; + String modelId2 = "{model_Id_2}"; + documentModelAdministrationAsyncClient.beginCreateComposedModel(Arrays.asList(modelId1, modelId2), + "my-composed-model", + new CreateComposedModelOptions().setDescription("model-desc")) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCreateComposedModel#list-String-createComposedModelOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginCopyModel(String, CopyAuthorization)} + */ + public void beginCopy() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCopyModel#string-copyAuthorization + String copyModelId = "copy-model"; + String targetModelId = "my-copied-model-id"; + // Get authorization to copy the model to target resource + documentModelAdministrationAsyncClient.getCopyAuthorization(targetModelId) + // Start copy operation from the source client + // The ID of the model that needs to be copied to the target resource + .subscribe(copyAuthorization -> documentModelAdministrationAsyncClient.beginCopyModel(copyModelId, + copyAuthorization) + .filter(pollResponse -> pollResponse.getStatus().isComplete()) + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> + System.out.printf("Copied model has model ID: %s, was created on: %s.%n,", + documentModel.getModelId(), + documentModel.getCreatedOn()))); + + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.beginCopyModel#string-copyAuthorization + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#listModels()} + */ + public void listModels() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listModels + documentModelAdministrationAsyncClient.listModels() + .subscribe(documentModelInfo -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModelInfo.getModelId(), + documentModelInfo.getDescription(), + documentModelInfo.getCreatedOn())); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listModels + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModel(String)} + */ + public void getModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModel#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getModel(modelId).subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModelWithResponse(String)} + */ + public void getModelWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModelWithResponse#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getModelWithResponse(modelId).subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentModel documentModel = response.getValue(); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getModelWithResponse#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModel(String)} + */ + public void getOperation() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperation#string + String operationId = "{operation_Id}"; + documentModelAdministrationAsyncClient.getOperation(operationId).subscribe(modelOperation -> { + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperation.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperation#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getOperationWithResponse(String)} + */ + public void getOperationWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperationWithResponse#string + String operationId = "{operation_Id}"; + documentModelAdministrationAsyncClient.getOperationWithResponse(operationId).subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + ModelOperation modelOperation = response.getValue(); + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperation.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.getOperationWithResponse#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#listOperations()} + */ + public void listOperations() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listOperations + documentModelAdministrationAsyncClient.listOperations() + .subscribe(modelOperation -> { + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperation.getCreatedOn()); + System.out.printf("Operation Percent completed: %d%n", modelOperation.getPercentCompleted()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Last updated on: %s%n", modelOperation.getLastUpdatedOn()); + System.out.printf("Operation resource location: %s%n", modelOperation.getResourceLocation()); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient.listOperations + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminClientJavaDocCodeSnippets.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminClientJavaDocCodeSnippets.java new file mode 100644 index 0000000000000..61f15eeb32d07 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/DocumentModelAdminClientJavaDocCodeSnippets.java @@ -0,0 +1,423 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorizationOptions; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationInfo; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +import java.time.Duration; +import java.util.Arrays; +import java.util.List; + +/** + * Code snippet for {@link DocumentModelAdministrationClient} + */ +public class DocumentModelAdminClientJavaDocCodeSnippets { + private final DocumentModelAdministrationClient documentModelAdministrationClient = + new DocumentModelAdministrationClientBuilder().buildClient(); + private final DocumentModelAdministrationClient targetDocumentModelAdministrationClient = + new DocumentModelAdministrationClientBuilder().buildClient(); + + /** + * Code snippet for {@link DocumentModelAdministrationClient} initialization + */ + public void formTrainingClientInInitialization() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.initialization + DocumentModelAdministrationClient documentModelAdministrationClient = + new DocumentModelAdministrationClientBuilder().buildClient(); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.initialization + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginBuildModel(String, String)} + */ + public void beginBuildModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#String-String + String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + DocumentModel documentModel = + documentModelAdministrationClient.beginBuildModel(trainingFilesUrl, "my-model").getFinalResult(); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#String-String + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginBuildModel(String, String, BuildModelOptions, Context)} + * with options + */ + public void beginBuildModelWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#string-String-BuildModelOptions-Context + String trainingFilesUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + String prefix = "Invoice"; + + DocumentModel documentModel = documentModelAdministrationClient.beginBuildModel(trainingFilesUrl, "my-model", + new BuildModelOptions() + .setDescription("model desc") + .setPrefix(prefix), Context.NONE) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginBuildModel#string-String-BuildModelOptions-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getAccountProperties()} + */ + public void getAccountProperties() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountProperties + AccountProperties accountProperties = documentModelAdministrationClient.getAccountProperties(); + System.out.printf("Max number of models that can be build for this account: %d%n", + accountProperties.getDocumentModelLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + accountProperties.getDocumentModelCount()); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountProperties + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getAccountPropertiesWithResponse(Context)} + */ + public void getAccountPropertiesWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountPropertiesWithResponse#Context + Response response = + documentModelAdministrationClient.getAccountPropertiesWithResponse(Context.NONE); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + AccountProperties accountProperties = response.getValue(); + System.out.printf("Max number of models that can be build for this account: %d%n", + accountProperties.getDocumentModelLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + accountProperties.getDocumentModelCount()); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getAccountPropertiesWithResponse#Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteModel(String)} + */ + public void deleteModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModel#string + String modelId = "{model_id}"; + documentModelAdministrationClient.deleteModel(modelId); + System.out.printf("Model ID: %s is deleted.%n", modelId); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteModelWithResponse(String, Context)} + */ + public void deleteModelWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModelWithResponse#string-Context + String modelId = "{model_id}"; + Response response = documentModelAdministrationClient.deleteModelWithResponse(modelId, Context.NONE); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Model ID: %s is deleted.%n", modelId); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.deleteModelWithResponse#string-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getCopyAuthorization(String)} + */ + public void getCopyAuthorization() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorization#string + String modelId = "my-copied-model"; + CopyAuthorization copyAuthorization = documentModelAdministrationClient.getCopyAuthorization(modelId); + System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " + + "target resource ID; %s, target resource region: %s%n", + copyAuthorization.getTargetModelId(), + copyAuthorization.getAccessToken(), + copyAuthorization.getExpiresOn(), + copyAuthorization.getTargetResourceId(), + copyAuthorization.getTargetResourceRegion() + ); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorization#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getCopyAuthorizationWithResponse(String, CopyAuthorizationOptions, Context)} + */ + public void getCopyAuthorizationWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions-Context + String modelId = "my-copied-model"; + Response copyAuthorizationResponse = + documentModelAdministrationClient.getCopyAuthorizationWithResponse(modelId, + new CopyAuthorizationOptions().setDescription("model-desc"), + Context.NONE); + + System.out.printf("Copy Authorization operation returned with status: %s", + copyAuthorizationResponse.getStatusCode()); + CopyAuthorization copyAuthorization = copyAuthorizationResponse.getValue(); + System.out.printf("Copy Authorization for model id: %s, access token: %s, " + + "expiration time: %s, target resource ID; %s, target resource region: %s%n", + copyAuthorization.getTargetModelId(), + copyAuthorization.getAccessToken(), + copyAuthorization.getExpiresOn(), + copyAuthorization.getTargetResourceId(), + copyAuthorization.getTargetResourceRegion() + ); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getCopyAuthorizationWithResponse#string-CopyAuthorizationOptions-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginCreateComposedModel(List, String)} + */ + public void beginCreateComposedModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String + String modelId1 = "{model_Id_1}"; + String modelId2 = "{model_Id_2}"; + String modelId = "my-composed-model"; + final DocumentModel documentModel + = documentModelAdministrationClient.beginCreateComposedModel(Arrays.asList(modelId1, modelId2), modelId) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginCreateComposedModel(List, String, CreateComposedModelOptions, Context)} + * with options + */ + public void beginCreateComposedModelWithOptions() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String-CreateComposedModelOptions-Context + String modelId1 = "{model_Id_1}"; + String modelId2 = "{model_Id_2}"; + String modelId = "my-composed-model"; + + final DocumentModel documentModel = + documentModelAdministrationClient.beginCreateComposedModel(Arrays.asList(modelId1, modelId2), modelId, + new CreateComposedModelOptions() + .setDescription("my composed model name"), + Context.NONE) + .setPollInterval(Duration.ofSeconds(5)) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCreateComposedModel#list-String-CreateComposedModelOptions-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginCopyModel(String, CopyAuthorization)} + */ + public void beginCopy() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization + String copyModelId = "copy-model"; + String targetModelId = "my-copied-model-id"; + // Get authorization to copy the model to target resource + CopyAuthorization copyAuthorization = documentModelAdministrationClient.getCopyAuthorization(copyModelId); + // Start copy operation from the source client + DocumentModel documentModel = + documentModelAdministrationClient.beginCopyModel(copyModelId, copyAuthorization).getFinalResult(); + System.out.printf("Copied model has model ID: %s, was created on: %s.%n,", + documentModel.getModelId(), + documentModel.getCreatedOn()); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginCopyModel(String, CopyAuthorization, Context)} + */ + public void beginCopyOverload() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization-Context + String copyModelId = "copy-model"; + String targetModelId = "my-copied-model-id"; + // Get authorization to copy the model to target resource + CopyAuthorization copyAuthorization = documentModelAdministrationClient.getCopyAuthorization(targetModelId); + // Start copy operation from the source client + DocumentModel documentModel = + documentModelAdministrationClient.beginCopyModel(copyModelId, copyAuthorization, Context.NONE).getFinalResult(); + System.out.printf("Copied model has model ID: %s, was created on: %s.%n,", + documentModel.getModelId(), + documentModel.getCreatedOn()); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.beginCopyModel#string-copyAuthorization-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listModels()} + */ + public void listModels() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels + documentModelAdministrationClient.listModels() + .forEach(documentModel -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModel.getModelId(), + documentModel.getDescription(), + documentModel.getCreatedOn()) + ); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listModels(Context)} + */ + public void listModelsWithContext() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels#Context + documentModelAdministrationClient.listModels(Context.NONE) + .forEach(documentModel -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModel.getModelId(), + documentModel.getDescription(), + documentModel.getCreatedOn()) + ); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listModels#Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getModel(String)} + */ + public void getModel() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModel#string + String modelId = "{model_id}"; + DocumentModel documentModel = documentModelAdministrationClient.getModel(modelId); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getModelWithResponse(String, Context)} + */ + public void getModelWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModelWithResponse#string-Context + String modelId = "{model_id}"; + Response response = documentModelAdministrationClient.getModelWithResponse(modelId, Context.NONE); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentModel documentModel = response.getValue(); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getModelWithResponse#string-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getOperation(String)} + */ + public void getOperation() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperation#string + String operationId = "{operation_Id}"; + ModelOperation modelOperation = documentModelAdministrationClient.getOperation(operationId); + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperation.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperation#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getOperationWithResponse(String, Context)} + */ + public void getOperationWithResponse() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperationWithResponse#string-Context + String operationId = "{operation_Id}"; + Response response = + documentModelAdministrationClient.getOperationWithResponse(operationId, Context.NONE); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + ModelOperation modelOperation = response.getValue(); + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperation.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.getOperationWithResponse#string-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listOperations()} + */ + public void listOperations() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations + PagedIterable + modelOperationInfo = documentModelAdministrationClient.listOperations(); + modelOperationInfo.forEach(modelOperation -> { + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperation.getCreatedOn()); + System.out.printf("Operation Percent completed: %d%n", modelOperation.getPercentCompleted()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Last updated on: %s%n", modelOperation.getLastUpdatedOn()); + System.out.printf("Operation resource location: %s%n", modelOperation.getResourceLocation()); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listOperations(Context)} + */ + public void listOperationsWithContext() { + // BEGIN: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations#Context + PagedIterable + modelOperationInfo = documentModelAdministrationClient.listOperations(Context.NONE); + modelOperationInfo.forEach(modelOperation -> { + System.out.printf("Operation ID: %s%n", modelOperation.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperation.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperation.getCreatedOn()); + System.out.printf("Operation Percent completed: %d%n", modelOperation.getPercentCompleted()); + System.out.printf("Operation Kind: %s%n", modelOperation.getKind()); + System.out.printf("Operation Last updated on: %s%n", modelOperation.getLastUpdatedOn()); + System.out.printf("Operation resource location: %s%n", modelOperation.getResourceLocation()); + }); + // END: com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient.listOperations#Context + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java new file mode 100644 index 0000000000000..7d65beac450f6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfo.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.ModelOperation; +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; +import com.azure.core.credential.AzureKeyCredential; + +/** + * Sample to get/list all document model operations associated with the Form Recognizer resource. + * Kinds of operations returned are "documentModelBuild", "documentModelCompose", and "documentModelCopyTo". + * Note that operation information only persists for 24 hours. + * If the operation was successful, the document model can be accessed using get_model or list_models APIs + */ +public class GetOperationInfo { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + client.listOperations().forEach(modelOperationInfo -> { + System.out.printf("Operation ID: %s%n", modelOperationInfo.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperationInfo.getKind()); + System.out.printf("Operation Status: %s%n", modelOperationInfo.getStatus()); + System.out.printf("Operation resource location %s%n", modelOperationInfo.getResourceLocation()); + System.out.printf("Operation percent completion status: %d%n", modelOperationInfo.getPercentCompleted()); + + // get the specific operation info + ModelOperation modelOperation = + client.getOperation(modelOperationInfo.getOperationId()); + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperationInfo.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + }); + + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java new file mode 100644 index 0000000000000..d06305de9ea8a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/GetOperationInfoAsync.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.ModelOperationStatus; +import com.azure.core.credential.AzureKeyCredential; + +/** + * Async sample to get/list all document model operations associated with the Form Recognizer resource. + * Kinds of operations returned are "documentModelBuild", "documentModelCompose", and "documentModelCopyTo". + * Note that operation information only persists for 24 hours. + * If the operation was successful, the document model can be accessed using get_model or list_models APIs + */ +public class GetOperationInfoAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + client.listOperations().subscribe(modelOperationInfo -> { + System.out.printf("Operation ID: %s%n", modelOperationInfo.getOperationId()); + System.out.printf("Operation Kind: %s%n", modelOperationInfo.getKind()); + System.out.printf("Operation Status: %s%n", modelOperationInfo.getStatus()); + System.out.printf("Operation resource location %s%n", modelOperationInfo.getResourceLocation()); + System.out.printf("Operation percent completion status: %d%n", modelOperationInfo.getPercentCompleted()); + + // get the specific operation info + client.getOperation(modelOperationInfo.getOperationId()).subscribe(modelOperation -> { + System.out.printf("Model ID created with this operation: %s%n", modelOperation.getModelId()); + if (ModelOperationStatus.FAILED.equals(modelOperationInfo.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperation.getError().getMessage()); + } + }); + + }); + + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java new file mode 100644 index 0000000000000..94f20be7f0d3c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModels.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +import java.util.concurrent.atomic.AtomicReference; + +/** + * Sample for demonstrating common custom document analysis model management operations. + * To learn how to build your own models, look at BuildModel.java and BuildModelAsync.java. + */ +public class ManageCustomModels { + + /** + * Main program to invoke the demo for performing operations of a custom document analysis model. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + AtomicReference modelId = new AtomicReference<>(); + + // First, we see how many models we have, and what our limit is + AccountProperties accountProperties = client.getAccountProperties(); + System.out.printf("The account has %s models, and we can have at most %s models", + accountProperties.getDocumentModelCount(), accountProperties.getDocumentModelLimit()); + + // Next, we get a paged list of all of our models + PagedIterable customDocumentModels = client.listModels(); + System.out.println("We have following models in the account:"); + customDocumentModels.forEach(documentModelInfo -> { + System.out.printf("Model ID: %s%n", documentModelInfo.getModelId()); + + // get custom document analysis model info + modelId.set(documentModelInfo.getModelId()); + DocumentModel documentModel = client.getModel(documentModelInfo.getModelId()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + + // Delete Custom Model + System.out.printf("Deleted model with model ID: %s, operation completed with status: %s%n", modelId.get(), + client.deleteModelWithResponse(modelId.get(), Context.NONE).getStatusCode()); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java new file mode 100644 index 0000000000000..e16af2f0d910a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/ManageCustomModelsAsync.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.core.credential.AzureKeyCredential; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + + +/** + * Async sample for demonstrating to perform common custom document analysis model management operations on your Form + * Recognizer resource. + * To learn how to build your own models, look at BuildModelAsync.java and BuildModel.java. + */ +public class ManageCustomModelsAsync { + + /** + * Main program to invoke the demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + AtomicReference modelId = new AtomicReference<>(); + + // First, we see how many models we have, and what our limit is + client.getAccountProperties().subscribe(accountProperties -> + System.out.printf("The account has %s models, and we can have at most %s models.%n", + accountProperties.getDocumentModelCount(), accountProperties.getDocumentModelLimit())); + // Next, we get a paged list of all of our models + System.out.println("We have following models in the account:"); + client.listModels().subscribe(documentModelInfo -> { + String createdModelId = documentModelInfo.getModelId(); + System.out.printf("Model ID: %s%n", createdModelId); + + // get custom document analysis model info + modelId.set(createdModelId); + client.getModel(documentModelInfo.getModelId()).subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedOn()); + documentModel.getDocTypes().forEach((key, docTypeInfo) -> { + docTypeInfo.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", docTypeInfo.getFieldConfidence().get(field)); + }); + }); + }); + }); + + // Delete Custom Model + client.deleteModel(modelId.get()); + System.out.printf("Deleted model with model ID: %s%n", modelId.get()); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.SECONDS.sleep(15); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/package-info.java new file mode 100644 index 0000000000000..422b6bc7f7b09 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/package-info.java @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** + * Package containing sample classes for interacting with {@link com.azure.ai.formrecognizer.administration.DocumentModelAdministrationAsyncClient} to + * perform operations on Azure Form Recognizer + */ +package com.azure.ai.formrecognizer.administration; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/package-info.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/package-info.java index ee33a45bfcf77..fa5f65291f377 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/package-info.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/package-info.java @@ -2,7 +2,7 @@ // Licensed under the MIT License. /** - * Package containing sample classes for interacting with {@link com.azure.ai.formrecognizer.FormRecognizerClient} to + * Package containing sample classes for interacting with {@link com.azure.ai.formrecognizer.DocumentAnalysisClient} to * perform operations on Azure Form Recognizer */ package com.azure.ai.formrecognizer; diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/ContentTypeDetectionTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/ContentTypeDetectionTest.java deleted file mode 100644 index 8d717bb77a157..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/ContentTypeDetectionTest.java +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.implementation.Utility; -import com.azure.ai.formrecognizer.implementation.models.ContentType; -import org.junit.jupiter.api.Test; -import reactor.core.publisher.Flux; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.file.Files; - -import static com.azure.ai.formrecognizer.implementation.Utility.detectContentType; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; - -/** - * Unit tests for automatically detection of content type. - */ -public class ContentTypeDetectionTest { - - /** - * Test for JPG file content type detection for {@link Utility#detectContentType} method. - * - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void jpgContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/contoso-allinone.jpg"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertEquals(ContentType.IMAGE_JPEG, detectContentType(buffer).block()); - } - - /** - * Test for PDF file content type detection for {@link Utility#detectContentType} method. - * - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void pdfContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/Invoice_6.pdf"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertEquals(ContentType.APPLICATION_PDF, detectContentType(buffer).block()); - } - - /** - * Test for PNG file content type detection for {@link Utility#detectContentType} method. - * - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void pngContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/pngFile.png"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertEquals(ContentType.IMAGE_PNG, detectContentType(buffer).block()); - } - - /** - * Test for little-endian TIFF file content type detection for {@link Utility#detectContentType} method. - * File header must begin with: 49, 49, 2a, 0 in hex value, which is 73, 73, 42, 0 in decimal. - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void tiffLittleEndianContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/cell.tif"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertEquals(ContentType.IMAGE_TIFF, detectContentType(buffer).block()); - } - - /** - * Test for big-endian TIFF content type detection for {@link Utility#detectContentType} method. - * No file available. Input must begin with: 4D 4D 00 2A in hex value, which is 77, 77, 0, 42 in decimal - */ - @Test - public void tiffBigEndianContentDetectionTest() { - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(new byte[]{0x4D, 0x4D, 0x00, 0x2A})); - assertEquals(ContentType.IMAGE_TIFF, detectContentType(buffer).block()); - } - - /** - * Test for not supported file content type detection for {@link Utility#detectContentType} method. - * - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void notSupportContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/docFile.doc"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertThrows(RuntimeException.class, () -> detectContentType(buffer).block()); - } - - /** - * Test for BMP file content type detection for {@link Utility#detectContentType} method. - * - * @throws IOException if an I/O error occurs reading from the stream - */ - @Test - public void bmpContentDetectionTest() throws IOException { - File sourceFile = new File("src/test/resources/sample_files/Test/sample_bmp.bmp"); - Flux buffer = toFluxByteBuffer(new ByteArrayInputStream(Files.readAllBytes(sourceFile.toPath()))); - assertEquals(ContentType.IMAGE_BMP, detectContentType(buffer).block()); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/CopyAuthorizationSerializerTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/CopyAuthorizationSerializerTest.java deleted file mode 100644 index e1e8dbb6ed188..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/CopyAuthorizationSerializerTest.java +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -public class CopyAuthorizationSerializerTest { - - private static final String MODEL_ID = "97bf97bc-3210-4c84-a0ef-9472dec711a0"; - private static final String ACCESS_TOKEN = "769cd41c-9602-4373-ba38-a2531643e041"; - private static final String RESOURCE_ID = "77bf97bc-3210-4c84-a0ef-9462dec712a0"; - private static final String REGION = "westus2"; - private static final long EXPIRES_ON = 1593645622; - private static final String EXPECTED_JSON_STRING = "{\"modelId\":\"97bf97bc-3210-4c84-a0ef-9472dec711a0\"," - + "\"accessToken\":\"769cd41c-9602-4373-ba38-a2531643e041\"," - + "\"resourceId\":\"77bf97bc-3210-4c84-a0ef-9462dec712a0\",\"resourceRegion\":\"westus2\"," - + "\"expirationDateTimeTicks\":1593645622}"; - - /** - * Test for {@link CopyAuthorization#fromJson(String)}. - */ - @Test - public void fromJson() { - CopyAuthorization copyAuthorization = new CopyAuthorization(MODEL_ID, ACCESS_TOKEN, RESOURCE_ID, REGION, - EXPIRES_ON); - String copyAuthorizationString = copyAuthorization.toJson(); - - assertTrue(copyAuthorizationString.contains(MODEL_ID)); - assertTrue(copyAuthorizationString.contains(ACCESS_TOKEN)); - assertTrue(copyAuthorizationString.contains(RESOURCE_ID)); - assertTrue(copyAuthorizationString.contains(REGION)); - - CopyAuthorization generatedCopyAuthorization = CopyAuthorization.fromJson(copyAuthorizationString); - assertEquals(copyAuthorization.getModelId(), generatedCopyAuthorization.getModelId()); - assertEquals(copyAuthorization.getAccessToken(), generatedCopyAuthorization.getAccessToken()); - assertEquals(copyAuthorization.getResourceId(), generatedCopyAuthorization.getResourceId()); - assertEquals(copyAuthorization.getResourceRegion(), generatedCopyAuthorization.getResourceRegion()); - assertEquals(copyAuthorization.getExpiresOn(), generatedCopyAuthorization.getExpiresOn()); - } - - /** - * Test for {@link CopyAuthorization#toJson()}. - */ - @Test - public void toJson() { - CopyAuthorization copyAuthorization = new CopyAuthorization(MODEL_ID, ACCESS_TOKEN, RESOURCE_ID, REGION, - EXPIRES_ON); - String copyAuthorizationString = copyAuthorization.toJson(); - assertEquals(EXPECTED_JSON_STRING, copyAuthorizationString); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientTest.java new file mode 100644 index 0000000000000..8393ff92648d2 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisAsyncClientTest.java @@ -0,0 +1,1190 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpClient; +import com.azure.core.util.polling.SyncPoller; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import reactor.test.StepVerifier; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; + +import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; +import static com.azure.ai.formrecognizer.TestUtils.BUSINESS_CARD_JPG; +import static com.azure.ai.formrecognizer.TestUtils.BUSINESS_CARD_PNG; +import static com.azure.ai.formrecognizer.TestUtils.CONTENT_FORM_JPG; +import static com.azure.ai.formrecognizer.TestUtils.CONTENT_GERMAN_PDF; +import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; +import static com.azure.ai.formrecognizer.TestUtils.INVOICE_6_PDF; +import static com.azure.ai.formrecognizer.TestUtils.INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.LICENSE_CARD_JPG; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_BUSINESS_CARD_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_RECEIPT_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_VENDOR_INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.RECEIPT_CONTOSO_JPG; +import static com.azure.ai.formrecognizer.TestUtils.RECEIPT_CONTOSO_PNG; +import static com.azure.ai.formrecognizer.TestUtils.SELECTION_MARK_PDF; +import static com.azure.ai.formrecognizer.TestUtils.damagedPdfDataRunner; +import static com.azure.ai.formrecognizer.TestUtils.encodedBlankSpaceSourceUrlRunner; +import static com.azure.ai.formrecognizer.TestUtils.getContentDetectionFileData; +import static com.azure.ai.formrecognizer.TestUtils.invalidSourceUrlRunner; +import static com.azure.ai.formrecognizer.TestUtils.localFilePathRunner; +import static com.azure.ai.formrecognizer.TestUtils.urlRunner; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +public class DocumentAnalysisAsyncClientTest extends DocumentAnalysisClientTestBase { + + private DocumentAnalysisAsyncClient client; + + @BeforeAll + static void beforeAll() { + StepVerifier.setDefaultTimeout(Duration.ofSeconds(30)); + } + + @AfterAll + static void afterAll() { + StepVerifier.resetDefaultTimeout(); + } + + private DocumentAnalysisAsyncClient getDocumentAnalysisAsyncClient(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + return getDocumentAnalysisBuilder(httpClient, serviceVersion).buildAsyncClient(); + } + + // Receipt recognition + + // Receipt - non-URL + + /** + * Verifies receipt data from a document using file data as source. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument( + "prebuilt-receipt", + Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-receipt", null, 0) + .setPollInterval(durationTestMode).getSyncPoller()); + } + + /** + * Verifies content type will be auto-detected when using custom form API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + localFilePathRunner((filePath, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument( + "prebuilt-receipt", + Utility.toFluxByteBuffer(getContentDetectionFileData(filePath)), + dataLength).setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verifies receipt data from a document using PNG file data as source and including element reference details. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validatePngReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_PNG); + } + + /** + * Verifies receipt data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromDataMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", + Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateMultipageReceiptData(syncPoller.getFinalResult()); + }, MULTIPAGE_RECEIPT_PDF); + } + + /** + * Verify that receipt recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromDamagedPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-receipt", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller().getFinalResult()); + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + // Receipt - URL + + /** + * Verifies receipt data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize receipt from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptInvalidSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", invalidSourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + + FormRecognizerError errorInformation = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + /** + * Verifies receipt data for a document using source as PNG file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptSourceUrlWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl, + new AnalyzeDocumentOptions()) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validatePngReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_PNG); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromUrlMultiPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(documentUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", documentUrl).setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateMultipageReceiptData(syncPoller.getFinalResult()); + }, MULTIPAGE_RECEIPT_PDF); + } + + + // Content Recognition + + // Content - non-URL + + /** + * Verifies layout data for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContent(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", + Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-layout", null, 0) + .setPollInterval(durationTestMode) + .getSyncPoller()); + } + + /** + * Verifies content type will be auto-detected when using content/layout API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + localFilePathRunner((filePath, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", + Utility.toFluxByteBuffer(getContentDetectionFileData(filePath)), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + } + + /** + * Verifies blank form file is still a valid file to process + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromDataMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + assertEquals(3, analyzeResult.getPages().size()); + validateMultipageLayoutContent(analyzeResult); + }, MULTIPAGE_INVOICE_PDF); + } + + /** + * Verify that content recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller().getFinalResult()); + FormRecognizerError errorInformation = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithSelectionMarks(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateSelectionMarkContentData(syncPoller.getFinalResult()); + }, SELECTION_MARK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), + dataLength, new AnalyzeDocumentOptions().setPages(Collections.singletonList("1"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(1, analyzeResult.getPages().size()); + }, MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithPages(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), + dataLength, new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "2"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(2, analyzeResult.getPages().size()); + }, MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithPageRange(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", Utility.toFluxByteBuffer(data), + dataLength, new AnalyzeDocumentOptions().setPages(Arrays.asList("1-2", "3"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(3, analyzeResult.getPages().size()); + }, MULTIPAGE_INVOICE_PDF); + } + + // Content - URL + + /** + * Verifies layout data for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize a content from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies layout data for a pdf url + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlWithPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validatePdfContentData(syncPoller.getFinalResult()); + }, INVOICE_6_PDF); + } + + /** + * Verifies that an exception is thrown for invalid status model Id. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentInvalidSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-layout", invalidSourceUrl) + .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlMultiPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner((documentUrl) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", documentUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + assertEquals(3, analyzeResult.getPages().size()); + validateMultipageLayoutContent(analyzeResult); + }, MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithSelectionMarksFromUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateSelectionMarkContentData(syncPoller.getFinalResult()); + }, SELECTION_MARK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeGermanContentFromUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + testingContainerUrlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl, + new AnalyzeDocumentOptions().setLocale("de")) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateGermanContentData(syncPoller.getFinalResult()); + }, CONTENT_GERMAN_PDF); + } + + // Business Card Recognition + + /** + * Verifies business card data from a document using file data as source. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-businessCard", null, 0) + .setPollInterval(durationTestMode).getSyncPoller()); + } + + /** + * Verifies content type will be auto-detected when using custom form API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + localFilePathRunner((filePath, dataLength) -> { + SyncPoller + syncPoller = + client.beginAnalyzeDocument("prebuilt-businessCard", + Utility.toFluxByteBuffer(getContentDetectionFileData(filePath)), + dataLength, + new AnalyzeDocumentOptions()) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies business card data from a document using PNG file data as source and including element reference details. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_PNG); + } + + /** + * Verifies business card data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that business card recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-businessCard", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + /** + * Verify business card recognition with multipage pdf. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageBusinessCard(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + + syncPoller.waitForCompletion(); + validateMultipageBusinessData(syncPoller.getFinalResult()); + }, MULTIPAGE_BUSINESS_CARD_PDF); + } + + // Business Card - URL + + /** + * Verifies business card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl, + new AnalyzeDocumentOptions()) + .setPollInterval(durationTestMode) + .getSyncPoller(); + + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize business card from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", invalidSourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + /** + * Verifies business card data for a document using source as PNG file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardSourceUrlWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl, + new AnalyzeDocumentOptions()) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_PNG); + } + + /** + * Verify business card recognition with multipage pdf url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageBusinessCardUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl, + new AnalyzeDocumentOptions()) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateMultipageBusinessData(syncPoller.getFinalResult()); + }, MULTIPAGE_BUSINESS_CARD_PDF); + } + + /** + * Verify pages parameter passed when specified by user. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void receiptWithPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl, + new AnalyzeDocumentOptions().setPages(Collections.singletonList("1"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(1, analyzeResult.getPages().size()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verify pages parameter passed when specified by user for business cards API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void businessCardWithPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl, + new AnalyzeDocumentOptions().setPages(Collections.singletonList("1"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(1, analyzeResult.getPages().size()); + }, BUSINESS_CARD_JPG); + } + + // Invoice recognition + + // Invoice - non-URL + + /** + * Verifies invoice data recognition for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies content type will be auto-detected when using invoice API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + localFilePathRunner((filePath, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", + Utility.toFluxByteBuffer(getContentDetectionFileData(filePath)), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies invoice data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that invoice recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceFromDamagedPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-invoice", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + /** + * Verify invoice data recognition with multipage pdf. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageInvoice(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateMultipageInvoiceData(syncPoller.getFinalResult()); + }, MULTIPAGE_VENDOR_INVOICE_PDF); + } + + // invoice - URL + + /** + * Verifies invoice card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner((sourceUrl) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize invoice card from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller()); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + invalidSourceUrlRunner((sourceUrl) + -> assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller())); + } + + /** + * Verify locale parameter passed when specified by user. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void invoiceValidLocale(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + final SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl, + new AnalyzeDocumentOptions().setLocale("en-US")) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.getFinalResult(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceWithPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + final SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl, + new AnalyzeDocumentOptions() + .setLocale("en-US") + .setPages(Collections.singletonList("1"))) + .setPollInterval(durationTestMode) + .getSyncPoller(); + + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(1, analyzeResult.getPages().size()); + }, INVOICE_PDF); + } + + // identity document Recognition + + /** + * Verifies license card data from a document using file data as source. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseCardData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", Utility.toFluxByteBuffer(data), dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-idDocument", null, 0) + .setPollInterval(durationTestMode).getSyncPoller()); + } + + /** + * Verifies content type will be auto-detected when using custom form API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + localFilePathRunner((filePath, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", + Utility.toFluxByteBuffer(getContentDetectionFileData(filePath)), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies identity document data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", + Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller.waitForCompletion(); + + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that identity document recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-idDocument", + Utility.toFluxByteBuffer(data), + dataLength) + .setPollInterval(durationTestMode) + .getSyncPoller() + .getFinalResult()); + + FormRecognizerError errorInformation = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } + + // Identity document - URL + + /** + * Verifies business card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller + syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", sourceUrl) + .setPollInterval(durationTestMode) + .getSyncPoller(); + syncPoller.waitForCompletion(); + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisAsyncClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) -> { + HttpResponseException httpResponseException + = assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", invalidSourceUrl) + .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); + FormRecognizerError errorInformation = + (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidRequest", errorInformation.getCode()); + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTest.java new file mode 100644 index 0000000000000..af20551c1d8a6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTest.java @@ -0,0 +1,1486 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClient; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.models.AnalyzeDocumentOptions; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.AnalyzedDocument; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpClient; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import reactor.test.StepVerifier; + +import java.io.InputStream; +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; + +import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; +import static com.azure.ai.formrecognizer.TestUtils.BUSINESS_CARD_JPG; +import static com.azure.ai.formrecognizer.TestUtils.BUSINESS_CARD_PNG; +import static com.azure.ai.formrecognizer.TestUtils.CONTENT_FORM_JPG; +import static com.azure.ai.formrecognizer.TestUtils.CONTENT_GERMAN_PDF; +import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; +import static com.azure.ai.formrecognizer.TestUtils.INVALID_URL; +import static com.azure.ai.formrecognizer.TestUtils.INVOICE_6_PDF; +import static com.azure.ai.formrecognizer.TestUtils.INVOICE_NO_SUB_LINE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.LICENSE_CARD_JPG; +import static com.azure.ai.formrecognizer.TestUtils.MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_BUSINESS_CARD_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_RECEIPT_PDF; +import static com.azure.ai.formrecognizer.TestUtils.MULTIPAGE_VENDOR_INVOICE_PDF; +import static com.azure.ai.formrecognizer.TestUtils.NON_EXIST_MODEL_ID; +import static com.azure.ai.formrecognizer.TestUtils.RECEIPT_CONTOSO_JPG; +import static com.azure.ai.formrecognizer.TestUtils.RECEIPT_CONTOSO_PNG; +import static com.azure.ai.formrecognizer.TestUtils.SELECTION_MARK_PDF; +import static com.azure.ai.formrecognizer.TestUtils.damagedPdfDataRunner; +import static com.azure.ai.formrecognizer.TestUtils.encodedBlankSpaceSourceUrlRunner; +import static com.azure.ai.formrecognizer.TestUtils.invalidSourceUrlRunner; +import static com.azure.ai.formrecognizer.TestUtils.urlRunner; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DocumentAnalysisClientTest extends DocumentAnalysisClientTestBase { + + private DocumentAnalysisClient client; + + + @BeforeAll + static void beforeAll() { + StepVerifier.setDefaultTimeout(Duration.ofSeconds(30)); + } + + @AfterAll + static void afterAll() { + StepVerifier.resetDefaultTimeout(); + } + + private DocumentAnalysisClient getDocumentAnalysisClient(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + return getDocumentAnalysisBuilder(httpClient, serviceVersion).buildClient(); + } + + private DocumentModelAdministrationClient getDocumentModelAdminClient(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + return getDocumentModelAdminClientBuilder(httpClient, serviceVersion).buildClient(); + } + + // Receipt recognition + // Receipt - non-URL + + /** + * Verifies receipt data for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + Assertions.assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument(null, null, 0)); + } + + /** + * Verifies content type will be auto-detected when using receipt API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", data, dataLength) + .setPollInterval(durationTestMode); + + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + /** + * Verifies receipt data from a document using PNG file data as source and including text content details. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validatePngReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_PNG); + } + + /** + * Verifies receipt data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromDataMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-receipt", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateMultipageReceiptData(syncPoller.getFinalResult()); + }, MULTIPAGE_RECEIPT_PDF); + } + + /** + * Verify that receipt recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromDamagedPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException + = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-receipt", data, dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } + + // Receipt - URL + + // Receipt - URL + + /** + * Verifies receipt data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner((sourceUrl) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateJpegReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_JPG); + } + + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize receipt from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException + = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode)); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptInvalidSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + invalidSourceUrlRunner((sourceUrl) -> + Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode))); + } + + /** + * Verifies receipt data for a document using source as PNG file url and include form element references + * when includeFieldElements is true. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptSourceUrlWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validatePngReceiptData(syncPoller.getFinalResult()); + }, RECEIPT_CONTOSO_PNG); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeReceiptFromUrlMultiPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(receiptUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-receipt", receiptUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateMultipageReceiptData(syncPoller.getFinalResult()); + }, MULTIPAGE_RECEIPT_PDF); + } + + // Content Recognition + + // Content - non-URL + + /** + * Verifies layout/content data for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContent(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + Assertions.assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-layout", null, 0) + .setPollInterval(durationTestMode)); + } + + /** + * Verifies content type will be auto-detected when using content/layout API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + + } + + /** + * Verifies blank form file is still a valid file to process + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentResultWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromDataMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + assertEquals(3, analyzeResult.getPages().size()); + validateMultipageLayoutContent(analyzeResult); + }, MULTIPAGE_INVOICE_PDF); + } + + /** + * Verify that content recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException errorResponseException + = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) errorResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithSelectionMarks(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateSelectionMarkContentData(syncPoller.getFinalResult()); + }, SELECTION_MARK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength, + new AnalyzeDocumentOptions().setPages(Collections.singletonList("1")), Context.NONE) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(1, analyzeResult.getPages().size()); + }, MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithPages(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-layout", data, dataLength, + new AnalyzeDocumentOptions().setPages(Arrays.asList("1", "2")), Context.NONE) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + Assertions.assertEquals(2, analyzeResult.getPages().size()); + }, MULTIPAGE_INVOICE_PDF); + } + + // Content - URL + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateContentData(syncPoller.getFinalResult()); + }, CONTENT_FORM_JPG); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize a content from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException + = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode)); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies layout data for a pdf url + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlWithPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validatePdfContentData(syncPoller.getFinalResult()); + }, INVOICE_6_PDF); + } + + /** + * Verifies that an exception is thrown for invalid source url for recognizing content/layout information. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentInvalidSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) + -> Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-layout", invalidSourceUrl) + .setPollInterval(durationTestMode))); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentFromUrlMultiPage(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner((sourceUrl) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl).setPollInterval(durationTestMode); + + syncPoller.waitForCompletion(); + AnalyzeResult analyzeResult = syncPoller.getFinalResult(); + assertEquals(3, analyzeResult.getPages().size()); + validateMultipageLayoutContent(analyzeResult); + }, MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeContentWithSelectionMarksFromUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", sourceUrl).setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateSelectionMarkContentData(syncPoller.getFinalResult()); + }, SELECTION_MARK_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeGermanContentFromUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + testingContainerUrlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-layout", + sourceUrl, + new AnalyzeDocumentOptions().setLocale(""), + Context.NONE) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateGermanContentData(syncPoller.getFinalResult()); + }, CONTENT_GERMAN_PDF); + } + + // Custom Document recognition + + /** + * Verifies custom form data for a document using source as input stream data and valid model Id. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocument(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocument( + modelId, + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + + adminClient.deleteModel(modelId); + validateJpegCustomDocument(syncPoller.getFinalResult(), modelId); + }), CONTENT_FORM_JPG); + } + + /** + * Verifies custom form data for a blank PDF content type with labeled data + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocument( + modelId, + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + + validateBlankPdfData(syncPoller.getFinalResult()); + }), BLANK_PDF); + } + + /** + * Verifies an exception thrown for a document using null form data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentWithNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + String modelId = buildModelPoller.getFinalResult().getModelId(); + + Assertions.assertThrows(RuntimeException.class, + () -> client.beginAnalyzeDocument(modelId, + (InputStream) null, + dataLength) + .setPollInterval(durationTestMode)); + adminClient.deleteModel(modelId); + + }), INVOICE_6_PDF); + } + + /** + * Verifies an exception thrown for a document using null model id. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeCustomDocumentWithNullModelId(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + Exception ex = Assertions.assertThrows(RuntimeException.class, () -> client.beginAnalyzeDocument( + null, + data, + dataLength) + .setPollInterval(durationTestMode)); + Assertions.assertEquals(MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE, ex.getMessage()); + }, INVOICE_6_PDF); + } + + /** + * Verifies an exception thrown for an empty model id. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentWithEmptyModelId(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + + dataRunner((data, dataLength) -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("", + data, + dataLength) + .setPollInterval(durationTestMode)); + FormRecognizerError errorInformation + = (FormRecognizerError) errorResponseException.getValue(); + Assertions.assertEquals(404, errorResponseException.getResponse().getStatusCode()); + Assertions.assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + }, INVOICE_6_PDF); + } + + /** + * Verifies content type will be auto-detected when using custom form API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocument( + modelId, + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + + validateJpegCustomDocument(syncPoller.getFinalResult(), modelId); + }), CONTENT_FORM_JPG); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> multipageTrainingRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller + = adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocument( + modelId, + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + + validateMultiPagePdfData(syncPoller.getFinalResult(), modelId); + }), MULTIPAGE_INVOICE_PDF); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentWithSelectionMark(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> + selectionMarkTrainingRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocument( + modelId, + data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + validateCustomDocumentWithSelectionMarks(syncPoller.getFinalResult()); + }), SELECTION_MARK_PDF); + } + + // Custom Document - URL + + /** + * Verifies custom form data for an URL document data without labeled data + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // null values reported + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + urlRunner((fileUrl) -> multipageTrainingRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller + = adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + String modelId = buildModelPoller.getFinalResult().getModelId(); + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl( + modelId, + fileUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + + validateJpegCustomDocument(syncPoller.getFinalResult(), modelId); + }), CONTENT_FORM_JPG); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeCustomDocumentUrlMultiPage(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + testingContainerUrlRunner((fileUrl) -> multipageTrainingRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller + = adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl( + modelId, fileUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + adminClient.deleteModel(modelId); + + validateMultiPagePdfData(syncPoller.getFinalResult(), modelId); + }), MULTIPAGE_INVOICE_PDF); + } + + // Custom Document - URL + + /** + * Verifies that an exception is thrown for invalid training data source. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeCustomDocumentInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller + = getDocumentModelAdminClient(httpClient, serviceVersion).beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + DocumentModel createdModel = syncPoller.getFinalResult(); + + HttpResponseException httpResponseException = Assertions.assertThrows( + HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl( + createdModel.getModelId(), + INVALID_URL) + .setPollInterval(durationTestMode) + .getFinalResult()); + final FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + + adminClient.deleteModel(createdModel.getModelId()); + + Assertions.assertEquals("InvalidContentSourceFormat", errorInformation.getInnerError().getCode()); + }); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with \ + * encoded blank space as input data to recognize a custom form from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeCustomDocumentFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl(NON_EXIST_MODEL_ID, sourceUrl) + .setPollInterval(durationTestMode)); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verify that custom document with invalid model id. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeCustomDocumentUrlNonExistModelId(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(fileUrl -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl(NON_EXIST_MODEL_ID, fileUrl) + .setPollInterval(durationTestMode)); + FormRecognizerError errorInformation + = (FormRecognizerError) errorResponseException.getValue(); + Assertions.assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + }, CONTENT_FORM_JPG); + } + + /** + * Verify that custom form with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentAnalysisClient(httpClient, serviceVersion); + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> + buildModelRunner((trainingFilesUrl -> { + SyncPoller buildModelPoller + = adminClient + .beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + String modelId = buildModelPoller.getFinalResult().getModelId(); + + HttpResponseException httpResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument(modelId, + data, + dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + adminClient.deleteModel(modelId); + + FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("Invalid input file.", errorInformation.getMessage()); + }))); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void analyzeCustomDocumentUrlWithSelectionMark(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + DocumentModelAdministrationClient adminClient = getDocumentModelAdminClient(httpClient, serviceVersion); + urlRunner(fileUrl -> selectionMarkTrainingRunner((trainingFilesUrl) -> { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + + SyncPoller buildModelPoller + = adminClient.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + String modelId = buildModelPoller.getFinalResult().getModelId(); + + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl(modelId, + fileUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + + adminClient.deleteModel(modelId); + validateCustomDocumentWithSelectionMarks(syncPoller.getFinalResult()); + }), SELECTION_MARK_PDF); + } + + // Business card recognition + + // Business card - non-URL + + /** + * Verifies business card data for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + Assertions.assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-businessCard", null, 0)); + } + + /** + * Verifies content type will be auto-detected when using business card API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies business card data from a document using PNG file data as source and including text content details. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_PNG); + } + + /** + * Verifies business card data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that business card recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-businessCard", data, dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } + + /** + * Verify business card recognition with multipage pdf. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageBusinessCard(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-businessCard", data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateMultipageBusinessData(syncPoller.getFinalResult()); + }, MULTIPAGE_BUSINESS_CARD_PDF); + } + + // business card - URL + + /** + * Verifies business card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner((sourceUrl) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_JPG); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize business card from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode)); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + invalidSourceUrlRunner((sourceUrl) -> Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode))); + } + + + /** + * Verifies business card data for a document using source as PNG file url and include form element references + * when includeFieldElements is true. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeBusinessCardSourceUrlWithPngFile(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBusinessCardData(syncPoller.getFinalResult()); + }, BUSINESS_CARD_PNG); + } + + /** + * Verify business card recognition with multipage pdf url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageBusinessCardUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-businessCard", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateMultipageBusinessData(syncPoller.getFinalResult()); + }, MULTIPAGE_BUSINESS_CARD_PDF); + } + + // Invoice recognition + + // Invoice - non-URL + + /** + * Verifies invoice data recognition for a document using source as input stream data. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", data, + dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies content type will be auto-detected when using invoice API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies invoice data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceDataWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that invoice recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceFromDamagedPdf(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-invoice", data, dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } + + /** + * Verify invoice data recognition with multipage pdf. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeMultipageInvoice(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + // confirm if pageResults should be returned for prebuilt model recognition + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateMultipageInvoiceData(syncPoller.getFinalResult()); + }, MULTIPAGE_VENDOR_INVOICE_PDF); + } + + // invoice - URL + + /** + * Verifies invoice card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner((sourceUrl) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with + * encoded blank space as input data to recognize invoice card from url API. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") + public void analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + encodedBlankSpaceSourceUrlRunner(sourceUrl -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode)); + validateEncodedUrlExceptionSource(errorResponseException); + }); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + invalidSourceUrlRunner((sourceUrl) + -> Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl).setPollInterval(durationTestMode))); + } + + /** + * Verifies invoice data for a document using source as file url and include form element references + * when includeFieldElements is true. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeInvoiceFromUrlIncludeFieldElements(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-invoice", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verify locale parameter passed when specified by user. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void invoiceValidLocale(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-invoice", + data, + dataLength) + .setPollInterval(durationTestMode); + validateInvoiceData(syncPoller.getFinalResult()); + }, INVOICE_PDF); + } + + /** + * Verify SDK returns empty object and array for null sub line items field. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void invoiceSubLineItemsNull(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + AnalyzeResult analyzeResult = client.beginAnalyzeDocument("prebuilt-invoice", + data, + dataLength) + .setPollInterval(durationTestMode) + .getFinalResult(); + + AnalyzedDocument analyzedDocument = analyzeResult.getDocuments().get(0); + DocumentField itemFieldList = analyzedDocument.getFields().get("Items").getValueList().get(0); + Map documentFieldMap = itemFieldList.getValueMap(); + + Assertions.assertNull(documentFieldMap); + Assertions.assertEquals(String.valueOf(1), itemFieldList.getContent()); + + }, INVOICE_NO_SUB_LINE_PDF); + } + + // Identity Document Recognition + + /** + * Verifies license card data from a document using file data as source. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseCardData(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies an exception thrown for a document using null data value. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentDataNullData(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + Assertions.assertThrows(NullPointerException.class, + () -> client.beginAnalyzeDocument("prebuilt-idDocument", null, 0)); + } + + /** + * Verifies content type will be auto-detected when using custom form API with input stream data overload. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseDataWithContentTypeAutoDetection(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies identity document data from a document using blank PDF. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentWithBlankPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + dataRunner((data, dataLength) -> { + SyncPoller syncPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateBlankPdfData(syncPoller.getFinalResult()); + }, BLANK_PDF); + } + + /** + * Verify that identity document recognition with damaged PDF file. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentFromDamagedPdf(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + damagedPdfDataRunner((data, dataLength) -> { + HttpResponseException httpResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocument("prebuilt-idDocument", + data, + dataLength) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) httpResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } + + // Identity Document - URL + + /** + * Verifies business card data for a document using source as file url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeLicenseSourceUrl(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + urlRunner(sourceUrl -> { + SyncPoller syncPoller + = client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", sourceUrl) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + validateIdentityData(syncPoller.getFinalResult()); + }, LICENSE_CARD_JPG); + } + + /** + * Verifies that an exception is thrown for invalid source url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void analyzeIDDocumentInvalidSourceUrl(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentAnalysisClient(httpClient, serviceVersion); + invalidSourceUrlRunner((invalidSourceUrl) -> { + HttpResponseException errorResponseException = Assertions.assertThrows(HttpResponseException.class, + () -> client.beginAnalyzeDocumentFromUrl("prebuilt-idDocument", invalidSourceUrl) + .setPollInterval(durationTestMode) + .getFinalResult()); + FormRecognizerError errorInformation + = (FormRecognizerError) errorResponseException.getValue(); + Assertions.assertEquals("InvalidContent", errorInformation.getInnerError().getCode()); + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTestBase.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTestBase.java new file mode 100644 index 0000000000000..4c8d0a1fd6729 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/DocumentAnalysisClientTestBase.java @@ -0,0 +1,750 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer; + +import com.azure.ai.formrecognizer.administration.DocumentModelAdministrationClientBuilder; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentField; +import com.azure.ai.formrecognizer.models.DocumentFieldType; +import com.azure.ai.formrecognizer.models.DocumentPage; +import com.azure.ai.formrecognizer.models.DocumentSelectionMark; +import com.azure.ai.formrecognizer.models.DocumentTable; +import com.azure.ai.formrecognizer.models.LengthUnit; +import com.azure.ai.formrecognizer.models.SelectionMarkState; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpClient; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.test.TestBase; +import com.azure.core.test.TestMode; +import com.azure.core.util.FluxUtil; +import org.junit.jupiter.api.Assertions; +import reactor.test.StepVerifier; + +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.List; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +import static com.azure.ai.formrecognizer.TestUtils.AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION; +import static com.azure.ai.formrecognizer.TestUtils.AZURE_FORM_RECOGNIZER_ENDPOINT_CONFIGURATION; +import static com.azure.ai.formrecognizer.TestUtils.EXPECTED_MERCHANT_NAME; +import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; +import static com.azure.ai.formrecognizer.TestUtils.ONE_NANO_DURATION; +import static com.azure.ai.formrecognizer.implementation.util.Constants.DEFAULT_POLL_INTERVAL; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +public abstract class DocumentAnalysisClientTestBase extends TestBase { + static final String ENCODED_EMPTY_SPACE = + "{\"urlSource\":\"https://fakeuri.com/blank%20space\"}"; + + Duration durationTestMode; + + /** + * Use duration of nearly zero value for PLAYBACK test mode, otherwise, use default duration value for LIVE mode. + */ + @Override + protected void beforeTest() { + durationTestMode = interceptorManager.isPlaybackMode() ? ONE_NANO_DURATION : DEFAULT_POLL_INTERVAL; + } + + DocumentAnalysisClientBuilder getDocumentAnalysisBuilder(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + DocumentAnalysisClientBuilder builder = new DocumentAnalysisClientBuilder() + .endpoint(getEndpoint()) + .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) + .serviceVersion(serviceVersion) + .addPolicy(interceptorManager.getRecordPolicy()); + + if (getTestMode() == TestMode.PLAYBACK) { + builder.credential(new AzureKeyCredential(INVALID_KEY)); + } else { + builder.credential(new AzureKeyCredential(TestUtils.AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION)); + } + return builder; + } + + DocumentModelAdministrationClientBuilder getDocumentModelAdminClientBuilder(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + DocumentModelAdministrationClientBuilder builder = new DocumentModelAdministrationClientBuilder() + .endpoint(getEndpoint()) + .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) + .serviceVersion(serviceVersion) + .addPolicy(interceptorManager.getRecordPolicy()); + + if (getTestMode() == TestMode.PLAYBACK) { + builder.credential(new AzureKeyCredential(INVALID_KEY)); + } else { + builder.credential(new AzureKeyCredential(AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION)); + } + return builder; + } + + static void validateEncodedUrlExceptionSource(HttpResponseException errorResponseException) { + StepVerifier.create(FluxUtil.collectBytesInByteBufferStream( + errorResponseException.getResponse().getRequest().getBody())) + .assertNext(bytes -> assertEquals(ENCODED_EMPTY_SPACE, new String(bytes, StandardCharsets.UTF_8))) + .verifyComplete(); + } + + void dataRunner(BiConsumer testRunner, String fileName) { + TestUtils.getDataRunnerHelper(testRunner, fileName, interceptorManager.isPlaybackMode()); + } + + void testingContainerUrlRunner(Consumer testRunner, String fileName) { + TestUtils.getTestingContainerHelper(testRunner, fileName, interceptorManager.isPlaybackMode()); + } + + void buildModelRunner(Consumer testRunner) { + TestUtils.getTrainingDataContainerHelper(testRunner, interceptorManager.isPlaybackMode()); + } + + void multipageTrainingRunner(Consumer testRunner) { + TestUtils.getMultipageTrainingContainerHelper(testRunner, interceptorManager.isPlaybackMode()); + } + + void selectionMarkTrainingRunner(Consumer testRunner) { + TestUtils.getSelectionMarkTrainingContainerHelper(testRunner, interceptorManager.isPlaybackMode()); + } + + void validatePngReceiptData(AnalyzeResult actualAnalyzeResult) { + validateReceipt(actualAnalyzeResult); + + // pages + Assertions.assertEquals(1, actualAnalyzeResult.getPages().size()); + + // styles + Assertions.assertNull(actualAnalyzeResult.getStyles()); + + // documents + Assertions.assertEquals(1, actualAnalyzeResult.getDocuments().size()); + actualAnalyzeResult.getDocuments().forEach(actualDocument -> { + Assertions.assertEquals("prebuilt:receipt", actualDocument.getDocType()); + // document fields + validatePngReceiptFields(actualDocument.getFields()); + }); + } + + void validateJpegReceiptData(AnalyzeResult actualAnalyzeResult) { + validateReceipt(actualAnalyzeResult); + + // pages + Assertions.assertEquals(1, actualAnalyzeResult.getPages().size()); + + // styles + // confirm with service team, spans should be two? + // Assertions.assertEquals(2, actualAnalyzeResult.getStyles().get(0).getSpans().size()); + Assertions.assertTrue(actualAnalyzeResult.getStyles().get(0).isHandwritten()); + + actualAnalyzeResult.getStyles() + .forEach(actualDocumentStyle -> Assertions.assertTrue(actualDocumentStyle.isHandwritten())); + + // documents + Assertions.assertEquals(1, actualAnalyzeResult.getDocuments().size()); + actualAnalyzeResult.getDocuments().forEach(actualDocument -> { + Assertions.assertEquals("prebuilt:receipt", actualDocument.getDocType()); + // document fields + validateJpegReceiptFields(actualDocument.getFields()); + }); + + } + + void validateMultipageReceiptData(AnalyzeResult analyzeResult) { + validateReceipt(analyzeResult); + assertEquals(2, analyzeResult.getPages().size()); + DocumentPage page1 = analyzeResult.getPages().get(0); + DocumentPage page2 = analyzeResult.getPages().get(1); + assertEquals(1, page1.getPageNumber()); + assertEquals(2, page2.getPageNumber()); + assertEquals(1, page1.getSpans().size()); + assertEquals(1, page2.getSpans().size()); + assertEquals(207, page1.getSpans().get(0).getLength()); + assertEquals(207, page2.getSpans().get(0).getOffset()); + assertEquals(1, analyzeResult.getStyles().size()); + + DocumentPage receiptPage1 = analyzeResult.getPages().get(0); + DocumentPage receiptPage2 = analyzeResult.getPages().get(1); + + assertEquals(1, receiptPage1.getPageNumber()); + assertEquals(2, analyzeResult.getDocuments().size()); + Map receiptPage1Fields = analyzeResult.getDocuments().get(0).getFields(); + validateJpegReceiptFields(receiptPage1Fields); + + Assertions.assertNotNull(analyzeResult.getDocuments().get(1).getFields()); + assertEquals(2, receiptPage2.getPageNumber()); + + Map receiptPage2Fields = analyzeResult.getDocuments().get(1).getFields(); + validatePngReceiptFields(receiptPage2Fields); + } + + void validateBlankPdfData(AnalyzeResult actualAnalyzeResult) { + assertEquals(1, actualAnalyzeResult.getPages().size()); + } + + void validateBusinessCardData(AnalyzeResult analyzeResult) { + Assertions.assertEquals("prebuilt-businessCard", analyzeResult.getModelId()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertNotNull(documentPage.getLines()); + documentPage.getLines().forEach(documentLine -> { + validateBoundingBoxData(documentLine.getBoundingBox()); + Assertions.assertNotNull(documentLine.getContent()); + }); + + Assertions.assertNotNull(documentPage.getWords()); + documentPage.getWords().forEach(documentWord -> { + validateBoundingBoxData(documentWord.getBoundingBox()); + // should be getContent() + Assertions.assertNotNull(documentWord.getContent()); + }); + }); + Assertions.assertEquals(1, analyzeResult.getDocuments().size()); + + Assertions.assertNotNull(analyzeResult.getPages()); + DocumentPage businessCardPage1 = analyzeResult.getPages().get(0); + assertEquals(1, businessCardPage1.getPageNumber()); + + final Map actualBusinessCardFields = analyzeResult.getDocuments().get(0).getFields(); + assertEquals("2 Kingdom Street Paddington, London, W2 6BD", + actualBusinessCardFields.get("Addresses").getValueList().get(0).getValueString()); + assertEquals(EXPECTED_MERCHANT_NAME, actualBusinessCardFields.get("CompanyNames") + .getValueList().get(0).getValueString()); + assertEquals("Cloud & Al Department", actualBusinessCardFields.get("Departments") + .getValueList().get(0).getValueString()); + assertEquals("avery.smith@contoso.com", actualBusinessCardFields.get("Emails") + .getValueList().get(0).getValueString()); + assertEquals(DocumentFieldType.PHONE_NUMBER, actualBusinessCardFields.get("Faxes") + .getValueList().get(0).getType()); + assertEquals("Senior Researcher", actualBusinessCardFields.get("JobTitles") + .getValueList().get(0).getValueString()); + assertEquals(DocumentFieldType.PHONE_NUMBER, actualBusinessCardFields.get("MobilePhones") + .getValueList().get(0).getType()); + assertEquals("https://www.contoso.com/", actualBusinessCardFields.get("Websites") + .getValueList().get(0).getValueString()); + assertEquals(DocumentFieldType.PHONE_NUMBER, actualBusinessCardFields.get("WorkPhones") + .getValueList().get(0).getType()); + Map contactNamesMap + = actualBusinessCardFields.get("ContactNames").getValueList().get(0).getValueMap(); + assertEquals("Avery", contactNamesMap.get("FirstName").getValueString()); + assertEquals("Smith", contactNamesMap.get("LastName").getValueString()); + } + + static void validateMultipageBusinessData(AnalyzeResult analyzeResult) { + assertEquals(2, analyzeResult.getPages().size()); + assertEquals(2, analyzeResult.getDocuments().size()); + DocumentPage businessCard1 = analyzeResult.getPages().get(0); + DocumentPage businessCard2 = analyzeResult.getPages().get(1); + + assertEquals(1, businessCard1.getPageNumber()); + Map businessCard1Fields = analyzeResult.getDocuments().get(0).getFields(); + List emailList = businessCard1Fields.get("Emails").getValueList(); + assertEquals("johnsinger@contoso.com", emailList.get(0).getValueString()); + List phoneNumberList = businessCard1Fields.get("OtherPhones").getValueList(); + assertEquals("+14257793479", phoneNumberList.get(0).getValuePhoneNumber()); + assertEquals(1, businessCard1.getPageNumber()); + + // assert contact name page number + DocumentField contactNameField = businessCard1Fields.get("ContactNames").getValueList().get(0); + assertEquals("JOHN SINGER", contactNameField.getContent()); + + assertEquals(2, businessCard2.getPageNumber()); + Map businessCard2Fields = analyzeResult.getDocuments().get(1).getFields(); + List email2List = businessCard2Fields.get("Emails").getValueList(); + assertEquals("avery.smith@contoso.com", email2List.get(0).getValueString()); + List phoneNumber2List = businessCard2Fields.get("WorkPhones").getValueList(); + assertEquals("+44 (0) 20 9876 5432", phoneNumber2List.get(0).getContent()); + + // assert contact name page number + DocumentField contactName2Field = businessCard2Fields.get("ContactNames").getValueList().get(0); + assertEquals(2, contactName2Field.getBoundingRegions().get(0).getPageNumber()); + assertEquals("Dr. Avery Smith", contactName2Field.getContent()); + } + + void validateInvoiceData(AnalyzeResult analyzeResult) { + Assertions.assertEquals("prebuilt-invoice", analyzeResult.getModelId()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertNotNull(documentPage.getLines()); + documentPage.getLines().forEach(documentLine -> { + validateBoundingBoxData(documentLine.getBoundingBox()); + Assertions.assertNotNull(documentLine.getContent()); + }); + + Assertions.assertNotNull(documentPage.getWords()); + documentPage.getWords().forEach(documentWord -> { + validateBoundingBoxData(documentWord.getBoundingBox()); + Assertions.assertNotNull(documentWord.getContent()); + }); + }); + + assertEquals(1, analyzeResult.getPages().size()); + DocumentPage invoicePage1 = analyzeResult.getPages().get(0); + + assertEquals(1, invoicePage1.getPageNumber()); + + Assertions.assertNotNull(analyzeResult.getDocuments()); + assertEquals(1, analyzeResult.getDocuments().size()); + Map invoicePage1Fields = analyzeResult.getDocuments().get(0).getFields(); + assertEquals("1020 Enterprise Way Sunnayvale, CA 87659", invoicePage1Fields.get("CustomerAddress") + .getValueString()); + assertEquals("Microsoft", invoicePage1Fields.get("CustomerAddressRecipient") + .getValueString()); + assertEquals("Microsoft", invoicePage1Fields.get("CustomerName") + .getValueString()); + assertEquals(LocalDate.of(2017, 6, 24), invoicePage1Fields.get("DueDate") + .getValueDate()); + assertEquals(LocalDate.of(2017, 6, 18), invoicePage1Fields.get("InvoiceDate") + .getValueDate()); + assertEquals("34278587", invoicePage1Fields.get("InvoiceId") + .getValueString()); + assertEquals("1 Redmond way Suite 6000 Redmond, WA 99243", invoicePage1Fields.get("VendorAddress") + .getValueString()); + assertEquals(EXPECTED_MERCHANT_NAME, invoicePage1Fields.get("VendorName") + .getValueString()); + + Map itemsMap + = invoicePage1Fields.get("Items").getValueList().get(0).getValueMap(); + assertEquals(56651.49f, itemsMap.get("Amount").getValueFloat()); + assertEquals(LocalDate.of(2017, 6, 18), itemsMap.get("Date").getValueDate()); + assertEquals("34278587", itemsMap.get("ProductCode").getValueString()); + assertEquals(DocumentFieldType.FLOAT, itemsMap.get("Tax").getType()); + } + + static void validateMultipageInvoiceData(AnalyzeResult analyzeResult) { + assertEquals(2, analyzeResult.getPages().size()); + DocumentPage invoicePage1 = analyzeResult.getPages().get(0); + + assertEquals(1, invoicePage1.getPageNumber()); + assertEquals(1, analyzeResult.getDocuments().size()); + Map recognizedInvoiceFields = analyzeResult.getDocuments().get(0).getFields(); + final DocumentField remittanceAddressRecipient = recognizedInvoiceFields.get("RemittanceAddressRecipient"); + + assertEquals("Contoso Ltd.", remittanceAddressRecipient.getValueString()); + assertEquals(1, remittanceAddressRecipient.getBoundingRegions().get(0).getPageNumber()); + final DocumentField remittanceAddress = recognizedInvoiceFields.get("RemittanceAddress"); + + assertEquals("2345 Dogwood Lane Birch, Kansas 98123", remittanceAddress.getValueString()); + assertEquals(1, remittanceAddress.getBoundingRegions().get(0).getPageNumber()); + + final DocumentField vendorName = recognizedInvoiceFields.get("VendorName"); + assertEquals("Southridge Video", vendorName.getValueString()); + assertEquals(2, vendorName.getBoundingRegions().get(0).getPageNumber()); + } + + void validateIdentityData(AnalyzeResult analyzeResult) { + Assertions.assertEquals("prebuilt-idDocument", analyzeResult.getModelId()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertNotNull(documentPage.getLines()); + documentPage.getLines().forEach(documentLine -> { + validateBoundingBoxData(documentLine.getBoundingBox()); + Assertions.assertNotNull(documentLine.getContent()); + }); + + Assertions.assertNotNull(documentPage.getWords()); + documentPage.getWords().forEach(documentWord -> { + validateBoundingBoxData(documentWord.getBoundingBox()); + // should be getContent() + Assertions.assertNotNull(documentWord.getContent()); + }); + }); + + assertEquals(1, analyzeResult.getPages().size()); + DocumentPage licensePage1 = analyzeResult.getPages().get(0); + assertEquals(1, licensePage1.getPageNumber()); + + Assertions.assertNotNull(analyzeResult.getDocuments()); + assertEquals("prebuilt:idDocument:driverLicense", analyzeResult.getDocuments().get(0).getDocType()); + Map licensePageFields = analyzeResult.getDocuments().get(0).getFields(); + assertEquals("123 STREET ADDRESS YOUR CITY WA 99999-1234", licensePageFields.get("Address") + .getValueString()); + assertEquals("USA", licensePageFields.get("CountryRegion").getValueCountryRegion()); + assertEquals(LocalDate.of(1958, 1, 6), licensePageFields.get("DateOfBirth") + .getValueDate()); + assertEquals(LocalDate.of(2020, 8, 12), licensePageFields.get("DateOfExpiration") + .getValueDate()); + assertEquals("WDLABCD456DG", licensePageFields.get("DocumentNumber") + .getValueString()); + assertEquals("LIAM R.", licensePageFields.get("FirstName") + .getValueString()); + assertEquals("TALBOT", licensePageFields.get("LastName") + .getValueString()); + assertEquals("Washington", licensePageFields.get("Region") + .getValueString()); + assertEquals("M", licensePageFields.get("Sex") + .getValueString()); + assertEquals("L", licensePageFields.get("Endorsements") + .getValueString()); + assertEquals("B", licensePageFields.get("Restrictions") + .getValueString()); + } + + void validateGermanContentData(AnalyzeResult analyzeResult) { + Assertions.assertNotNull(analyzeResult.getPages()); + assertEquals(1, analyzeResult.getPages().size()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertTrue( + documentPage.getAngle() > -180.0 && documentPage.getAngle() < 180.0); + Assertions.assertNotNull(analyzeResult.getTables()); + Assertions.assertEquals(8.5, documentPage.getWidth()); + Assertions.assertEquals(11, documentPage.getHeight()); + Assertions.assertEquals(LengthUnit.INCH, documentPage.getUnit()); + + }); + + Assertions.assertNotNull(analyzeResult.getTables()); + int[] table = new int[] {8, 3, 24}; + Assertions.assertEquals(1, analyzeResult.getTables().size()); + for (int i = 0; i < analyzeResult.getTables().size(); i++) { + DocumentTable actualDocumentTable = analyzeResult.getTables().get(i); + Assertions.assertEquals(table[i], actualDocumentTable.getRowCount()); + Assertions.assertEquals(table[++i], actualDocumentTable.getColumnCount()); + Assertions.assertEquals(table[++i], actualDocumentTable.getCells().size()); + actualDocumentTable.getCells().forEach(documentTableCell + -> Assertions.assertNotNull(documentTableCell.getKind())); + } + } + + void validateSelectionMarkContentData(AnalyzeResult analyzeResult) { + Assertions.assertNotNull(analyzeResult.getPages()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertTrue( + documentPage.getAngle() > -180.0 && documentPage.getAngle() < 180.0); + Assertions.assertEquals(8.5, documentPage.getWidth()); + Assertions.assertEquals(11, documentPage.getHeight()); + Assertions.assertEquals(LengthUnit.INCH, documentPage.getUnit()); + + Assertions.assertNotNull(documentPage.getSelectionMarks()); + Assertions.assertEquals(3, documentPage.getSelectionMarks().size()); + List selectionMarks = documentPage.getSelectionMarks(); + for (int i = 0; i < selectionMarks.size(); i++) { + DocumentSelectionMark documentSelectionMark = selectionMarks.get(i); + validateBoundingBoxData(documentSelectionMark.getBoundingBox()); + Assertions.assertNotNull(documentSelectionMark.getState()); + if (i == 0) { + Assertions.assertEquals(SelectionMarkState.UNSELECTED, documentSelectionMark.getState()); + } else if (i == 1) { + assertEquals(SelectionMarkState.SELECTED, documentSelectionMark.getState()); + } else { + assertEquals(SelectionMarkState.UNSELECTED, documentSelectionMark.getState()); + } + } + }); + assertNull(analyzeResult.getKeyValuePairs()); + assertNull(analyzeResult.getEntities()); + Assertions.assertNotNull(analyzeResult.getStyles()); + assertEquals(1, analyzeResult.getStyles().size()); + assertNull(analyzeResult.getDocuments()); + } + + void validatePdfContentData(AnalyzeResult analyzeResult) { + Assertions.assertNotNull(analyzeResult.getPages()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertTrue( + documentPage.getAngle() > -180.0 && documentPage.getAngle() < 180.0); + Assertions.assertNotNull(analyzeResult.getTables()); + Assertions.assertEquals(8.5, documentPage.getWidth()); + Assertions.assertEquals(11, documentPage.getHeight()); + Assertions.assertEquals(LengthUnit.INCH, documentPage.getUnit()); + + validateDocumentPage(documentPage); + }); + + Assertions.assertNotNull(analyzeResult.getTables()); + int[] table = new int[] {3, 5, 10}; + Assertions.assertEquals(1, analyzeResult.getTables().size()); + for (int i = 0; i < analyzeResult.getTables().size(); i++) { + DocumentTable actualDocumentTable = analyzeResult.getTables().get(i); + Assertions.assertEquals(table[i], actualDocumentTable.getRowCount()); + Assertions.assertEquals(table[++i], actualDocumentTable.getColumnCount()); + Assertions.assertEquals(table[++i], actualDocumentTable.getCells().size()); + } + + assertNull(analyzeResult.getKeyValuePairs()); + assertNull(analyzeResult.getEntities()); + assertNull(analyzeResult.getStyles()); + assertNull(analyzeResult.getDocuments()); + } + + void validateContentData(AnalyzeResult analyzeResult) { + Assertions.assertNotNull(analyzeResult.getPages()); + analyzeResult.getPages().forEach(documentPage -> { + Assertions.assertTrue( + documentPage.getAngle() > -180.0 && documentPage.getAngle() < 180.0); + Assertions.assertNotNull(analyzeResult.getTables()); + Assertions.assertEquals(1700, documentPage.getWidth()); + Assertions.assertEquals(2200, documentPage.getHeight()); + Assertions.assertEquals(LengthUnit.PIXEL, documentPage.getUnit()); + + validateDocumentPage(documentPage); + }); + + Assertions.assertNotNull(analyzeResult.getTables()); + int[][] table = new int[][] {{5, 4, 20}, {4, 2, 8}}; + Assertions.assertEquals(2, analyzeResult.getTables().size()); + for (int i = 0; i < analyzeResult.getTables().size(); i++) { + int j = 0; + DocumentTable actualDocumentTable = analyzeResult.getTables().get(i); + Assertions.assertEquals(table[i][j], actualDocumentTable.getRowCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getColumnCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getCells().size()); + } + + assertNull(analyzeResult.getKeyValuePairs()); + assertNull(analyzeResult.getEntities()); + Assertions.assertNotNull(analyzeResult.getStyles()); + assertEquals(1, analyzeResult.getStyles().size()); + assertNull(analyzeResult.getDocuments()); + } + + void validateDocumentPage(DocumentPage documentPage) { + Assertions.assertNotNull(documentPage.getLines()); + documentPage.getLines().forEach(documentLine -> { + validateBoundingBoxData(documentLine.getBoundingBox()); + Assertions.assertNotNull(documentLine.getContent()); + }); + + Assertions.assertNotNull(documentPage.getWords()); + documentPage.getWords().forEach(documentWord -> { + validateBoundingBoxData(documentWord.getBoundingBox()); + Assertions.assertNotNull(documentWord.getContent()); + }); + + Assertions.assertNotNull(documentPage.getSelectionMarks()); + documentPage.getSelectionMarks().forEach(documentSelectionMark -> { + validateBoundingBoxData(documentSelectionMark.getBoundingBox()); + Assertions.assertNotNull(documentSelectionMark.getState()); + }); + } + + void validateMultipageLayoutContent(AnalyzeResult analyzeResult) { + Assertions.assertNotNull(analyzeResult.getPages()); + List pages = analyzeResult.getPages(); + for (int i = 0; i < pages.size(); i++) { + DocumentPage documentPage = pages.get(i); + if (i == 0) { + assertEquals(1, documentPage.getSelectionMarks().size()); + } + if (i == 1) { + // empty page + assertEquals(2, analyzeResult.getPages().get(1).getPageNumber()); + // getting empty instead of null confirm + assertEquals(0, documentPage.getLines().size()); + } + Assertions.assertTrue( + documentPage.getAngle() > -180.0 && documentPage.getAngle() < 180.0); + validateDocumentPage(documentPage); + } + + Assertions.assertNotNull(analyzeResult.getTables()); + int[][] table = new int[][] {{8, 3, 24}, {8, 3, 24}}; + Assertions.assertEquals(2, analyzeResult.getTables().size()); + for (int i = 0; i < analyzeResult.getTables().size(); i++) { + int j = 0; + DocumentTable actualDocumentTable = analyzeResult.getTables().get(i); + Assertions.assertEquals(table[i][j], actualDocumentTable.getRowCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getColumnCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getCells().size()); + } + + assertNull(analyzeResult.getKeyValuePairs()); + assertNull(analyzeResult.getEntities()); + assertNull(analyzeResult.getStyles()); + assertNull(analyzeResult.getDocuments()); + } + + void validateJpegCustomDocument(AnalyzeResult actualAnalyzeResult, String modelId) { + List documentPages = actualAnalyzeResult.getPages(); + Assertions.assertEquals(1, documentPages.size()); + documentPages.forEach(documentPage -> validateDocumentPage(documentPage)); + int[][] table = new int[][] {{5, 4, 20}, {4, 2, 8}}; + Assertions.assertEquals(2, actualAnalyzeResult.getTables().size()); + for (int i = 0; i < actualAnalyzeResult.getTables().size(); i++) { + int j = 0; + DocumentTable actualDocumentTable = actualAnalyzeResult.getTables().get(i); + Assertions.assertEquals(table[i][j], actualDocumentTable.getRowCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getColumnCount()); + Assertions.assertEquals(table[i][++j], actualDocumentTable.getCells().size()); + } + + actualAnalyzeResult.getDocuments().forEach(actualDocument -> { + Assertions.assertEquals(modelId + ":" + modelId, actualDocument.getDocType()); + actualDocument.getFields().forEach((key, documentField) -> { + // document fields + + // if ("Tax".equals(key)) { + // // incorrect reporting to 140 + // assertEquals("$4.00", documentField.getValueString()); + // } + if ("Signature".equals(key)) { + assertEquals("Bernie Sanders", documentField.getValueString()); + } else if ("Email".equals(key)) { + assertEquals("accounts@herolimited.com", documentField.getValueString()); + } else if ("PhoneNumber".equals(key)) { + assertEquals("555-348-6512", documentField.getValueString()); + } else if ("Quantity".equals(key)) { + assertEquals(20.0f, documentField.getValueFloat()); + } else if ("CompanyPhoneNumber".equals(key)) { + assertEquals("938-294-2949", documentField.getValueString()); + } else if ("DatedAs".equals(key)) { + assertEquals("12/20/2020", documentField.getValueString()); + } else if ("Total".equals(key)) { + assertEquals("$144.00", documentField.getValueString()); + } else if ("CompanyName".equals(key)) { + assertEquals("Higgly Wiggly Books", documentField.getValueString()); + } else if ("VendorName".equals(key)) { + assertEquals("Hillary Swank", documentField.getValueString()); + } else if ("Website".equals(key)) { + assertEquals("www.herolimited.com", documentField.getValueString()); + } + else if ("Merchant".equals(key)) { + assertEquals("Hero Limited", documentField.getValueString()); + } else if ("PurchaseOrderNumber".equals(key)) { + assertEquals("948284", documentField.getValueString()); + } else if ("CompanyAddress".equals(key)) { + assertEquals("938 NE Burner Road Boulder City, CO 92848", + documentField.getValueString()); + } + // else if ("Subtotal".equals(key)) { + // returned as null currently + // assertEquals("$140.00", documentField.getValueString()); + // } + }); + }); + } + + void validateMultiPagePdfData(AnalyzeResult analyzeResult, String modelId) { + assertEquals(3, analyzeResult.getPages().size()); + analyzeResult.getDocuments().forEach(analyzedDocument -> { + assertEquals(modelId + ":" + modelId, analyzedDocument.getDocType()); + analyzedDocument.getFields().forEach((key, documentField) -> { + Assertions.assertNotNull(documentField.getType()); + }); + }); + } + + void validateCustomDocumentWithSelectionMarks(AnalyzeResult analyzeResult) { + Assertions.assertEquals(1, analyzeResult.getPages().size()); + analyzeResult.getPages().forEach(actualDocumentPage -> { + Assertions.assertEquals(8.5, actualDocumentPage.getWidth()); + Assertions.assertEquals(11, actualDocumentPage.getHeight()); + Assertions.assertEquals(LengthUnit.INCH, actualDocumentPage.getUnit()); + + validateDocumentPage(actualDocumentPage); + }); + Assertions.assertEquals(0, analyzeResult.getTables().size()); + + analyzeResult.getDocuments().forEach(actualDocument -> { + Assertions.assertEquals("custom:", actualDocument.getDocType()); + actualDocument.getFields().forEach((key, documentField) -> { + if ("AMEX_SELECTION_MARK".equals(key)) { + assertEquals(SelectionMarkState.SELECTED, documentField.getValueSelectionMark()); + } else if ("VISA_SELECTION_MARK".equals(key)) { + assertEquals(SelectionMarkState.UNSELECTED, documentField.getValueSelectionMark()); + } else if ("MASTERCARD_SELECTION_MARK".equals(key)) { + assertEquals(SelectionMarkState.UNSELECTED, documentField.getValueSelectionMark()); + } else { + throw new IllegalStateException("Unexpected value: " + key); + } + }); + }); + } + + private void validateBoundingBoxData(List points) { + Assertions.assertNotNull(points); + assertEquals(8, points.size()); + } + + private void validatePngReceiptFields(Map actualFields) { + // "123-456-7890" is not a valid US telephone number since no area code can start with 1, so the service + // returns a null instead. + assertNull(actualFields.get("MerchantPhoneNumber").getValuePhoneNumber()); + Assertions.assertNotNull(actualFields.get("Subtotal").getValueFloat()); + Assertions.assertNotNull(actualFields.get("Total").getValueFloat()); + Assertions.assertNotNull(actualFields.get("Tax").getValueFloat()); + Assertions.assertNotNull(actualFields.get("Items")); + List itemizedItems = actualFields.get("Items").getValueList(); + + for (int i = 0; i < itemizedItems.size(); i++) { + if (itemizedItems.get(i).getContent() != null) { + String[] itemizedNames = new String[] {"Surface Pro 6", "SurfacePen"}; + Float[] itemizedTotalPrices = new Float[] {999f, 99.99f}; + + Map actualReceiptItems = itemizedItems.get(i).getValueMap(); + int finalI = i; + actualReceiptItems.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + assertEquals(itemizedNames[finalI], name); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.FLOAT == documentField.getType()) { + Float quantity = documentField.getValueFloat(); + assertEquals(1.f, quantity); + } + } + if ("Price".equals(key)) { + assertNull(documentField.getValueFloat()); + } + + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.FLOAT == documentField.getType()) { + Float totalPrice = documentField.getValueFloat(); + assertEquals(itemizedTotalPrices[finalI], totalPrice); + } + } + }); + } + } + } + + private void validateReceipt(AnalyzeResult actualAnalyzeResult) { + Assertions.assertEquals("prebuilt-receipt", actualAnalyzeResult.getModelId()); + Assertions.assertNotNull(actualAnalyzeResult.getPages()); + } + + private void validateJpegReceiptFields(Map actualFields) { + actualFields.forEach((key, documentField) -> { + if (documentField.getBoundingRegions() != null) { + Assertions.assertEquals(1, documentField.getBoundingRegions().get(0).getPageNumber()); + } + if ("Locale".equals(key)) { + Assertions.assertEquals("en-US", documentField.getValueString()); + } else if ("MerchantAddress".equals(key)) { + Assertions.assertEquals("123 Main Street Redmond, WA 98052", documentField.getValueString()); + } else if ("MerchantName".equals(key)) { + Assertions.assertEquals("Contoso", documentField.getValueString()); + } else if ("MerchantPhoneNumber".equals(key)) { + Assertions.assertEquals("+19876543210", documentField.getValuePhoneNumber()); + } else if ("ReceiptType".equals(key)) { + Assertions.assertEquals("Itemized", documentField.getValueString()); + } else if ("Subtotal".equals(key)) { + Assertions.assertEquals(11.7f, documentField.getValueFloat()); + } else if ("Tax".equals(key)) { + Assertions.assertEquals(1.17f, documentField.getValueFloat()); + } else if ("Tip".equals(key)) { + Assertions.assertEquals(1.63f, documentField.getValueFloat()); + } else if ("TransactionDate".equals(key)) { + Assertions.assertEquals(LocalDate.of(2019, 6, 10), documentField.getValueDate()); + } else if ("TransactionTime".equals(key)) { + Assertions.assertEquals(LocalTime.of(13, 59), documentField.getValueTime()); + } else if ("Total".equals(key)) { + Assertions.assertEquals(14.5f, documentField.getValueFloat()); + } + }); + } + + private String getEndpoint() { + return interceptorManager.isPlaybackMode() + ? "https://localhost:8080" : AZURE_FORM_RECOGNIZER_ENDPOINT_CONFIGURATION; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FieldValueExtensionMethodTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FieldValueExtensionMethodTest.java deleted file mode 100644 index a178e8a3e12c7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FieldValueExtensionMethodTest.java +++ /dev/null @@ -1,301 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FieldValue; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormField; -import org.junit.jupiter.api.Test; - -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; - -public class FieldValueExtensionMethodTest { - - /** - * Test for {@link FieldValue#asDate()} to Date. - */ - @Test - public void toDateFromDate() { - LocalDate inputDate = LocalDate.of(2006, 6, 6); - FormField formField = new FormField(null, null, null, - new FieldValue(inputDate, FieldValueType.DATE), 0); - LocalDate actualDate = formField.getValue().asDate(); - assertEquals(inputDate, actualDate); - } - - /** - * Test for {@link FieldValue#asDate()} to Date from String. - */ - @Test - public void toDateFromString() { - String inputDateString = "2006/06/06"; - FormField formField = new FormField(null, null, null, - new FieldValue(inputDateString, FieldValueType.STRING), 0); - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - formField.getValue().asDate()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as DATE from field value " - + "of type STRING"); - } - - /** - * Test for {@link FieldValue#asDate()} to Date from null field value. - */ - @Test - public void toDateFromNull() { - FormField formField = new FormField(null, null, null, - new FieldValue(null, FieldValueType.DATE), 0); - assertNull(formField.getValue().asDate()); - } - - - /** - * Test for {@link FieldValue#asTime()} to TIME. - */ - @Test - public void toTimeFromTime() { - LocalTime inputTime = LocalTime.parse("13:59:00", DateTimeFormatter.ofPattern("HH:mm:ss")); - FormField formField = new FormField(null, null, null, - new FieldValue(inputTime, FieldValueType.TIME), 0); - LocalTime actualTime = formField.getValue().asTime(); - assertEquals(inputTime, actualTime); - } - - /** - * Test for {@link FieldValue#asTime()} to TIME from String. - */ - @Test - public void toTimeFromString() { - String inputTimeString = "13:59:00"; - FormField formField = new FormField(null, null, null, - new FieldValue(inputTimeString, FieldValueType.STRING), 0); - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - formField.getValue().asTime()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as TIME from field" - + " value of type STRING"); - } - - /** - * Test for {@link FieldValue#asTime()} to TIME from null field value. - */ - @Test - public void toTimeFromNull() { - assertNull(new FormField(null, null, null, - new FieldValue(null, FieldValueType.TIME), 0).getValue().asTime()); - } - - - /** - * Test for {@link FieldValue#asList()} to list. - */ - @Test - public void toListFromList() { - List inputList = new ArrayList<>(Collections.singletonList(new FormField(null, null, null, null, 0))); - FormField formField = new FormField(null, null, null, - new FieldValue(inputList, FieldValueType.LIST), 0); - List actualList = formField.getValue().asList(); - assertEquals(inputList, actualList); - } - - /** - * Test for {@link FieldValue#asList()} to list from String. - */ - @Test - public void toListFromString() { - String test = "testString"; - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(test, FieldValueType.STRING), 0).getValue().asList()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as a LIST from field value " - + "of type STRING"); - } - - /** - * Test for {@link FieldValue#asList()} to list from null field value. - */ - @Test - public void toListFromNull() { - assertNull(new FormField(null, null, null, new FieldValue(null, FieldValueType.LIST), 0).getValue().asList()); - } - - /** - * Test for {@link FieldValue#asPhoneNumber()} to phone number. - */ - @Test - public void toPhoneNumberFromPhoneNumber() { - String phoneNumber = "19876543210"; - String actualPhoneNumber = new FormField(null, null, null, - new FieldValue(phoneNumber, FieldValueType.PHONE_NUMBER), 0) - .getValue().asPhoneNumber(); - assertEquals(phoneNumber, actualPhoneNumber); - } - - /** - * Test for {@link FieldValue#asPhoneNumber()} to phone number from String. - */ - @Test - public void toPhoneNumberFromString() { - String phoneNumber = "19876543210"; - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(phoneNumber, FieldValueType.STRING), 0) - .getValue().asPhoneNumber()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as aPHONE_NUMBER " - + "from field value of type STRING"); - } - - /** - * Test for {@link FieldValue#asPhoneNumber()} to phone number from null field value. - */ - @Test - public void toPhoneNumberFromNull() { - assertNull(new FormField(null, null, null, - new FieldValue(null, FieldValueType.PHONE_NUMBER), 0).getValue().asPhoneNumber()); - } - - /** - * Test for {@link FieldValue#asMap()} to map. - */ - @Test - public void toMapFromMap() { - Map inputMap = new HashMap() { - { - put("key", new FormField(null, null, null, null, 0)); - } - }; - Map actualMap = new FormField(null, null, null, - new FieldValue(inputMap, FieldValueType.MAP), 0).getValue().asMap(); - assertEquals(inputMap, actualMap); - } - - /** - * Test for {@link FieldValue#asMap()} to map from String. - */ - @Test - public void toMapFromString() { - String str = "1"; - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(str, FieldValueType.STRING), 0).getValue().asMap()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as a MAP from field " - + "value of type STRING"); - } - - /** - * Test for {@link FieldValue#asMap()} to map from null field value. - */ - @Test - public void toMapFromNull() { - assertNull(new FormField(null, null, null, - new FieldValue(null, FieldValueType.MAP), 0).getValue().asMap()); - } - - /** - * Test for {@link FieldValue#asFloat()} to double. - */ - @Test - public void toFloatFromFloat() { - Float inputFloat = 2.2f; - Float actualDoubleValue = new FormField(null, null, null, - new FieldValue(inputFloat, FieldValueType.FLOAT), 0).getValue().asFloat(); - assertEquals(inputFloat, actualDoubleValue); - } - - /** - * Test for {@link FieldValue#asFloat()} to double from String. - */ - @Test - public void toFloatFromString() { - String floatString = "2.2"; - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(floatString, FieldValueType.STRING), 0).getValue().asFloat()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as FLOAT from " - + "field value of type STRING"); - } - - /** - * Test for {@link FieldValue#asFloat()} to double from null field value. - */ - @Test - public void toFloatFromNull() { - assertNull(new FormField(null, null, null, - new FieldValue(null, FieldValueType.FLOAT), 0).getValue().asFloat()); - } - - /** - * Test for {@link FieldValue#asLong()} to long. - */ - @Test - public void toLongFromLong() { - long inputLong = 22; - Long actualLongValue = new FormField(null, null, null, - new FieldValue(inputLong, FieldValueType.LONG), 0).getValue().asLong(); - assertEquals(inputLong, actualLongValue); - } - - /** - * Test for {@link FieldValue#asLong()} to long from String. - */ - @Test - public void toLongFromString() { - String inputLongString = "22"; - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(inputLongString, FieldValueType.STRING), 0).getValue().asLong()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as LONG from field value of " - + "type STRING"); - } - - /** - * Test for {@link FieldValue#asLong()} to long from null field value. - */ - @Test - public void toLongFromNull() { - assertNull(new FormField(null, null, null, - new FieldValue(null, FieldValueType.LONG), 0).getValue().asLong()); - } - - /** - * Test for {@link FieldValue#asString()} to String from TIME. - */ - @Test - public void toStringFromTime() { - LocalTime inputTime = LocalTime.parse("13:59:00", DateTimeFormatter.ofPattern("HH:mm:ss")); - final UnsupportedOperationException unsupportedOperationException = - assertThrows(UnsupportedOperationException.class, () -> - new FormField(null, null, null, - new FieldValue(inputTime, FieldValueType.TIME), 0).getValue().asString()); - assertEquals(unsupportedOperationException.getMessage(), "Cannot get field as STRING from field " - + "value of type TIME"); - } - - /** - * Test for {@link FieldValue#asString()} to String from String. - */ - @Test - public void toStringFromString() { - String stringValue = "String value"; - String actualStringValue = new FormField(null, null, null, - new FieldValue(stringValue, FieldValueType.STRING), 0).getValue().asString(); - assertEquals(stringValue, actualStringValue); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientTest.java deleted file mode 100644 index 4f601a94ee66f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerAsyncClientTest.java +++ /dev/null @@ -1,2324 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormReadingOrder; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerLanguage; -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.models.TextStyleName; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.util.polling.SyncPoller; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import reactor.test.StepVerifier; - -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; -import static com.azure.ai.formrecognizer.TestUtils.CONTENT_FORM_JPG; -import static com.azure.ai.formrecognizer.TestUtils.CONTENT_GERMAN_PDF; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_IMAGE_URL_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_SOURCE_URL_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_URL; -import static com.azure.ai.formrecognizer.TestUtils.NON_EXIST_MODEL_ID; -import static com.azure.ai.formrecognizer.TestUtils.SELECTION_MARK_PDF; -import static com.azure.ai.formrecognizer.TestUtils.getContentDetectionFileData; -import static com.azure.ai.formrecognizer.TestUtils.validateExceptionSource; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; -import static com.azure.ai.formrecognizer.models.FormContentType.APPLICATION_PDF; -import static com.azure.ai.formrecognizer.models.FormContentType.IMAGE_JPEG; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; - -public class FormRecognizerAsyncClientTest extends FormRecognizerClientTestBase { - - private FormRecognizerAsyncClient client; - - @BeforeAll - static void beforeAll() { - StepVerifier.setDefaultTimeout(Duration.ofSeconds(30)); - } - - @AfterAll - static void afterAll() { - StepVerifier.resetDefaultTimeout(); - } - - private FormRecognizerAsyncClient getFormRecognizerAsyncClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormRecognizerClientBuilder(httpClient, serviceVersion).buildAsyncClient(); - } - - private FormTrainingAsyncClient getFormTrainingAsyncClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormTrainingClientBuilder(httpClient, serviceVersion).buildAsyncClient(); - } - - // Receipt recognition - - // Receipt - non-URL - - /** - * Verifies receipt data from a document using file data as source. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts( - toFluxByteBuffer(data), - dataLength, - new RecognizeReceiptsOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, - () -> client.beginRecognizeReceipts(null, 0).getSyncPoller()); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(toFluxByteBuffer(getContentDetectionFileData(filePath)), dataLength) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data from a document using file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller = client.beginRecognizeReceipts( - toFluxByteBuffer(data), - dataLength, - new RecognizeReceiptsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data from a document using PNG file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(toFluxByteBuffer(data), - dataLength, - new RecognizeReceiptsOptions() - .setContentType(FormContentType.IMAGE_PNG) - .setFieldElementsIncluded(true)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_PNG); - }, RECEIPT_CONTOSO_PNG); - } - - /** - * Verifies receipt data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(toFluxByteBuffer(data), dataLength, new RecognizeReceiptsOptions() - .setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts( - toFluxByteBuffer(data), - dataLength, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultipageReceiptData(syncPoller.getFinalResult()); - }, MULTIPAGE_RECEIPT_PDF); - } - - /** - * Verify that receipt recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromDamagedPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceipts(toFluxByteBuffer(data), - dataLength, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller().getFinalResult()); - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - // Receipt - URL - - /** - * Verifies receipt data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize receipt from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceiptsFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceiptsFromUrl(invalidSourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies receipt data for a document using source as file url and include content when includeFieldElements is - * true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl( - sourceUrl, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data for a document using source as PNG file url and include element references when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_PNG); - }, RECEIPT_CONTOSO_PNG); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void recognizeReceiptFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(fileUrl).setPollInterval(durationTestMode).getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultipageReceiptData(syncPoller.getFinalResult()); - }, MULTIPAGE_INVOICE_PDF); - } - - // Content Recognition - - // Content - non-URL - - /** - * Verifies layout data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContent(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent( - toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithNullData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - assertThrows(NullPointerException.class, - () -> client.beginRecognizeContent(null, 0).setPollInterval(durationTestMode).getSyncPoller()); - } - - /** - * Verifies content type will be auto detected when using content/layout API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent( - toFluxByteBuffer(getContentDetectionFileData(filePath)), dataLength) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies blank form file is still a valid file to process - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithBlankPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), dataLength, new RecognizeContentOptions() - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), false); - }, BLANK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), dataLength, - new RecognizeContentOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verify that content recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContent(toFluxByteBuffer(data), dataLength) - .setPollInterval(durationTestMode) - .getSyncPoller().getFinalResult()); - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithSelectionMarks(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions().setContentType(FormContentType.APPLICATION_PDF)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateContentData(syncPoller.getFinalResult(), true); - }, SELECTION_MARK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions() - .setContentType(APPLICATION_PDF) - .setPages(Collections.singletonList("1"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(1, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPages(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions() - .setContentType(APPLICATION_PDF) - .setPages(Arrays.asList("1", "2"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(2, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPageRange(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions() - .setContentType(APPLICATION_PDF) - .setPages(Arrays.asList("1-2", "3"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(3, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies layout data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentAppearance(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller = client.beginRecognizeContent( - toFluxByteBuffer(data), - dataLength, - new RecognizeContentOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(TextStyleName.OTHER, - formPages.get(0).getLines().get(0).getAppearance().getStyleName()); - }, CONTENT_FORM_JPG); - } - - // Content - URL - - /** - * Verifies layout data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize a content from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(sourceUrl) - .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies layout data for a pdf url - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrlWithPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, INVOICE_6_PDF); - } - - /** - * Verifies that an exception is thrown for invalid status model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(invalidSourceUrl) - .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner((formUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(formUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithSelectionMarksFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, SELECTION_MARK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeGermanContentFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - testingContainerUrlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setLanguage(FormRecognizerLanguage.DE)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_GERMAN_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentIncorrectLanguageFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - testingContainerUrlRunner(sourceUrl -> { - HttpResponseException exception - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setLanguage(FormRecognizerLanguage.fromString("language"))) - .setPollInterval(durationTestMode) - .getSyncPoller()); - assertEquals(((FormRecognizerErrorInformation) exception.getValue()).getErrorCode(), - "NotSupportedLanguage"); - }, CONTENT_GERMAN_PDF); - } - - // Custom form recognition - - // Custom form - non-URL - labeled data - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a JPG content type with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a blank PDF content type with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBlankCustomForm(syncPoller.getFinalResult(), 1, true); - }), BLANK_PDF); - } - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id, - * excluding element references. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataExcludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithNullFormData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - syncPoller.waitForCompletion(); - - assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomForms(syncPoller.getFinalResult().getModelId(), - null, - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller()); - }), INVOICE_6_PDF); - } - - /** - * Verifies an exception thrown for a document using null model id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - Exception ex = assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomForms( - null, - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller()); - assertEquals(MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE, ex.getMessage()); - }, INVOICE_6_PDF); - } - - /** - * Verifies an exception thrown for an empty model id when recognizing custom form from URL. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - Exception ex = assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomForms( - "", - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller()); - assertEquals(INVALID_UUID_EXCEPTION_MESSAGE, ex.getMessage()); - }, INVOICE_6_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormInvalidStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> - beginTrainingLabeledRunner((training, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(training, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - CustomFormModel createdModel = syncPoller.getFinalResult(); - HttpResponseException httpResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl( - createdModel.getModelId(), - invalidSourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(INVALID_SOURCE_URL_EXCEPTION_MESSAGE, errorInformation.getMessage()); - })); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> beginTrainingLabeledRunner( - (trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(getContentDetectionFileData(filePath)), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verify custom form for a data stream of multi-page labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, true) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - String modelId = trainingPoller.getFinalResult().getModelId(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms( - modelId, - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultiPageDataLabeled(syncPoller.getFinalResult(), modelId); - }), MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginSelectionMarkTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateCustomFormWithSelectionMarks(syncPoller.getFinalResult(), true, 1); - }), SELECTION_MARK_PDF); - } - - // Custom form - non-URL - unlabeled data - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateUnlabeledCustomForm(syncPoller.getFinalResult(), true, 1); - }), INVOICE_6_PDF); - } - - /** - * Verifies custom form data for a document using source as input stream data and valid include field elements - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateUnlabeledCustomForm(syncPoller.getFinalResult(), true, 1); - }), INVOICE_6_PDF); - } - - /** - * Verify custom form for a data stream of multi-page unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultiPageDataUnlabeled(syncPoller.getFinalResult()); - }), MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies custom form data for a JPG content type with unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), toFluxByteBuffer(data), dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, false); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a blank PDF content type with unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true) - .setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }), BLANK_PDF); - } - - // Custom form - URL - unlabeled data - - /** - * Verifies custom form data for an URL document data without labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlUnlabeledData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - - urlRunner(fileUrl -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), fileUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, false); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for an URL document data without labeled data and include element references. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), fileUrl, new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, false); - }), CONTENT_FORM_JPG); - } - - /** - * Verify custom form for an URL of multi-page unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - testingContainerUrlRunner(fileUrl -> - beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl(trainingPoller.getFinalResult().getModelId(), fileUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultiPageDataUnlabeled(syncPoller.getFinalResult()); - }), MULTIPAGE_INVOICE_PDF); - } - - // Custom form - URL - labeled data - - /** - * Verifies that an exception is thrown for invalid status model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - StepVerifier.create(client.beginRecognizeCustomFormsFromUrl(createdModel.getModelId(), INVALID_URL) - .setPollInterval(durationTestMode)) - .verifyErrorSatisfies(throwable -> { - final HttpResponseException httpResponseException = (HttpResponseException) throwable; - final FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(INVALID_SOURCE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - }); - } - - /** - * Verifies an exception thrown for a null model id when recognizing custom form from URL. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormFromUrlLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - Exception ex = assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomFormsFromUrl(null, fileUrl) - .setPollInterval(durationTestMode).getSyncPoller()); - assertEquals(MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE, ex.getMessage()); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies an exception thrown for an empty model id for recognizing custom forms from URL. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormFromUrlLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, - () -> client.beginRecognizeCustomFormsFromUrl("", fileUrl) - .setPollInterval(durationTestMode).getSyncPoller()); - assertEquals(INVALID_UUID_EXCEPTION_MESSAGE, ex.getMessage()); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies custom form data for an URL document data with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), fileUrl) - .setPollInterval(durationTestMode).getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for an URL document data with labeled data and include element references. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller = - client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), - fileUrl, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode).getSyncPoller(); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verify custom form for an URL of multi-page labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> - beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, true) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - String modelId = trainingPoller.getFinalResult().getModelId(); - SyncPoller> syncPoller = - client.beginRecognizeCustomFormsFromUrl( - modelId, fileUrl, new RecognizeCustomFormsOptions().setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultiPageDataLabeled(syncPoller.getFinalResult(), modelId); - }), MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with \ - * encoded blank space as input data to recognize a custom form from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client - .beginRecognizeCustomFormsFromUrl(NON_EXIST_MODEL_ID, sourceUrl).getSyncPoller().getFinalResult()); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verify that custom form with invalid model id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlNonExistModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl(NON_EXIST_MODEL_ID, fileUrl) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_MODEL_ID_ERROR_CODE, errorInformation.getErrorCode()); - }, CONTENT_FORM_JPG); - } - - /** - * Verify that custom form with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - toFluxByteBuffer(data), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller().getFinalResult()); - - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals("Invalid input file.", errorInformation.getMessage()); - })); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> beginSelectionMarkTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl(trainingPoller.getFinalResult().getModelId(), fileUrl, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateCustomFormWithSelectionMarks(syncPoller.getFinalResult(), true, 1); - }), SELECTION_MARK_PDF); - } - - /** - * Verifies custom form data for an URL using specified pages. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledDataWithPages(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(fileUrl -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingAsyncClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode) - .getSyncPoller(); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), - fileUrl, - new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(true) - .setPages(Collections.singletonList("1"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - List recognizedForms = syncPoller.getFinalResult(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - assertEquals(1, recognizedForms.size()); - }), CONTENT_FORM_JPG); - } - - // Business Card Recognition - - /** - * Verifies business card data from a document using file data as source. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, - () -> client.beginRecognizeBusinessCards(null, 0).getSyncPoller()); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = - client.beginRecognizeBusinessCards(toFluxByteBuffer(getContentDetectionFileData(filePath)), - dataLength, - new RecognizeBusinessCardsOptions()) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data from a document using file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data from a document using PNG file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_PNG) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_PNG); - } - - /** - * Verifies business card data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - /** - * Verify that business card recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verify business card recognition with multipage pdf. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageBusinessCard(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(toFluxByteBuffer(data), - dataLength, - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - syncPoller.waitForCompletion(); - validateMultipageBusinessData(syncPoller.getFinalResult()); - }, MULTIPAGE_BUSINESS_CARD_PDF); - } - - // Business Card - URL - - /** - * Verifies business card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions()) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize business card from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCardsFromUrl(sourceUrl) - .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCardsFromUrl(invalidSourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies business card data for a document using source as file url and include content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data for a document using source as PNG file url and include element references when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_PNG); - } - - /** - * Verify business card recognition with multipage pdf url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageBusinessCardUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions() - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateMultipageBusinessData(syncPoller.getFinalResult()); - }, MULTIPAGE_BUSINESS_CARD_PDF); - } - - /** - * Verify locale parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void receiptValidLocale(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl, - new RecognizeReceiptsOptions().setLocale(FormRecognizerLocale.EN_US)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - validateReceiptData(syncPoller.getFinalResult(), false, IMAGE_JPEG); - - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verify locale parameter passed when specified by user for business cards API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void businessCardValidLocale(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setLocale(FormRecognizerLocale.EN_US)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verify pages parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void receiptWithPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl, - new RecognizeReceiptsOptions().setPages(Collections.singletonList("1"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - List recognizedForms = syncPoller.getFinalResult(); - assertEquals(1, recognizedForms.size()); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verify pages parameter passed when specified by user for business cards API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void businessCardWithPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setPages(Collections.singletonList("1"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - List recognizedForms = syncPoller.getFinalResult(); - assertEquals(1, recognizedForms.size()); - }, BUSINESS_CARD_JPG); - } - - // Invoice recognition - - // Invoice - non-URL - - /** - * Verifies invoice data recognition for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(toFluxByteBuffer(data), - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - /** - * Verifies content type will be auto detected when using invoice API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(toFluxByteBuffer(getContentDetectionFileData(filePath)), - dataLength, - new RecognizeInvoicesOptions()) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - /** - * Verifies invoice data for a document using source as as input stream data and text content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(toFluxByteBuffer(data), - dataLength, - new RecognizeInvoicesOptions() - .setContentType(APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - - /** - * Verifies invoice data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(toFluxByteBuffer(data), - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - /** - * Verify that invoice recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceFromDamagedPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoices(toFluxByteBuffer(data), - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verify invoice data recognition with multipage pdf. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageInvoice(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(toFluxByteBuffer(data), - dataLength, - new RecognizeInvoicesOptions() - .setContentType(APPLICATION_PDF) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateMultipageInvoiceData(syncPoller.getFinalResult()); - }, MULTIPAGE_VENDOR_INVOICE_PDF); - } - - // invoice - URL - - /** - * Verifies invoice card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner((sourceUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize invoice card from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoicesFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller()); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((sourceUrl) - -> assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoicesFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller())); - } - - /** - * Verifies invoice data for a document using source as file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl, - new RecognizeInvoicesOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - /** - * Verify locale parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void invoiceValidLocale(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - final SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl, - new RecognizeInvoicesOptions().setLocale(FormRecognizerLocale.EN_US)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.getFinalResult(); - validateInvoiceData(syncPoller.getFinalResult(), false); - }, INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceWithPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - final SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl, - new RecognizeInvoicesOptions() - .setLocale(FormRecognizerLocale.EN_US) - .setPages(Collections.singletonList("1"))) - .setPollInterval(durationTestMode) - .getSyncPoller(); - - List recognizedForms = syncPoller.getFinalResult(); - assertEquals(1, recognizedForms.size()); - }, INVOICE_PDF); - } - - // identity document Recognition - - /** - * Verifies license card data from a document using file data as source. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseCardData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments(toFluxByteBuffer(data), dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.IMAGE_JPEG)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, - () -> client.beginRecognizeIdentityDocuments(null, 0).getSyncPoller()); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments(toFluxByteBuffer(getContentDetectionFileData(filePath)), - dataLength, - new RecognizeIdentityDocumentOptions()) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies identity document data from a document using file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments(toFluxByteBuffer(data), - dataLength, - new RecognizeIdentityDocumentOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateIdentityData(syncPoller.getFinalResult(), true); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies identity document data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments( - toFluxByteBuffer(data), - dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode).getSyncPoller(); - syncPoller.waitForCompletion(); - - assertEquals(0, syncPoller.getFinalResult().size()); - }, BLANK_PDF); - } - - /** - * Verify that identity document recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeIdentityDocuments( - toFluxByteBuffer(data), - dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.APPLICATION_PDF)) - .setPollInterval(durationTestMode) - .getSyncPoller() - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - // Identity document - URL - - /** - * Verifies business card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocumentsFromUrl(sourceUrl) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> { - HttpResponseException errorResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeIdentityDocumentsFromUrl(invalidSourceUrl) - .setPollInterval(durationTestMode).getSyncPoller().getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies license Identity data for a document using source as file url and include content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocumentsFromUrl(sourceUrl, - new RecognizeIdentityDocumentOptions().setFieldElementsIncluded(true)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.waitForCompletion(); - - validateIdentityData(syncPoller.getFinalResult(), true); - }, LICENSE_CARD_JPG); - } - - /** - * Verify reading order parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithReadingOrder(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - final SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setReadingOrder(FormReadingOrder.BASIC)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.getFinalResult(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verify reading order parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithReadingOrderNatural(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerAsyncClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - final SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setReadingOrder(FormReadingOrder.NATURAL)) - .setPollInterval(durationTestMode) - .getSyncPoller(); - syncPoller.getFinalResult(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderTest.java deleted file mode 100644 index 21a1670b3aedc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderTest.java +++ /dev/null @@ -1,269 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.http.policy.FixedDelay; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.http.policy.RetryPolicy; -import com.azure.core.test.TestBase; -import com.azure.core.test.annotation.DoNotRecord; -import com.azure.core.test.http.MockHttpResponse; -import com.azure.core.util.ClientOptions; -import com.azure.core.util.Configuration; -import com.azure.core.util.Header; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import reactor.core.publisher.Mono; - -import java.time.Duration; -import java.util.Collections; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -import static com.azure.ai.formrecognizer.FormRecognizerClientTestBase.INVALID_ENDPOINT; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_API_KEY; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_ENDPOINT; -import static com.azure.ai.formrecognizer.TestUtils.CONTENT_FORM_JPG; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.URL_TEST_FILE_FORMAT; -import static com.azure.ai.formrecognizer.TestUtils.VALID_HTTP_LOCALHOST; -import static com.azure.ai.formrecognizer.TestUtils.setSyncPollerPollInterval; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * Tests for Form Recognizer client builder - */ -public class FormRecognizerClientBuilderTest extends TestBase { - /** - * Test client builder with invalid API key - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithInvalidApiKeyCredential(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithInvalidApiKeyCredentialRunner(httpClient, serviceVersion, clientBuilder -> (input, output) -> - assertThrows(output.getClass(), () -> clientBuilder.buildClient().beginRecognizeContentFromUrl(input))); - } - - /** - * Test client with valid API key but update to invalid key and make call to server. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithRotateToInvalidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToInvalidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input, output) -> - assertThrows(output.getClass(), () -> clientBuilder.buildClient().beginRecognizeContentFromUrl(input))); - } - - /** - * Test client with invalid API key but update to valid key and make call to server. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithRotateToValidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToValidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test for null service version, which would take take the default service version by default - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithNullServiceVersion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithNullServiceVersionRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test for default pipeline in client builder - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithDefaultPipeline(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test for invalid endpoint, which throws connection refused exception message. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithInvalidEndpoint(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> { - assertThrows(RuntimeException.class, - () -> clientBuilder.endpoint(INVALID_ENDPOINT) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .buildClient() - .beginRecognizeContentFromUrl(input).getFinalResult()); - }); - } - - /** - * Test for an valid http endpoint, which throws HTTPS requirement exception message. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void clientBuilderWithHttpEndpoint(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> { - assertThrows(RuntimeException.class, () -> clientBuilder.endpoint(VALID_HTTP_LOCALHOST) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .buildClient() - .beginRecognizeContentFromUrl(input).getFinalResult()); - }); - } - - @Test - @DoNotRecord - public void applicationIdFallsBackToLogOptions() { - FormRecognizerClient formRecognizerClient = - new FormRecognizerClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .httpLogOptions(new HttpLogOptions().setApplicationId("anOldApplication")) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .httpClient(httpRequest -> { - assertTrue(httpRequest.getHeaders().getValue("User-Agent").contains("anOldApplication")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formRecognizerClient.beginRecognizeContentFromUrl(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG)); - } - - @Test - @DoNotRecord - public void clientOptionsIsPreferredOverLogOptions() { - FormRecognizerClient formRecognizerClient = - new FormRecognizerClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .httpLogOptions(new HttpLogOptions().setApplicationId("anOldApplication")) - .clientOptions(new ClientOptions().setApplicationId("aNewApplication")) - .httpClient(httpRequest -> { - assertTrue(httpRequest.getHeaders().getValue("User-Agent").contains("aNewApplication")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formRecognizerClient.beginRecognizeContentFromUrl(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG)); - } - - @Test - @DoNotRecord - public void clientOptionHeadersAreAddedLast() { - FormRecognizerClient formRecognizerClient = - new FormRecognizerClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .clientOptions(new ClientOptions() - .setHeaders(Collections.singletonList(new Header("User-Agent", "custom")))) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .httpClient(httpRequest -> { - assertEquals("custom", httpRequest.getHeaders().getValue("User-Agent")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formRecognizerClient.beginRecognizeContentFromUrl(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG)); - } - - // Client builder runner - void clientBuilderWithInvalidApiKeyCredentialRunner(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormRecognizerClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, getEndpoint(), - new AzureKeyCredential(INVALID_KEY)); - testRunner.apply(clientBuilder).accept(CONTENT_FORM_JPG, new HttpResponseException("", null)); - } - - void clientBuilderWithRotateToInvalidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final AzureKeyCredential credential = new AzureKeyCredential(getApiKey()); - final FormRecognizerClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, - getEndpoint(), credential); - // Update to invalid key - credential.update(INVALID_KEY); - testRunner.apply(clientBuilder).accept(CONTENT_FORM_JPG, new HttpResponseException("", null)); - } - - String getEndpoint() { - return interceptorManager.isPlaybackMode() - ? "https://localhost:8080" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_ENDPOINT); - } - - void clientBuilderWithRotateToValidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final AzureKeyCredential credential = new AzureKeyCredential(INVALID_KEY); - final FormRecognizerClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, - getEndpoint(), credential); - // Update to valid key - credential.update(getApiKey()); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG); - } - - void clientBuilderWithNullServiceVersionRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormRecognizerClientBuilder clientBuilder = - createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) - .retryPolicy(new RetryPolicy()) - .serviceVersion(null); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG); - } - - void clientBuilderWithDefaultPipelineRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormRecognizerClientBuilder clientBuilder = - createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) - .configuration(Configuration.getGlobalConfiguration()) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + CONTENT_FORM_JPG); - } - - /** - * Create a client builder with endpoint and API key credential. - * - * @param endpoint the given endpoint - * @param credential the given {@link AzureKeyCredential} credential - * @return {@link FormRecognizerClientBuilder} - */ - FormRecognizerClientBuilder createClientBuilder(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - String endpoint, AzureKeyCredential credential) { - final FormRecognizerClientBuilder clientBuilder = new FormRecognizerClientBuilder() - .credential(credential) - .endpoint(endpoint) - .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) - .serviceVersion(serviceVersion); - - if (!interceptorManager.isPlaybackMode()) { - clientBuilder.addPolicy(interceptorManager.getRecordPolicy()); - } - - return clientBuilder; - } - - /** - * Get the string of API key value based on what running mode is on. - * - * @return the API key string - */ - String getApiKey() { - return interceptorManager.isPlaybackMode() ? "apiKeyInPlayback" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_API_KEY); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderUnitTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderUnitTest.java deleted file mode 100644 index c1cd3971515e7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientBuilderUnitTest.java +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.credential.TokenCredential; -import org.junit.jupiter.api.Test; - -import static com.azure.ai.formrecognizer.TestUtils.VALID_HTTPS_LOCALHOST; -import static org.junit.jupiter.api.Assertions.assertThrows; - -/** - * Unit tests for Form Recognizer client builder - */ -public class FormRecognizerClientBuilderUnitTest { - - /** - * Test for missing endpoint - */ - @Test - public void missingEndpointAsyncClient() { - assertThrows(NullPointerException.class, () -> { - final FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder(); - builder.buildAsyncClient(); - }); - } - - /** - * Test for missing endpoint - */ - @Test - public void missingEndpoint() { - assertThrows(NullPointerException.class, () -> { - final FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder(); - builder.buildClient(); - }); - } - - /** - * Test for invalid endpoint - */ - @Test - public void invalidProtocol() { - assertThrows(IllegalArgumentException.class, () -> { - final FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder(); - builder.endpoint(TestUtils.INVALID_URL); - }); - } - - /** - * Test for null AzureKeyCredential - */ - @Test - public void nullAzureKeyCredential() { - AzureKeyCredential azureKeyCredential = null; - assertThrows(NullPointerException.class, () -> { - final FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder(); - builder.endpoint(VALID_HTTPS_LOCALHOST).credential(azureKeyCredential); - }); - } - - /** - * Test for null AAD credential - */ - @Test - public void nullAADCredential() { - TokenCredential tokenCredential = null; - assertThrows(NullPointerException.class, () -> { - final FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder(); - builder.endpoint(VALID_HTTPS_LOCALHOST).credential(tokenCredential); - }); - } - - /** - * Test for empty Key without any other authentication - */ - @Test - public void emptyKeyCredential() { - assertThrows(IllegalArgumentException.class, () -> new AzureKeyCredential("")); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTest.java deleted file mode 100644 index 76d4defbbdb29..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTest.java +++ /dev/null @@ -1,2363 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerLanguage; -import com.azure.ai.formrecognizer.models.FormRecognizerLocale; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeBusinessCardsOptions; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.models.RecognizeCustomFormsOptions; -import com.azure.ai.formrecognizer.models.RecognizeIdentityDocumentOptions; -import com.azure.ai.formrecognizer.models.RecognizeInvoicesOptions; -import com.azure.ai.formrecognizer.models.RecognizeReceiptsOptions; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.models.TextStyleName; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormSubmodel; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; - -import java.io.InputStream; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; -import static com.azure.ai.formrecognizer.TestUtils.CONTENT_FORM_JPG; -import static com.azure.ai.formrecognizer.TestUtils.CONTENT_GERMAN_PDF; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_IMAGE_URL_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_SOURCE_URL_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_URL; -import static com.azure.ai.formrecognizer.TestUtils.NON_EXIST_MODEL_ID; -import static com.azure.ai.formrecognizer.TestUtils.SELECTION_MARK_PDF; -import static com.azure.ai.formrecognizer.TestUtils.getContentDetectionFileData; -import static com.azure.ai.formrecognizer.TestUtils.validateExceptionSource; -import static com.azure.ai.formrecognizer.models.FormContentType.APPLICATION_PDF; -import static com.azure.ai.formrecognizer.models.FormContentType.IMAGE_JPEG; -import static com.azure.ai.formrecognizer.models.FormContentType.IMAGE_PNG; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.fail; - -public class FormRecognizerClientTest extends FormRecognizerClientTestBase { - - private FormRecognizerClient client; - - private FormRecognizerClient getFormRecognizerClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormRecognizerClientBuilder(httpClient, serviceVersion).buildClient(); - } - - private FormTrainingClient getFormTrainingClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormTrainingClientBuilder(httpClient, serviceVersion).buildClient(); - } - - // Receipt recognition - - // Receipt - non-URL - - /** - * Verifies receipt data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(data, - dataLength, - new RecognizeReceiptsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, () -> client.beginRecognizeReceipts(null, 0)); - } - - /** - * Verifies content type will be auto detected when using receipt API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(getContentDetectionFileData(filePath), - dataLength, - new RecognizeReceiptsOptions(), - Context.NONE) - .setPollInterval(durationTestMode); - - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data for a document using source as as input stream data and text content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts( - data, - dataLength, - new RecognizeReceiptsOptions().setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data from a document using PNG file data as source and including text content details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(data, - dataLength, - new RecognizeReceiptsOptions().setContentType(FormContentType.IMAGE_PNG) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, FormContentType.IMAGE_PNG); - }, RECEIPT_CONTOSO_PNG); - } - - /** - * Verifies receipt data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts(data, - dataLength, - new RecognizeReceiptsOptions().setContentType(APPLICATION_PDF), - Context.NONE).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceipts( - data, - dataLength, - new RecognizeReceiptsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultipageReceiptData(syncPoller.getFinalResult()); - }, MULTIPAGE_RECEIPT_PDF); - } - - /** - * Verify that receipt recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromDamagedPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceipts(data, - dataLength, - new RecognizeReceiptsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - // Receipt - URL - - /** - * Verifies receipt data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner((sourceUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize receipt from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceiptsFromUrl(sourceUrl).setPollInterval(durationTestMode)); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((sourceUrl) -> - assertThrows(HttpResponseException.class, - () -> client.beginRecognizeReceiptsFromUrl(sourceUrl).setPollInterval(durationTestMode))); - } - - /** - * Verifies receipt data for a document using source as file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true), Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, IMAGE_JPEG); - }, RECEIPT_CONTOSO_JPG); - } - - /** - * Verifies receipt data for a document using source as PNG file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeReceiptSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(sourceUrl, - new RecognizeReceiptsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateReceiptData(syncPoller.getFinalResult(), true, IMAGE_PNG); - }, RECEIPT_CONTOSO_PNG); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void recognizeReceiptFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - // TODO: (https://github.com/Azure/azure-sdk-for-java/issues/20012) - urlRunner(receiptUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeReceiptsFromUrl(receiptUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultipageReceiptData(syncPoller.getFinalResult()); - }, MULTIPAGE_RECEIPT_PDF); - } - - /** - * Verify locale parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void receiptValidLocale(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> receiptPoller - = client.beginRecognizeReceipts( - getContentDetectionFileData(filePath), - dataLength, - new RecognizeReceiptsOptions().setLocale(FormRecognizerLocale.EN_US), - Context.NONE) - .setPollInterval(durationTestMode); - validateReceiptData(receiptPoller.getFinalResult(), false, FormContentType.IMAGE_JPEG); - - }, RECEIPT_CONTOSO_JPG); - } - - // Content Recognition - - // Content - non-URL - - /** - * Verifies layout/content data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContent(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithNullData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, () -> client.beginRecognizeContent(null, 0)); - } - - /** - * Verifies content type will be auto detected when using content/layout API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent( - getContentDetectionFileData(filePath), - dataLength, - new RecognizeContentOptions().setContentType(null), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - - } - - /** - * Verifies blank form file is still a valid file to process - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentResultWithBlankPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, BLANK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verify that content recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithSelectionMarks(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, SELECTION_MARK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF).setPages(Collections.singletonList("1")), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(1, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPages(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF).setPages(Arrays.asList("1", "2")), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(2, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithPageRange(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(APPLICATION_PDF).setPages(Arrays.asList("1-2", "3")), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(3, formPages.size()); - }, MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies layout data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentAppearance(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeContent(data, - dataLength, - new RecognizeContentOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - List formPages = syncPoller.getFinalResult(); - validateContentData(formPages, true); - assertEquals(TextStyleName.OTHER, - formPages.get(0).getLines().get(0).getAppearance().getStyleName()); - }, CONTENT_FORM_JPG); - } - - // Content - URL - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize a content from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(sourceUrl).setPollInterval(durationTestMode)); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies layout data for a pdf url - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrlWithPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, INVOICE_6_PDF); - } - - /** - * Verifies that an exception is thrown for invalid source url for recognizing content/layout information. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) - -> assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(invalidSourceUrl).setPollInterval(durationTestMode))); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner((formUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(formUrl).setPollInterval(durationTestMode); - - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentWithSelectionMarksFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, SELECTION_MARK_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeGermanContentFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - testingContainerUrlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setLanguage(FormRecognizerLanguage.DE), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateContentData(syncPoller.getFinalResult(), true); - }, CONTENT_GERMAN_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeContentIncorrectLanguageFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - testingContainerUrlRunner(sourceUrl -> { - HttpResponseException exception - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeContentFromUrl(sourceUrl, - new RecognizeContentOptions().setLanguage(FormRecognizerLanguage.fromString("language")), - Context.NONE) - .setPollInterval(durationTestMode)); - - assertEquals(((FormRecognizerErrorInformation) exception.getValue()).getErrorCode(), - "NotSupportedLanguage"); - }, CONTENT_GERMAN_PDF); - } - - // Custom form recognition - - // Custom form - non-URL - labeled data - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(IMAGE_JPEG).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a JPG content type with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a blank PDF content type with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBlankCustomForm(syncPoller.getFinalResult(), 1, true); - }), BLANK_PDF); - } - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id, - * excluding field elements. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataExcludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels).setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies an exception thrown for a document using null form data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithNullFormData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - - assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomForms(syncPoller.getFinalResult().getModelId(), - (InputStream) null, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode)); - }), INVOICE_6_PDF); - } - - /** - * Verifies an exception thrown for a document using null model id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - Exception ex = assertThrows(RuntimeException.class, () -> client.beginRecognizeCustomForms( - null, - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode)); - assertEquals(MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE, ex.getMessage()); - }, INVOICE_6_PDF); - } - - /** - * Verifies an exception thrown for an empty model id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - - dataRunner((data, dataLength) -> { - Exception ex = assertThrows(RuntimeException.class, - () -> client.beginRecognizeCustomForms("", - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode)); - assertEquals(INVALID_UUID_EXCEPTION_MESSAGE, ex.getMessage()); - }, INVOICE_6_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormInvalidStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> - beginTrainingLabeledRunner((training, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(training, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - HttpResponseException httpResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl( - createdModel.getModelId(), - invalidSourceUrl) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(INVALID_SOURCE_URL_EXCEPTION_MESSAGE, errorInformation.getMessage()); - })); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> beginTrainingLabeledRunner( - (trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - getContentDetectionFileData(filePath), - dataLength, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, true) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - String modelId = trainingPoller.getFinalResult().getModelId(); - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - modelId, - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultiPageDataLabeled(syncPoller.getFinalResult(), modelId); - }), MULTIPAGE_INVOICE_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginSelectionMarkTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateCustomFormWithSelectionMarks(syncPoller.getFinalResult(), true, 1); - }), SELECTION_MARK_PDF); - } - - // Custom form - non-URL - unlabeled data - - /** - * Verifies custom form data for a document using source as input stream data and valid labeled model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion). - beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateUnlabeledCustomForm(syncPoller.getFinalResult(), false, 1); - }), INVOICE_6_PDF); - } - - /** - * Verifies custom form data for a document using source as input stream data and valid include element references - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateUnlabeledCustomForm(syncPoller.getFinalResult(), true, 1); - }), INVOICE_6_PDF); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultiPageDataUnlabeled(syncPoller.getFinalResult()); - }), MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies custom form data for a JPG content type with unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, false); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for a blank PDF content type with unlabeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUnlabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomForms( - trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBlankCustomForm(syncPoller.getFinalResult(), 1, false); - }), BLANK_PDF); - } - - // Custom form - URL - unlabeled data - - /** - * Verifies custom form data for an URL document data without labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlUnlabeledData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), - fileUrl) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, false); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for an URL document data without labeled data and include element references - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), - fileUrl, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, false); - }), CONTENT_FORM_JPG); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - testingContainerUrlRunner(fileUrl -> beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl(trainingPoller.getFinalResult().getModelId(), fileUrl) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultiPageDataUnlabeled(syncPoller.getFinalResult()); - }), MULTIPAGE_INVOICE_PDF); - } - - // Custom form - URL - labeled data - - /** - * Verifies that an exception is thrown for invalid training data source. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - HttpResponseException httpResponseException = assertThrows( - HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl( - createdModel.getModelId(), - INVALID_URL) - .getFinalResult()); - final FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(INVALID_SOURCE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies an exception thrown for a null model id when recognizing custom form from URL. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormFromUrlLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - Exception ex = assertThrows(RuntimeException.class, () -> client.beginRecognizeCustomFormsFromUrl( - null, fileUrl, new RecognizeCustomFormsOptions() - .setPollInterval(durationTestMode), Context.NONE)); - assertEquals(MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE, ex.getMessage()); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies an exception thrown for an empty model id for recognizing custom forms from URL. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormFromUrlLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> beginTrainingMultipageRunner((trainingFilesUrl) -> { - IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, - () -> client.beginRecognizeCustomFormsFromUrl("", fileUrl, - new RecognizeCustomFormsOptions().setPollInterval(durationTestMode), Context.NONE)); - assertEquals(INVALID_UUID_EXCEPTION_MESSAGE, ex.getMessage()); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for an URL document data with labeled data and include element references - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - - urlRunner(fileUrl -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), fileUrl, new RecognizeCustomFormsOptions() - .setFieldElementsIncluded(true).setPollInterval(durationTestMode), Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), true, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verifies custom form data for an URL document data with labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - urlRunner(fileUrl -> beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - client = getFormRecognizerClient(httpClient, serviceVersion); - - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl( - trainingPoller.getFinalResult().getModelId(), - fileUrl) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateJpegCustomForm(syncPoller.getFinalResult(), false, 1, true); - }), CONTENT_FORM_JPG); - } - - /** - * Verify custom form for an URL of multi-page labeled data - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> beginTrainingMultipageRunner((trainingFilesUrl) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, true) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - String modelId = trainingPoller.getFinalResult().getModelId(); - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl(modelId, fileUrl) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultiPageDataLabeled(syncPoller.getFinalResult(), modelId); - }), MULTIPAGE_INVOICE_PDF); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with \ - * encoded blank space as input data to recognize a custom form from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl(NON_EXIST_MODEL_ID, sourceUrl)); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verify that custom forom with invalid model id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlNonExistModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(fileUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomFormsFromUrl(NON_EXIST_MODEL_ID, fileUrl)); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_MODEL_ID_ERROR_CODE, errorInformation.getErrorCode()); - }, CONTENT_FORM_JPG); - } - - /** - * Verify that custom form with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion) - .beginTraining(trainingFilesUrl, false).setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeCustomForms(trainingPoller.getFinalResult().getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals("Invalid input file.", errorInformation.getMessage()); - })); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeCustomFormUrlLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - urlRunner(fileUrl -> beginSelectionMarkTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - client = getFormRecognizerClient(httpClient, serviceVersion); - - SyncPoller trainingPoller - = getFormTrainingClient(httpClient, serviceVersion).beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - trainingPoller.waitForCompletion(); - - SyncPoller> syncPoller - = client.beginRecognizeCustomFormsFromUrl(trainingPoller.getFinalResult().getModelId(), - fileUrl, - new RecognizeCustomFormsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateCustomFormWithSelectionMarks(syncPoller.getFinalResult(), true, 1); - }), SELECTION_MARK_PDF); - } - - /** - * Verifies recognized form type when labeled model used for recognition and model name is provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizeFormTypeLabeledWithModelName( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setModelName("model1"), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller1 - = formRecognizerClient.beginRecognizeCustomForms( - createdModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions() - .setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - final RecognizedForm recognizedForm = syncPoller1.getFinalResult().stream().findFirst().get(); - assertEquals("custom:model1", recognizedForm.getFormType()); - assertNotNull(recognizedForm.getFormTypeConfidence()); - - // check formtype set on submodel - final CustomFormSubmodel submodel = createdModel.getSubmodels().get(0); - assertEquals("custom:model1", submodel.getFormType()); - formTrainingClient.deleteModel(createdModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies recognized form type when labeled model used for recognition and model name is not provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizedFormTypeLabeledModel( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller1 - = formRecognizerClient.beginRecognizeCustomForms( - createdModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - final RecognizedForm recognizedForm = syncPoller1.getFinalResult().stream().findFirst().get(); - assertEquals("custom:" + createdModel.getModelId(), recognizedForm.getFormType()); - assertNotNull(recognizedForm.getFormTypeConfidence()); - - // check formtype set on submodel - final CustomFormSubmodel submodel = createdModel.getSubmodels().get(0); - assertEquals("custom:" + createdModel.getModelId(), submodel.getFormType()); - formTrainingClient.deleteModel(createdModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies recognized form type when unlabeled model used for recognition and model name is not provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizedFormTypeUnlabeledModel( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller1 - = formRecognizerClient.beginRecognizeCustomForms( - createdModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - final RecognizedForm recognizedForm = syncPoller1.getFinalResult().stream().findFirst().get(); - assertEquals("form-0", recognizedForm.getFormType()); - - // check formtype set on submodel - final CustomFormSubmodel submodel = createdModel.getSubmodels().get(0); - assertEquals("form-0", submodel.getFormType()); - formTrainingClient.deleteModel(createdModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies recognized form type when unlabeled model used for recognition and model name is provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizedFormTypeUnlabeledModelWithModelName( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setModelName("model1"), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller1 - = formRecognizerClient.beginRecognizeCustomForms( - createdModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - final RecognizedForm recognizedForm = syncPoller1.getFinalResult().stream().findFirst().get(); - assertEquals("form-0", recognizedForm.getFormType()); - - // check formtype set on submodel - final CustomFormSubmodel submodel = createdModel.getSubmodels().get(0); - assertEquals("form-0", submodel.getFormType()); - - formTrainingClient.deleteModel(createdModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies recognized form type when using composed model for recognition when display name is not provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizeFormTypeComposedModel( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, - useTrainingLabels).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - SyncPoller syncPoller1 - = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - CustomFormModel createdModel1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 - = formTrainingClient.beginCreateComposedModel(Arrays.asList(createdModel.getModelId(), - createdModel1.getModelId())).setPollInterval(durationTestMode); - syncPoller2.waitForCompletion(); - CustomFormModel composedModel = syncPoller2.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller3 - = formRecognizerClient.beginRecognizeCustomForms( - composedModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller3.waitForCompletion(); - - final RecognizedForm recognizedForm = syncPoller3.getFinalResult().stream().findFirst().get(); - if (recognizedForm.getFormType().equals("custom:" + createdModel1.getModelId()) - || recognizedForm.getFormType().equals("custom:" + createdModel.getModelId())) { - assertTrue(true); - } else { - fail(); - } - assertNotNull(recognizedForm.getFormTypeConfidence()); - - // check formtype set on submodel - composedModel.getSubmodels() - .forEach(customFormSubmodel -> { - if (createdModel.getModelId().equals(customFormSubmodel.getModelId())) { - assertEquals("custom:" + createdModel.getModelId(), customFormSubmodel.getFormType()); - } else { - assertEquals("custom:" + createdModel1.getModelId(), customFormSubmodel.getFormType()); - } - }); - - formTrainingClient.deleteModel(createdModel.getModelId()); - formTrainingClient.deleteModel(createdModel1.getModelId()); - formTrainingClient.deleteModel(composedModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - /** - * Verifies recognized form type when using composed model for recognition when model name is provided by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void checkRecognizeFormTypeComposedModelWithModelName( - HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - final FormTrainingClient formTrainingClient = getFormTrainingClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = formTrainingClient.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setModelName("model1"), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - CustomFormModel createdModel1 = syncPoller.getFinalResult(); - - SyncPoller syncPoller1 - = formTrainingClient.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setModelName("model2"), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller1.waitForCompletion(); - CustomFormModel createdModel2 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 - = formTrainingClient.beginCreateComposedModel( - Arrays.asList(createdModel1.getModelId(), createdModel2.getModelId()), - new CreateComposedModelOptions().setModelName("composedModelName"), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller2.waitForCompletion(); - CustomFormModel composedModel = syncPoller2.getFinalResult(); - - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - SyncPoller> syncPoller3 - = formRecognizerClient.beginRecognizeCustomForms( - composedModel.getModelId(), - data, - dataLength, - new RecognizeCustomFormsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller3.waitForCompletion(); - - final RecognizedForm recognizedForm = syncPoller3.getFinalResult().stream().findFirst().get(); - String expectedFormType1 = "composedModelName:model1"; - String expectedFormType2 = "composedModelName:model2"; - assertTrue(expectedFormType1.equals(recognizedForm.getFormType()) - || expectedFormType2.equals(recognizedForm.getFormType())); - - assertNotNull(recognizedForm.getFormTypeConfidence()); - - formTrainingClient.deleteModel(createdModel1.getModelId()); - formTrainingClient.deleteModel(createdModel2.getModelId()); - formTrainingClient.deleteModel(composedModel.getModelId()); - }); - }, CONTENT_FORM_JPG); - } - - // Business card recognition - - // Business card - non-URL - - /** - * Verifies business card data for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, - () -> client.beginRecognizeBusinessCards(null, 0)); - } - - /** - * Verifies content type will be auto detected when using business card API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(getContentDetectionFileData(filePath), dataLength) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data for a document using source as as input stream data and text content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data from a document using PNG file data as source and including text content details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions() - .setContentType(FormContentType.IMAGE_PNG) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_PNG); - } - - /** - * Verifies business card data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - /** - * Verify that business card recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verify business card recognition with multipage pdf. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageBusinessCard(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCards(data, - dataLength, - new RecognizeBusinessCardsOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultipageBusinessData(syncPoller.getFinalResult()); - }, MULTIPAGE_BUSINESS_CARD_PDF); - } - - // business card - URL - - /** - * Verifies business card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner((sourceUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), false); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize business card from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCardsFromUrl(sourceUrl).setPollInterval(durationTestMode)); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((sourceUrl) -> assertThrows(HttpResponseException.class, - () -> client.beginRecognizeBusinessCardsFromUrl(sourceUrl).setPollInterval(durationTestMode))); - } - - /** - * Verifies business card data for a document using source as file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_JPG); - } - - /** - * Verifies business card data for a document using source as PNG file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeBusinessCardSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBusinessCardData(syncPoller.getFinalResult(), true); - }, BUSINESS_CARD_PNG); - } - - /** - * Verify business card recognition with multipage pdf url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageBusinessCardUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeBusinessCardsFromUrl(sourceUrl, - new RecognizeBusinessCardsOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultipageBusinessData(syncPoller.getFinalResult()); - }, MULTIPAGE_BUSINESS_CARD_PDF); - } - - // Invoice recognition - - // Invoice - non-URL - - /** - * Verifies invoice data recognition for a document using source as input stream data. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(data, - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), false); - }, INVOICE_PDF); - } - - /** - * Verifies content type will be auto detected when using invoice API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(getContentDetectionFileData(filePath), - dataLength, - new RecognizeInvoicesOptions(), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), false); - }, INVOICE_PDF); - } - - /** - * Verifies invoice data for a document using source as as input stream data and text content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(data, - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - - /** - * Verifies invoice data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(data, - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateBlankPdfData(syncPoller.getFinalResult()); - }, BLANK_PDF); - } - - /** - * Verify that invoice recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceFromDamagedPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoices(data, - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode).getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verify invoice data recognition with multipage pdf. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeMultipageInvoice(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - // confirm if pageResults should be returned for prebuilt model recognition - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices(data, - dataLength, - new RecognizeInvoicesOptions().setContentType(APPLICATION_PDF).setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateMultipageInvoiceData(syncPoller.getFinalResult()); - }, MULTIPAGE_VENDOR_INVOICE_PDF); - } - - // invoice - URL - - /** - * Verifies invoice card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner((sourceUrl) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), false); - }, INVOICE_PDF); - } - - /** - * Verifies encoded blank url must stay same when sent to service for a document using invalid source url with - * encoded blank space as input data to recognize invoice card from url API. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled("https://github.com/Azure/azure-sdk-for-java/issues/21687") - public void recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - encodedBlankSpaceSourceUrlRunner(sourceUrl -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoicesFromUrl(sourceUrl).setPollInterval(durationTestMode)); - validateExceptionSource(errorResponseException); - }); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((sourceUrl) - -> assertThrows(HttpResponseException.class, - () -> client.beginRecognizeInvoicesFromUrl(sourceUrl).setPollInterval(durationTestMode))); - } - - /** - * Verifies invoice data for a document using source as file url and include form element references - * when includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeInvoiceFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoicesFromUrl(sourceUrl, - new RecognizeInvoicesOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateInvoiceData(syncPoller.getFinalResult(), true); - }, INVOICE_PDF); - } - - /** - * Verify locale parameter passed when specified by user. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void invoiceValidLocale(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeInvoices( - getContentDetectionFileData(filePath), - dataLength, - new RecognizeInvoicesOptions().setLocale(FormRecognizerLocale.EN_US), - Context.NONE) - .setPollInterval(durationTestMode); - validateInvoiceData(syncPoller.getFinalResult(), false); - }, INVOICE_PDF); - } - - /** - * Verify SDK returns empty object and array for null sub line items field. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void invoiceSubLineItemsNull(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - List recognizedForms = client.beginRecognizeInvoices( - getContentDetectionFileData(filePath), - dataLength, - new RecognizeInvoicesOptions().setLocale(FormRecognizerLocale.EN_US), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult(); - - RecognizedForm recognizedForm = recognizedForms.get(0); - FormField itemFieldList = recognizedForm.getFields().get("Items").getValue().asList().get(0); - Map formFieldMap = itemFieldList.getValue().asMap(); - - assertNull(formFieldMap); - assertEquals(String.valueOf(1), itemFieldList.getValueData().getText()); - - }, INVOICE_NO_SUB_LINE_PDF); - } - - // Identity Document Recognition - - /** - * Verifies license card data from a document using file data as source. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseCardData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments(data, - dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.IMAGE_JPEG), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies an exception thrown for a document using null data value. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - assertThrows(NullPointerException.class, () -> client.beginRecognizeIdentityDocuments(null, 0)); - } - - /** - * Verifies content type will be auto detected when using custom form API with input stream data overload. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - localFilePathRunner((filePath, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments( - getContentDetectionFileData(filePath), - dataLength, - new RecognizeIdentityDocumentOptions(), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies identity document data from a document using file data as source and including element reference details. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments(data, - dataLength, - new RecognizeIdentityDocumentOptions() - .setContentType(FormContentType.IMAGE_JPEG) - .setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), true); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies identity document data from a document using blank PDF. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - dataRunner((data, dataLength) -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocuments( - data, - dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - assertEquals(0, syncPoller.getFinalResult().size()); - }, BLANK_PDF); - } - - /** - * Verify that identity document recognition with damaged PDF file. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - damagedPdfDataRunner((data, dataLength) -> { - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeIdentityDocuments( - data, - dataLength, - new RecognizeIdentityDocumentOptions().setContentType(FormContentType.APPLICATION_PDF), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(BAD_ARGUMENT_CODE, errorInformation.getErrorCode()); - }); - } - - // Identity Document - URL - - /** - * Verifies business card data for a document using source as file url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeLicenseSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocumentsFromUrl(sourceUrl).setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), false); - }, LICENSE_CARD_JPG); - } - - /** - * Verifies that an exception is thrown for invalid source url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - invalidSourceUrlRunner((invalidSourceUrl) -> { - HttpResponseException errorResponseException = assertThrows(HttpResponseException.class, - () -> client.beginRecognizeIdentityDocumentsFromUrl(invalidSourceUrl) - .setPollInterval(durationTestMode) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation - = (FormRecognizerErrorInformation) errorResponseException.getValue(); - assertEquals(INVALID_IMAGE_URL_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies license identity data for a document using source as file url and include content when - * includeFieldElements is true. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void recognizeIDDocumentFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormRecognizerClient(httpClient, serviceVersion); - urlRunner(sourceUrl -> { - SyncPoller> syncPoller - = client.beginRecognizeIdentityDocumentsFromUrl(sourceUrl, - new RecognizeIdentityDocumentOptions().setFieldElementsIncluded(true), - Context.NONE) - .setPollInterval(durationTestMode); - syncPoller.waitForCompletion(); - validateIdentityData(syncPoller.getFinalResult(), true); - }, LICENSE_CARD_JPG); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTestBase.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTestBase.java deleted file mode 100644 index a1ef3eab6779d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormRecognizerClientTestBase.java +++ /dev/null @@ -1,1232 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.FieldBoundingBox; -import com.azure.ai.formrecognizer.models.FieldData; -import com.azure.ai.formrecognizer.models.FieldValueType; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormField; -import com.azure.ai.formrecognizer.models.FormLine; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormPageRange; -import com.azure.ai.formrecognizer.models.FormSelectionMark; -import com.azure.ai.formrecognizer.models.FormTable; -import com.azure.ai.formrecognizer.models.FormWord; -import com.azure.ai.formrecognizer.models.LengthUnit; -import com.azure.ai.formrecognizer.models.RecognizedForm; -import com.azure.ai.formrecognizer.models.SelectionMarkState; -import com.azure.ai.formrecognizer.models.TextStyleName; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.HttpClient; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.test.TestBase; -import com.azure.core.test.TestMode; -import com.azure.core.util.Configuration; -import com.azure.identity.DefaultAzureCredentialBuilder; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.time.Duration; -import java.time.LocalDate; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.regex.Pattern; - -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_ENDPOINT; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL; -import static com.azure.ai.formrecognizer.TestUtils.FAKE_ENCODED_EMPTY_SPACE_URL; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.ONE_NANO_DURATION; -import static com.azure.ai.formrecognizer.TestUtils.TEST_DATA_PNG; -import static com.azure.ai.formrecognizer.TestUtils.URL_TEST_FILE_FORMAT; -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -public abstract class FormRecognizerClientTestBase extends TestBase { - - private static final Pattern NON_DIGIT_PATTERN = Pattern.compile("[^0-9]+"); - private static final String EXPECTED_RECEIPT_ADDRESS_VALUE = "123 Main Street Redmond, WA 98052"; - private static final String EXPECTED_JPEG_RECEIPT_PHONE_NUMBER_VALUE = "+19876543210"; - private static final String ITEMIZED_RECEIPT_VALUE = "Itemized"; - static final String RECEIPT_CONTOSO_JPG = "contoso-allinone.jpg"; - static final String RECEIPT_CONTOSO_PNG = "contoso-receipt.png"; - static final String INVOICE_6_PDF = "Invoice_6.pdf"; - static final String MULTIPAGE_INVOICE_PDF = "multipage_invoice1.pdf"; - static final String MULTIPAGE_RECEIPT_PDF = "multipage-receipt.pdf"; - static final String BUSINESS_CARD_JPG = "businessCard.jpg"; - static final String BUSINESS_CARD_PNG = "businessCard.png"; - static final String MULTIPAGE_BUSINESS_CARD_PDF = "business-card-multipage.pdf"; - static final String INVOICE_PDF = "Invoice_1.pdf"; - static final String INVOICE_NO_SUB_LINE_PDF = "ErrorImage.tiff"; - static final String MULTIPAGE_VENDOR_INVOICE_PDF = "multipage_vendor_invoice.pdf"; - static final String LICENSE_CARD_JPG = "license.jpg"; - - // Error code - static final String BAD_ARGUMENT_CODE = "BadArgument"; - static final String INVALID_IMAGE_ERROR_CODE = "InvalidImage"; - static final String INVALID_MODEL_ID_ERROR_CODE = "1001"; - static final String MODEL_ID_NOT_FOUND_ERROR_CODE = "1022"; - - // Error Message - static final String INVALID_UUID_EXCEPTION_MESSAGE = "Invalid UUID string: "; - static final String INVALID_SOURCE_URL_EXCEPTION_MESSAGE = "Failed to download the image from the submitted URL. " - + "The URL may either be invalid or the server hosting the image is experiencing some technical difficulties."; - static final String MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE = "'modelId' is required and cannot be null."; - static final String COPY_OPERATION_FAILED_STATUS_MESSAGE = "Copy operation failed"; - - static final String INVALID_ENDPOINT = "https://notreal.azure.com"; - static final String LOCAL_FILE_PATH = "src/test/resources/sample_files/Test/"; - static final String ENCODED_EMPTY_SPACE = "{\"source\":\"https://fakeuri.com/blank%20space\"}"; - - // Business Card fields - static final List BUSINESS_CARD_FIELDS = - Arrays.asList("ContactNames", "FirstName", "LastName", "JobTitles", "Departments", - "Emails", "Websites", "MobilePhones", "OtherPhones", "WorkPhones", "Faxes", "Addresses", "CompanyNames"); - - // Receipt fields - static final List RECEIPT_FIELDS = Arrays.asList("MerchantName", "MerchantPhoneNumber", "MerchantAddress", - "Total", "Subtotal", "Tax", "TransactionDate", "TransactionDate", "TransactionTime", "Items"); - - // Invoice fields - static final List INVOICE_FIELDS = Arrays.asList("CustomerAddressRecipient", "InvoiceId", "VendorName", - "VendorAddress", "CustomerAddress", "CustomerName", "InvoiceTotal", "DueDate", "InvoiceDate"); - - // Identity Document fields - static final List ID_DOCUMENT_FIELDS = Arrays.asList("Country", "DateOfBirth", "DateOfExpiration", - "DocumentNumber", "FirstName", "LastName", "Nationality", "Sex", "MachineReadableZone", "DocumentType", - "Address", "Region"); - - public static final String EXPECTED_MERCHANT_NAME = "Contoso"; - - Duration durationTestMode; - - /** - * Use duration of nearly zero value for PLAYBACK test mode, otherwise, use default duration value for LIVE mode. - */ - @Override - protected void beforeTest() { - if (interceptorManager.isPlaybackMode()) { - durationTestMode = ONE_NANO_DURATION; - } else { - durationTestMode = DEFAULT_POLL_INTERVAL; - } - } - - FormRecognizerClientBuilder getFormRecognizerClientBuilder(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - FormRecognizerClientBuilder builder = new FormRecognizerClientBuilder() - .endpoint(getEndpoint()) - .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) - .serviceVersion(serviceVersion) - .addPolicy(interceptorManager.getRecordPolicy()); - - if (getTestMode() == TestMode.PLAYBACK) { - builder.credential(new AzureKeyCredential(INVALID_KEY)); - } else { - builder.credential(new DefaultAzureCredentialBuilder().build()); - } - return builder; - } - - FormTrainingClientBuilder getFormTrainingClientBuilder(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - FormTrainingClientBuilder builder = new FormTrainingClientBuilder() - .endpoint(getEndpoint()) - .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) - .serviceVersion(serviceVersion) - .addPolicy(interceptorManager.getRecordPolicy()); - if (getTestMode() == TestMode.PLAYBACK) { - builder.credential(new AzureKeyCredential(INVALID_KEY)); - } else { - builder.credential(new DefaultAzureCredentialBuilder().build()); - } - return builder; - } - - private static void validatePageRangeData(int expectedPageInfo, FormPageRange actualPageInfo) { - assertEquals(expectedPageInfo, actualPageInfo.getFirstPageNumber()); - assertEquals(expectedPageInfo, actualPageInfo.getLastPageNumber()); - } - - // Receipt recognition - - @Test - abstract void recognizeReceiptData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptDataNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - // Receipt - URL - - @Test - abstract void recognizeReceiptSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeReceiptFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - // Content recognition - - // Content - non-URL - - @Test - abstract void recognizeContent(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentResultWithNullData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentResultWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentResultWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentFromDataMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentWithSelectionMarks(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentAppearance(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - // Content - URL - - @Test - abstract void recognizeContentFromUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentFromUrlWithPdf(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentInvalidSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentFromUrlMultiPage(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeContentWithSelectionMarksFromUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Custom form recognition - - // Custom form - non-URL - labeled data - - @Test - abstract void recognizeCustomFormLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataExcludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithNullFormData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormInvalidStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Custom form - non-URL - unlabeled data - @Test - abstract void recognizeCustomFormUnlabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUnlabeledDataWithJpgContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUnlabeledDataWithBlankPdfContentType(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Custom form - URL - unlabeled data - - @Test - abstract void recognizeCustomFormUrlUnlabeledData(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlUnlabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlMultiPageUnlabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Custom form - URL - labeled data - - @Test - abstract void recognizeCustomFormInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormFromUrlLabeledDataWithNullModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormFromUrlLabeledDataWithEmptyModelId(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlLabeledData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlLabeledDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlMultiPageLabeled(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeCustomFormUrlLabeledDataWithSelectionMark(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Business Card - data - @Test - abstract void recognizeBusinessCardData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardDataNullData(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardDataWithContentTypeAutoDetection(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardDataIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardDataWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardDataWithBlankPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardFromDamagedPdf(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Business card - URL - - @Test - abstract void recognizeBusinessCardSourceUrl(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardInvalidSourceUrl(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardFromUrlIncludeFieldElements(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void recognizeBusinessCardSourceUrlWithPngFile(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - // Others - - void invalidSourceUrlRunner(Consumer testRunner) { - testRunner.accept(TestUtils.INVALID_RECEIPT_URL); - } - - void encodedBlankSpaceSourceUrlRunner(Consumer testRunner) { - testRunner.accept(FAKE_ENCODED_EMPTY_SPACE_URL); - } - - void urlRunner(Consumer testRunner, String fileName) { - testRunner.accept(URL_TEST_FILE_FORMAT + fileName); - } - - void testingContainerUrlRunner(Consumer testRunner, String fileName) { - testRunner.accept(getStorageTestingFileUrl(fileName)); - } - - void dataRunner(BiConsumer testRunner, String fileName) { - final long fileLength = new File(LOCAL_FILE_PATH + fileName).length(); - - if (interceptorManager.isPlaybackMode()) { - testRunner.accept(new ByteArrayInputStream(TEST_DATA_PNG.getBytes(StandardCharsets.UTF_8)), fileLength); - } else { - try { - testRunner.accept(new FileInputStream(LOCAL_FILE_PATH + fileName), fileLength); - } catch (FileNotFoundException e) { - throw new RuntimeException("Local file not found.", e); - } - } - } - - void localFilePathRunner(BiConsumer testRunner, String fileName) { - final long fileLength = new File(LOCAL_FILE_PATH + fileName).length(); - testRunner.accept(LOCAL_FILE_PATH + fileName, fileLength); - } - - void damagedPdfDataRunner(BiConsumer testRunner) { - testRunner.accept(new ByteArrayInputStream(new byte[] {0x25, 0x50, 0x44, 0x46, 0x55, 0x55, 0x55}), 7); - } - - void beginTrainingUnlabeledRunner(BiConsumer testRunner) { - testRunner.accept(getTrainingSasUri(), false); - } - - void beginTrainingLabeledRunner(BiConsumer testRunner) { - testRunner.accept(getTrainingSasUri(), true); - } - - void beginSelectionMarkTrainingLabeledRunner(BiConsumer testRunner) { - testRunner.accept(getSelectionMarkTrainingSasUri(), true); - } - - void beginTrainingMultipageRunner(Consumer testRunner) { - testRunner.accept(getMultipageTrainingSasUri()); - } - - void validateBlankCustomForm(List actualForms, - int expectedPageNumber, boolean isLabeled) { - Assertions.assertEquals(expectedPageNumber, actualForms.size()); - - RecognizedForm actualForm = actualForms.get(expectedPageNumber - 1); - validatePageRangeData(expectedPageNumber, actualForm.getPageRange()); - actualForm.getPages().forEach(actualFormPage -> { - Assertions.assertEquals(8.5, actualFormPage.getWidth()); - Assertions.assertEquals(11, actualFormPage.getHeight()); - Assertions.assertEquals(LengthUnit.INCH, actualFormPage.getUnit()); - Assertions.assertEquals(0, actualFormPage.getTables().size()); - }); - - if (isLabeled) { - Assertions.assertEquals(15, actualForm.getFields().size()); - } else { - Assertions.assertEquals(0, actualForm.getFields().size()); - } - } - - void validateJpegCustomForm(List actualForms, boolean includeFieldElements, - int expectedPageNumber, boolean isLabeled) { - Assertions.assertEquals(expectedPageNumber, actualForms.size()); - - RecognizedForm actualForm = actualForms.get(expectedPageNumber - 1); - validatePageRangeData(expectedPageNumber, actualForm.getPageRange()); - actualForm.getPages().forEach(actualFormPage -> { - Assertions.assertEquals(1700, actualFormPage.getWidth()); - Assertions.assertEquals(2200, actualFormPage.getHeight()); - Assertions.assertEquals(LengthUnit.PIXEL, actualFormPage.getUnit()); - - if (isLabeled) { - int[][] table = new int[][] {{5, 4, 20}, {4, 2, 8}}; - Assertions.assertEquals(2, actualFormPage.getTables().size()); - for (int i = 0; i < actualFormPage.getTables().size(); i++) { - int j = 0; - FormTable actualFormTable = actualFormPage.getTables().get(i); - Assertions.assertEquals(table[i][j], actualFormTable.getRowCount()); - Assertions.assertEquals(table[i][++j], actualFormTable.getColumnCount()); - Assertions.assertEquals(table[i][++j], actualFormTable.getCells().size()); - - } - } else { - int[] table = new int[] {5, 4, 20}; - Assertions.assertEquals(1, actualFormPage.getTables().size()); - for (int i = 0; i < actualFormPage.getTables().size(); i++) { - FormTable actualFormTable = actualFormPage.getTables().get(i); - Assertions.assertEquals(table[i], actualFormTable.getRowCount()); - Assertions.assertEquals(table[++i], actualFormTable.getColumnCount()); - Assertions.assertEquals(table[++i], actualFormTable.getCells().size()); - } - } - validateFormPage(actualFormPage, includeFieldElements); - }); - - if (isLabeled) { - assertTrue(actualForm.getFormType().startsWith("custom:")); - - actualForm.getFields().forEach((label, actualFormField) -> { - validateBoundingBoxData(actualFormField.getValueData().getBoundingBox()); - if ("Tax".equals(label)) { - assertEquals("$4.00", actualFormField.getValue().asString()); - } else if ("Signature".equals(label)) { - assertEquals("Bernie Sanders", actualFormField.getValue().asString()); - } else if ("Email".equals(label)) { - assertEquals("accounts@herolimited.com", actualFormField.getValue().asString()); - } else if ("PhoneNumber".equals(label)) { - assertEquals("555-348-6512", actualFormField.getValue().asString()); - } else if ("Quantity".equals(label)) { - assertEquals(20.0f, actualFormField.getValue().asFloat()); - } else if ("CompanyPhoneNumber".equals(label)) { - assertEquals("938-294-2949", actualFormField.getValue().asString()); - } else if ("DatedAs".equals(label)) { - assertEquals("12/20/2020", actualFormField.getValue().asString()); - } else if ("Total".equals(label)) { - assertEquals("$144.00", actualFormField.getValue().asString()); - } else if ("CompanyName".equals(label)) { - assertEquals("Higgly Wiggly Books", actualFormField.getValue().asString()); - } else if ("VendorName".equals(label)) { - assertEquals("Hillary Swank", actualFormField.getValue().asString()); - } else if ("Website".equals(label)) { - assertEquals("www.herolimited.com", actualFormField.getValue().asString()); - } else if ("Merchant".equals(label)) { - assertEquals("Hero Limited", actualFormField.getValue().asString()); - } else if ("PurchaseOrderNumber".equals(label)) { - assertEquals("948284", actualFormField.getValue().asString()); - } else if ("CompanyAddress".equals(label)) { - assertEquals("938 NE Burner Road Boulder City, CO 92848", - actualFormField.getValue().asString()); - } else if ("Subtotal".equals(label)) { - assertEquals("$140.00", actualFormField.getValue().asString()); - } else { - throw new IllegalStateException("Unexpected value: " + label); - } - }); - } else { - Assertions.assertEquals(17, actualForm.getFields().size()); - // validating the field name is of type field-0 and verify some label and valueData - actualForm.getFields().forEach((key, formField) -> { - validateBoundingBoxData(formField.getValueData().getBoundingBox()); - - if ("field-0".equals(key)) { - assertEquals("Company Phone:", formField.getLabelData().getText()); - assertEquals("555-348-6512", formField.getValue().asString()); - } else if ("field-1".equals(key)) { - assertEquals("Website:", formField.getLabelData().getText()); - assertEquals("www.herolimited.com", formField.getValue().asString()); - } else if ("field-2".equals(key)) { - assertEquals("Email:", formField.getLabelData().getText()); - assertEquals("accounts@herolimited.com", formField.getValue().asString()); - } else if ("field-3".equals(key)) { - assertEquals("Dated As:", formField.getLabelData().getText()); - assertEquals("12/20/2020", formField.getValue().asString()); - } else if ("field-4".equals(key)) { - assertEquals("Purchase Order #:", formField.getLabelData().getText()); - assertEquals("948284", formField.getValue().asString()); - } else if ("field-5".equals(key)) { - assertEquals("Vendor Name:", formField.getLabelData().getText()); - assertEquals("Hillary Swank", formField.getValue().asString()); - } else if ("field-6".equals(key)) { - assertEquals("Company Name:", formField.getLabelData().getText()); - assertEquals("Higgly Wiggly Books", formField.getValue().asString()); - } - }); - } - } - - void validateCustomFormWithSelectionMarks(List actualForms, boolean includeFieldElements, - int expectedPageNumber) { - Assertions.assertEquals(expectedPageNumber, actualForms.size()); - - RecognizedForm actualForm = actualForms.get(expectedPageNumber - 1); - validatePageRangeData(expectedPageNumber, actualForm.getPageRange()); - assertTrue(actualForm.getFormType().startsWith("custom:")); - - actualForm.getPages().forEach(actualFormPage -> { - Assertions.assertEquals(8.5, actualFormPage.getWidth()); - Assertions.assertEquals(11, actualFormPage.getHeight()); - Assertions.assertEquals(LengthUnit.INCH, actualFormPage.getUnit()); - - Assertions.assertEquals(0, actualFormPage.getTables().size()); - validateFormPage(actualFormPage, includeFieldElements); - }); - - actualForm.getFields().forEach((label, actualFormField) -> { - validateBoundingBoxData(actualFormField.getValueData().getBoundingBox()); - if ("AMEX_SELECTION_MARK".equals(label)) { - assertEquals(SelectionMarkState.SELECTED, actualFormField.getValue().asSelectionMarkState()); - } else if ("VISA_SELECTION_MARK".equals(label)) { - assertEquals(SelectionMarkState.UNSELECTED, actualFormField.getValue().asSelectionMarkState()); - } else if ("MASTERCARD_SELECTION_MARK".equals(label)) { - assertEquals(SelectionMarkState.UNSELECTED, actualFormField.getValue().asSelectionMarkState()); - } else { - throw new IllegalStateException("Unexpected value: " + label); - } - }); - } - - void validateUnlabeledCustomForm(List actualForms, boolean includeFieldElements, - int expectedPageNumber) { - Assertions.assertEquals(expectedPageNumber, actualForms.size()); - - RecognizedForm actualForm = actualForms.get(expectedPageNumber - 1); - validatePageRangeData(expectedPageNumber, actualForm.getPageRange()); - assertTrue(actualForm.getFormType().startsWith("form-")); - - actualForm.getPages().forEach(actualFormPage -> { - Assertions.assertEquals(8.5, actualFormPage.getWidth()); - Assertions.assertEquals(11, actualFormPage.getHeight()); - Assertions.assertEquals(LengthUnit.INCH, actualFormPage.getUnit()); - - int[] table = new int[] {2, 5, 10}; - Assertions.assertEquals(1, actualFormPage.getTables().size()); - for (int i = 0; i < actualFormPage.getTables().size(); i++) { - FormTable actualFormTable = actualFormPage.getTables().get(i); - Assertions.assertEquals(table[i], actualFormTable.getRowCount()); - Assertions.assertEquals(table[++i], actualFormTable.getColumnCount()); - Assertions.assertEquals(table[++i], actualFormTable.getCells().size()); - } - validateFormPage(actualFormPage, includeFieldElements); - }); - - actualForm.getFields().forEach((key, formField) -> { - - validateBoundingBoxData(formField.getValueData().getBoundingBox()); - - if ("field-0".equals(key)) { - assertEquals("Address:", formField.getLabelData().getText()); - assertEquals("14564 Main St. Saratoga, CA 94588", formField.getValue().asString()); - } else if ("field-1".equals(key)) { - assertEquals("Invoice For:", formField.getLabelData().getText()); - assertEquals("First Up Consultants 1234 King St Redmond, WA 97624", formField.getValue().asString()); - } else if ("field-2".equals(key)) { - assertEquals("Invoice Number", formField.getLabelData().getText()); - assertEquals("7689302", formField.getValue().asString()); - } else if ("field-3".equals(key)) { - assertEquals("Invoice Date", formField.getLabelData().getText()); - assertEquals("3/09/2015", formField.getValue().asString()); - } else if ("field-4".equals(key)) { - assertEquals("Invoice Due Date", formField.getLabelData().getText()); - assertEquals("6/29/2016", formField.getValue().asString()); - } else if ("field-5".equals(key)) { - assertEquals("Charges", formField.getLabelData().getText()); - assertEquals("$22,123.24", formField.getValue().asString()); - } else if ("field-6".equals(key)) { - assertEquals("VAT ID", formField.getLabelData().getText()); - assertEquals("QR", formField.getValue().asString()); - } else { - throw new IllegalStateException("Unexpected value: " + key); - } - }); - } - - void validateBlankPdfData(List actualRecognizedForm) { - assertEquals(1, actualRecognizedForm.size()); - final RecognizedForm actualForm = actualRecognizedForm.get(0); - assertTrue(actualForm.getFields().isEmpty()); - } - - void validateContentData(List actualFormPages, boolean includeFieldElements) { - actualFormPages.forEach(formPage -> { - Assertions.assertTrue( - formPage.getTextAngle() > -180.0 && formPage.getTextAngle() < 180.0); - validateFormPage(formPage, includeFieldElements); - }); - } - - void validateFormPage(FormPage formPage, boolean includeFieldElements) { - - Assertions.assertNotNull(formPage.getLines()); - - // content recognition will always return lines. - if (!includeFieldElements) { - Assertions.assertEquals(0, formPage.getLines().size()); - } - - formPage.getLines().forEach(formLine -> { - validateBoundingBoxData(formLine.getBoundingBox()); - Assertions.assertNotNull(formLine.getText()); - - if (formLine.getAppearance() != null) { - Assertions.assertNotNull(formLine.getAppearance().getStyleName()); - Assertions.assertTrue(formLine.getAppearance().getStyleName() == TextStyleName.HANDWRITING - || formLine.getAppearance().getStyleName() == TextStyleName.OTHER); - } - - Assertions.assertNotNull(formLine.getWords()); - formLine.getWords().forEach(formWord -> { - Assertions.assertNotNull(formWord.getBoundingBox().getPoints()); - Assertions.assertEquals(4, formWord.getBoundingBox().getPoints().size()); - Assertions.assertNotNull(formWord.getText()); - - }); - }); - - Assertions.assertNotNull(formPage.getTables()); - - formPage.getTables().forEach(formTable -> { - validateBoundingBoxData(formTable.getBoundingBox()); - Assertions.assertNotNull(formTable.getCells()); - - formTable.getCells().forEach(formTableCell -> { - validateBoundingBoxData(formTableCell.getBoundingBox()); - - Assertions.assertNotNull(formTableCell.getText()); - Assertions.assertNotNull(formTableCell.getFieldElements()); - - // content recognition will always return lines. - if (!includeFieldElements) { - Assertions.assertEquals(0, formTableCell.getFieldElements().size()); - } - - formTableCell.getFieldElements().forEach(formElement -> { - validateBoundingBoxData(formElement.getBoundingBox()); - - Assertions.assertTrue(formElement instanceof FormWord - || formElement instanceof FormLine || formElement instanceof FormSelectionMark); - - if (formElement instanceof FormWord || formElement instanceof FormLine) { - Assertions.assertNotNull(formElement.getText()); - } else { - // formElement instanceof FormSelectionMark then - Assertions.assertNull(formElement.getText()); - } - }); - }); - }); - - Assertions.assertNotNull(formPage.getSelectionMarks()); - - formPage.getSelectionMarks().forEach(formSelectionMark -> { - validateBoundingBoxData(formSelectionMark.getBoundingBox()); - Assertions.assertNull(formSelectionMark.getText()); - Assertions.assertNotNull(formSelectionMark.getState()); - }); - } - - void validateReceiptData(List actualPrebuiltRecognizedForms, boolean includeFieldElements, - FormContentType imageType) { - for (final RecognizedForm actualForm : actualPrebuiltRecognizedForms) { - Assertions.assertEquals("prebuilt:receipt", actualForm.getFormType()); - Assertions.assertNull(actualForm.getModelId()); - actualForm.getPages().forEach(formPage -> validateFormPage(formPage, includeFieldElements)); - - RECEIPT_FIELDS.forEach(receiptField -> { - final Map actualRecognizedReceiptFields = actualForm.getFields(); - if (actualRecognizedReceiptFields.get(receiptField) != null) { - validateFieldValueData(actualRecognizedReceiptFields.get(receiptField), includeFieldElements); - } - }); - } - assertEquals(1, actualPrebuiltRecognizedForms.size()); - RecognizedForm receiptPage1 = actualPrebuiltRecognizedForms.get(0); - - assertEquals(1, receiptPage1.getPageRange().getFirstPageNumber()); - assertEquals(1, receiptPage1.getPageRange().getLastPageNumber()); - assertNotNull(receiptPage1.getPages()); - - Map receiptPage1Fields = receiptPage1.getFields(); - assertEquals(ITEMIZED_RECEIPT_VALUE, receiptPage1Fields.get("ReceiptType").getValue().asString()); - receiptPage1Fields.get("ReceiptType"); - assertEquals(EXPECTED_RECEIPT_ADDRESS_VALUE, receiptPage1Fields.get("MerchantAddress") - .getValue().asString()); - assertEquals(EXPECTED_MERCHANT_NAME, receiptPage1Fields.get("MerchantName") - .getValue().asString()); - - if (FormContentType.IMAGE_JPEG.equals(imageType)) { - validateJpegReceiptFields(receiptPage1Fields); - } else if (FormContentType.IMAGE_PNG.equals(imageType)) { - validatePngReceiptFields(receiptPage1Fields); - } else { - throw new IllegalStateException("Unexpected value: " + imageType); - } - } - - void validateBusinessCardData(List actualPrebuiltRecognizedForms, boolean includeFieldElements) { - for (final RecognizedForm actualForm : actualPrebuiltRecognizedForms) { - Assertions.assertEquals("prebuilt:businesscard", actualForm.getFormType()); - Assertions.assertNull(actualForm.getModelId()); - actualForm.getPages().forEach(formPage -> validateFormPage(formPage, includeFieldElements)); - - BUSINESS_CARD_FIELDS.forEach(businessField -> { - final Map actualRecognizedBusinessCardFields = actualForm.getFields(); - if (actualRecognizedBusinessCardFields.get(businessField) != null) { - validateFieldValueData(actualRecognizedBusinessCardFields.get(businessField), includeFieldElements); - } - }); - } - assertEquals(1, actualPrebuiltRecognizedForms.size()); - RecognizedForm businessCardPage1 = actualPrebuiltRecognizedForms.get(0); - - assertEquals(1, businessCardPage1.getPageRange().getFirstPageNumber()); - assertEquals(1, businessCardPage1.getPageRange().getLastPageNumber()); - assertNotNull(businessCardPage1.getPages()); - - Map businessCardPage1Fields = businessCardPage1.getFields(); - assertEquals(10, businessCardPage1Fields.size()); - assertEquals("2 Kingdom Street Paddington, London, W2 6BD", businessCardPage1Fields.get("Addresses") - .getValue().asList().get(0).getValue().asString()); - assertEquals(EXPECTED_MERCHANT_NAME, businessCardPage1Fields.get("CompanyNames") - .getValue().asList().get(0).getValue().asString()); - assertEquals("Cloud & Al Department", businessCardPage1Fields.get("Departments") - .getValue().asList().get(0).getValue().asString()); - assertEquals("avery.smith@contoso.com", businessCardPage1Fields.get("Emails") - .getValue().asList().get(0).getValue().asString()); - assertEquals(FieldValueType.PHONE_NUMBER, businessCardPage1Fields.get("Faxes") - .getValue().asList().get(0).getValue().getValueType()); - assertEquals("Senior Researcher", businessCardPage1Fields.get("JobTitles") - .getValue().asList().get(0).getValue().asString()); - assertEquals(FieldValueType.PHONE_NUMBER, businessCardPage1Fields.get("MobilePhones") - .getValue().asList().get(0).getValue().getValueType()); - assertEquals("https://www.contoso.com/", businessCardPage1Fields.get("Websites") - .getValue().asList().get(0).getValue().asString()); - assertEquals(FieldValueType.PHONE_NUMBER, businessCardPage1Fields.get("WorkPhones") - .getValue().asList().get(0).getValue().getValueType()); - Map contactNamesMap - = businessCardPage1Fields.get("ContactNames").getValue().asList().get(0).getValue().asMap(); - assertEquals("Avery", contactNamesMap.get("FirstName").getValue().asString()); - assertEquals("Smith", contactNamesMap.get("LastName").getValue().asString()); - } - - void validateInvoiceData(List actualPrebuiltRecognizedForms, boolean includeFieldElements) { - for (final RecognizedForm actualForm : actualPrebuiltRecognizedForms) { - Assertions.assertEquals("prebuilt:invoice", actualForm.getFormType()); - Assertions.assertNull(actualForm.getModelId()); - actualForm.getPages().forEach(formPage -> validateFormPage(formPage, includeFieldElements)); - - INVOICE_FIELDS.forEach(invoiceField -> { - final Map actualRecognizedInvoiceFields = actualForm.getFields(); - if (actualRecognizedInvoiceFields.get(invoiceField) != null) { - validateFieldValueData(actualRecognizedInvoiceFields.get(invoiceField), includeFieldElements); - } - }); - } - assertEquals(1, actualPrebuiltRecognizedForms.size()); - RecognizedForm invoicePage1 = actualPrebuiltRecognizedForms.get(0); - - assertEquals(1, invoicePage1.getPageRange().getFirstPageNumber()); - assertEquals(1, invoicePage1.getPageRange().getLastPageNumber()); - assertNotNull(invoicePage1.getPages()); - - Map invoicePage1Fields = invoicePage1.getFields(); - assertEquals(9, invoicePage1Fields.size()); - assertEquals("1020 Enterprise Way Sunnayvale, CA 87659", invoicePage1Fields.get("CustomerAddress") - .getValue().asString()); - assertEquals("Microsoft", invoicePage1Fields.get("CustomerAddressRecipient") - .getValue().asString()); - assertEquals("Microsoft", invoicePage1Fields.get("CustomerName") - .getValue().asString()); - assertEquals(LocalDate.of(2017, 6, 24), invoicePage1Fields.get("DueDate") - .getValue().asDate()); - assertEquals(LocalDate.of(2017, 6, 18), invoicePage1Fields.get("InvoiceDate") - .getValue().asDate()); - assertEquals("34278587", invoicePage1Fields.get("InvoiceId") - .getValue().asString()); - assertEquals("1 Redmond way Suite 6000 Redmond, WA 99243", invoicePage1Fields.get("VendorAddress") - .getValue().asString()); - assertEquals(EXPECTED_MERCHANT_NAME, invoicePage1Fields.get("VendorName") - .getValue().asString()); - - Map itemsMap - = invoicePage1Fields.get("Items").getValue().asList().get(0).getValue().asMap(); - assertEquals(56651.49f, itemsMap.get("Amount").getValue().asFloat()); - assertEquals(LocalDate.of(2017, 6, 18), itemsMap.get("Date").getValue().asDate()); - assertEquals("34278587", itemsMap.get("ProductCode").getValue().asString()); - assertEquals(FieldValueType.FLOAT, itemsMap.get("Tax").getValue().getValueType()); - } - - void validateIdentityData(List actualPrebuiltRecognizedForms, boolean includeFieldElements) { - for (final RecognizedForm actualForm : actualPrebuiltRecognizedForms) { - Assertions.assertEquals("prebuilt:idDocument:driverLicense", actualForm.getFormType()); - Assertions.assertNull(actualForm.getModelId()); - actualForm.getPages().forEach(formPage -> validateFormPage(formPage, includeFieldElements)); - - ID_DOCUMENT_FIELDS.forEach(licenseField -> { - final Map actualRecognizedInvoiceFields = actualForm.getFields(); - if (actualRecognizedInvoiceFields.get(licenseField) != null) { - validateFieldValueData(actualRecognizedInvoiceFields.get(licenseField), includeFieldElements); - } - }); - } - assertEquals(1, actualPrebuiltRecognizedForms.size()); - RecognizedForm licensePage1 = actualPrebuiltRecognizedForms.get(0); - - assertEquals(1, licensePage1.getPageRange().getFirstPageNumber()); - assertEquals(1, licensePage1.getPageRange().getLastPageNumber()); - assertNotNull(licensePage1.getPages()); - - Map licensePageFields = licensePage1.getFields(); - assertEquals(9, licensePageFields.size()); - assertEquals("123 STREET ADDRESS YOUR CITY WA 99999-1234", licensePageFields.get("Address") - .getValue().asString()); - assertEquals("USA", licensePageFields.get("CountryRegion") - .getValue().asCountryRegion()); - assertEquals(LocalDate.of(1958, 1, 6), licensePageFields.get("DateOfBirth") - .getValue().asDate()); - assertEquals(LocalDate.of(2020, 8, 12), licensePageFields.get("DateOfExpiration") - .getValue().asDate()); - assertEquals("WDLABCD456DG", licensePageFields.get("DocumentNumber") - .getValue().asString()); - assertEquals("LIAM R.", licensePageFields.get("FirstName") - .getValue().asString()); - assertEquals("TALBOT", licensePageFields.get("LastName") - .getValue().asString()); - assertEquals("Washington", licensePageFields.get("Region") - .getValue().asString()); - assertEquals("M", licensePageFields.get("Sex") - .getValue().asString()); - } - - static void validateMultipageBusinessData(List recognizedBusinessCards) { - assertEquals(2, recognizedBusinessCards.size()); - RecognizedForm businessCard1 = recognizedBusinessCards.get(0); - RecognizedForm businessCard2 = recognizedBusinessCards.get(1); - - assertEquals(1, businessCard1.getPageRange().getFirstPageNumber()); - assertEquals(1, businessCard1.getPageRange().getLastPageNumber()); - Map businessCard1Fields = businessCard1.getFields(); - List emailList = businessCard1Fields.get("Emails").getValue().asList(); - assertEquals("johnsinger@contoso.com", emailList.get(0).getValue().asString()); - List phoneNumberList = businessCard1Fields.get("OtherPhones").getValue().asList(); - assertEquals("+14257793479", phoneNumberList.get(0).getValue().asPhoneNumber()); - assertNotNull(businessCard1.getPages()); - - // assert contact name page number - FormField contactNameField = businessCard1Fields.get("ContactNames").getValue().asList().get(0); - assertEquals(1, contactNameField.getValueData().getPageNumber()); - assertEquals("JOHN SINGER", contactNameField.getValueData().getText()); - - assertEquals(2, businessCard2.getPageRange().getFirstPageNumber()); - assertEquals(2, businessCard2.getPageRange().getLastPageNumber()); - Map businessCard2Fields = businessCard2.getFields(); - List email2List = businessCard2Fields.get("Emails").getValue().asList(); - assertEquals("avery.smith@contoso.com", email2List.get(0).getValue().asString()); - List phoneNumber2List = businessCard2Fields.get("WorkPhones").getValue().asList(); - assertEquals("+44 (0) 20 9876 5432", phoneNumber2List.get(0).getValueData().getText()); - assertNotNull(businessCard2.getPages()); - - // assert contact name page number - FormField contactName2Field = businessCard2Fields.get("ContactNames").getValue().asList().get(0); - assertEquals(2, contactName2Field.getValueData().getPageNumber()); - assertEquals("Dr. Avery Smith", contactName2Field.getValueData().getText()); - } - - void validateMultipageReceiptData(List recognizedReceipts) { - assertEquals(2, recognizedReceipts.size()); - RecognizedForm receiptPage1 = recognizedReceipts.get(0); - RecognizedForm receiptPage2 = recognizedReceipts.get(1); - - assertEquals(1, receiptPage1.getPageRange().getFirstPageNumber()); - assertEquals(1, receiptPage1.getPageRange().getLastPageNumber()); - Map receiptPage1Fields = receiptPage1.getFields(); - validateJpegReceiptFields(receiptPage1Fields); - - assertNotNull(receiptPage2.getFields()); - List receipt2Pages = receiptPage2.getPages(); - assertEquals(1, receipt2Pages.size()); - assertEquals(2, receiptPage2.getPageRange().getFirstPageNumber()); - assertEquals(2, receiptPage2.getPageRange().getLastPageNumber()); - - Map receiptPage2Fields = receiptPage2.getFields(); - validatePngReceiptFields(receiptPage2Fields); - } - - static void validateMultipageInvoiceData(List recognizedInvoices) { - assertEquals(1, recognizedInvoices.size()); - RecognizedForm recognizedForm = recognizedInvoices.get(0); - - assertEquals(1, recognizedForm.getPageRange().getFirstPageNumber()); - assertEquals(2, recognizedForm.getPageRange().getLastPageNumber()); - Map recognizedInvoiceFields = recognizedForm.getFields(); - final FormField remittanceAddressRecipient = recognizedInvoiceFields.get("RemittanceAddressRecipient"); - - assertEquals("Contoso Ltd.", remittanceAddressRecipient.getValue().asString()); - assertEquals(1, remittanceAddressRecipient.getValueData().getPageNumber()); - final FormField remittanceAddress = recognizedInvoiceFields.get("RemittanceAddress"); - - assertEquals("2345 Dogwood Lane Birch, Kansas 98123", remittanceAddress.getValue().asString()); - assertEquals(1, remittanceAddress.getValueData().getPageNumber()); - - final FormField vendorName = recognizedInvoiceFields.get("VendorName"); - assertEquals("Southridge Video", vendorName.getValue().asString()); - assertEquals(2, vendorName.getValueData().getPageNumber()); - - assertEquals(2, recognizedForm.getPages().size()); - } - - static void validateMultiPageDataLabeled(List actualRecognizedFormsList, String modelId) { - actualRecognizedFormsList.forEach(recognizedForm -> { - assertEquals("custom:" + modelId, recognizedForm.getFormType()); - assertEquals(1, recognizedForm.getPageRange().getFirstPageNumber()); - assertEquals(3, recognizedForm.getPageRange().getLastPageNumber()); - assertEquals(3, recognizedForm.getPages().size()); - recognizedForm.getFields().forEach((label, formField) -> { - assertNotNull(formField.getName()); - assertNotNull(formField.getValue()); - assertNotNull(formField.getValueData().getText()); - assertNull(formField.getLabelData()); - }); - }); - } - - static void validateMultiPageDataUnlabeled(List actualRecognizedFormsList) { - actualRecognizedFormsList.forEach(recognizedForm -> { - assertNotNull(recognizedForm.getFormType()); - assertEquals(1, (long) recognizedForm.getPages().size()); - recognizedForm.getFields().forEach((label, formField) -> { - assertNotNull(formField.getName()); - assertNotNull(formField.getValue()); - assertNotNull(formField.getValueData().getText()); - assertNotNull(formField.getLabelData().getText()); - }); - }); - } - - String getEndpoint() { - return interceptorManager.isPlaybackMode() ? "https://localhost:8080" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_ENDPOINT); - } - - private void validatePngReceiptFields(Map receiptPageFields) { - // "123-456-7890" is not a valid US telephone number since no area code can start with 1, so the service - // returns a null instead. - assertNull(receiptPageFields.get("MerchantPhoneNumber").getValue().asPhoneNumber()); - assertNotNull(receiptPageFields.get("Subtotal").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Total").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Tax").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Items")); - List itemizedItems = receiptPageFields.get("Items").getValue().asList(); - - for (int i = 0; i < itemizedItems.size(); i++) { - if (itemizedItems.get(i).getValue() != null) { - String[] itemizedNames = new String[] {"Surface Pro 6", "SurfacePen"}; - Float[] itemizedTotalPrices = new Float[] {999f, 99.99f}; - - Map actualReceiptItems = itemizedItems.get(i).getValue().asMap(); - int finalI = i; - actualReceiptItems.forEach((key, formField) -> { - assertNotNull(formField.getValue()); - if ("Name".equals(key)) { - assertNotNull(formField.getValue()); - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); - assertEquals(itemizedNames[finalI], name); - } - } - if ("Quantity".equals(key)) { - assertNotNull(formField.getValue()); - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - assertEquals(1.f, quantity); - } - } - if ("Price".equals(key)) { - assertNull(formField.getValue().asFloat()); - } - - if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); - assertEquals(itemizedTotalPrices[finalI], totalPrice); - } - } - }); - } - } - } - - private void validateJpegReceiptFields(Map receiptPageFields) { - assertEquals(EXPECTED_JPEG_RECEIPT_PHONE_NUMBER_VALUE, receiptPageFields.get("MerchantPhoneNumber") - .getValue().asPhoneNumber()); - assertNotNull(receiptPageFields.get("Subtotal").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Total").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Tax").getValue().asFloat()); - assertNotNull(receiptPageFields.get("Items")); - List itemizedItems = receiptPageFields.get("Items").getValue().asList(); - - for (int i = 0; i < itemizedItems.size(); i++) { - if (itemizedItems.get(i).getValue() != null) { - String[] itemizedNames = new String[] {"Cappuccino", "BACON & EGGS"}; - Float[] itemizedTotalPrices = new Float[] {2.2f, 9.5f}; - - Map actualReceiptItems = itemizedItems.get(i).getValue().asMap(); - int finalI = i; - actualReceiptItems.forEach((key, formField) -> { - assertNotNull(formField.getValue()); - if ("Name".equals(key)) { - assertNotNull(formField.getValue()); - if (FieldValueType.STRING == formField.getValue().getValueType()) { - String name = formField.getValue().asString(); - assertEquals(itemizedNames[finalI], name); - } - } - if ("Quantity".equals(key)) { - assertNotNull(formField.getValue()); - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float quantity = formField.getValue().asFloat(); - assertEquals(1.f, quantity); - } - } - if ("Price".equals(key)) { - assertNull(formField.getValue().asFloat()); - } - - if ("TotalPrice".equals(key)) { - if (FieldValueType.FLOAT == formField.getValue().getValueType()) { - Float totalPrice = formField.getValue().asFloat(); - assertEquals(itemizedTotalPrices[finalI], totalPrice); - } - } - }); - } - } - } - - private void validateFieldValueData(FormField formField, boolean includeFieldElements) { - assertNotNull(formField.getName()); - FieldData fieldData = formField.getLabelData(); - if (fieldData != null) { - validateBoundingBoxData(fieldData.getBoundingBox()); - - if (!includeFieldElements) { - assertEquals(0, fieldData.getFieldElements().size()); - } - } - } - - private void validateBoundingBoxData(FieldBoundingBox fieldBoundingBox) { - assertNotNull(fieldBoundingBox); - assertEquals(4, fieldBoundingBox.getPoints().size()); - } - - /** - * Get the training data set SAS Url value based on the test running mode. - * - * @return the training data set Url - */ - private String getTrainingSasUri() { - if (interceptorManager.isPlaybackMode()) { - return "https://isPlaybackmode"; - } else { - return Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL); - } - } - - private String getSelectionMarkTrainingSasUri() { - if (interceptorManager.isPlaybackMode()) { - return "https://isPlaybackmode"; - } else { - return Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL); - } - } - - /** - * Get the training data set SAS Url value based on the test running mode. - * - * @return the training data set Url - */ - private String getMultipageTrainingSasUri() { - if (interceptorManager.isPlaybackMode()) { - return "https://isPlaybackmode"; - } else { - return Configuration.getGlobalConfiguration() - .get(FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL); - } - } - - /** - * Get the testing data set SAS Url value based on the test running mode. - * - * @return the testing data set Url - */ - private String getTestingSasUri() { - if (interceptorManager.isPlaybackMode()) { - return "https://isPlaybackmode?SASToken"; - } else { - return Configuration.getGlobalConfiguration().get("FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL"); - } - } - - /** - * Prepare the file url from the testing data set SAS Url value. - * - * @return the testing data specific file Url - */ - private String getStorageTestingFileUrl(String fileName) { - if (interceptorManager.isPlaybackMode()) { - return "https://isPlaybackmode"; - } else { - final String[] urlParts = getTestingSasUri().split("\\?"); - return urlParts[0] + "/" + fileName + "?" + urlParts[1]; - } - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientTest.java deleted file mode 100644 index 9fea72aaa754c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingAsyncClientTest.java +++ /dev/null @@ -1,824 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.training.FormTrainingAsyncClient; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.CustomFormModelStatus; -import com.azure.ai.formrecognizer.training.models.TrainingFileFilter; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.util.polling.PollerFlux; -import com.azure.core.util.polling.SyncPoller; -import io.netty.handler.codec.http.HttpResponseStatus; -import org.junit.jupiter.api.AfterAll; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -import java.time.Duration; -import java.util.Arrays; -import java.util.List; - -import static com.azure.ai.formrecognizer.FormRecognizerClientTestBase.MODEL_ID_NOT_FOUND_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_MODEL_ID; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_MODEL_ID_ERROR; -import static com.azure.ai.formrecognizer.TestUtils.NULL_SOURCE_URL_ERROR; -import static com.azure.ai.formrecognizer.implementation.Utility.toFluxByteBuffer; -import static io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.fail; - -public class FormTrainingAsyncClientTest extends FormTrainingClientTestBase { - private FormTrainingAsyncClient client; - - @BeforeAll - static void beforeAll() { - StepVerifier.setDefaultTimeout(Duration.ofSeconds(30)); - } - - @AfterAll - static void afterAll() { - StepVerifier.resetDefaultTimeout(); - } - - private FormTrainingAsyncClient getFormTrainingAsyncClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormTrainingClientBuilder(httpClient, serviceVersion).buildAsyncClient(); - } - - /** - * Verifies the form recognizer async client is valid. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getFormRecognizerClientAndValidate(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - FormRecognizerAsyncClient formRecognizerClient = getFormTrainingAsyncClient(httpClient, serviceVersion) - .getFormRecognizerAsyncClient(); - blankPdfDataRunner((data, dataLength) -> { - SyncPoller> syncPoller = - formRecognizerClient.beginRecognizeContent(toFluxByteBuffer(data), dataLength, - new RecognizeContentOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - assertNotNull(syncPoller.getFinalResult()); - }); - } - - /** - * Verifies that an exception is thrown for null model Id parameter. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelNullModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - StepVerifier.create(client.getCustomModel(null)).verifyError(); - } - - /** - * Verifies that an exception is thrown for invalid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - getCustomModelInvalidModelIdRunner(invalidModelId -> StepVerifier.create(client.getCustomModel(invalidModelId)) - .expectErrorMatches(throwable -> throwable instanceof IllegalArgumentException - && throwable.getMessage().equals(INVALID_MODEL_ID_ERROR)).verify()); - } - - /** - * Verifies custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelWithResponse(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel trainedModel = syncPoller.getFinalResult(); - - StepVerifier.create(client.getCustomModelWithResponse(trainedModel.getModelId())) - .assertNext(customFormModelResponse -> { - assertEquals(customFormModelResponse.getStatusCode(), HttpResponseStatus.OK.code()); - validateCustomModelData(syncPoller.getFinalResult(), false, false); - }); - }); - } - - /** - * Verifies unlabeled custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelUnlabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = client.beginTraining( - trainingFilesUrl, useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel trainedUnlabeledModel = syncPoller.getFinalResult(); - StepVerifier.create(client.getCustomModel(trainedUnlabeledModel.getModelId())) - .assertNext(customFormModel -> validateCustomModelData(syncPoller.getFinalResult(), - false, false)); - }); - } - - /** - * Verifies labeled custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelLabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel trainedLabeledModel = syncPoller.getFinalResult(); - StepVerifier.create(client.getCustomModel(trainedLabeledModel.getModelId())) - .assertNext(customFormModel -> validateCustomModelData(syncPoller.getFinalResult(), - true, false)); - }); - } - - /** - * Verifies account properties returned for a subscription account. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void validGetAccountProperties(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - StepVerifier.create(client.getAccountProperties()) - .assertNext(FormTrainingClientTestBase::validateAccountProperties) - .verifyComplete(); - } - - /** - * Verifies account properties returned with an Http Response for a subscription account. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void validGetAccountPropertiesWithResponse(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - StepVerifier.create(client.getAccountProperties()) - .assertNext(FormTrainingClientTestBase::validateAccountProperties) - .verifyComplete(); - } - - /** - * Verifies that an exception is thrown for invalid status model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - StepVerifier.create(client.deleteModel(INVALID_MODEL_ID)) - .expectErrorMatches(throwable -> throwable instanceof IllegalArgumentException - && throwable.getMessage().equals(INVALID_MODEL_ID_ERROR)) - .verify(); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelValidModelIdWithResponse(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - StepVerifier.create(client.deleteModelWithResponse(createdModel.getModelId())) - .assertNext(response -> assertEquals(response.getStatusCode(), HttpResponseStatus.NO_CONTENT.code())) - .verifyComplete(); - - StepVerifier.create(client.getCustomModelWithResponse(createdModel.getModelId())) - .verifyErrorSatisfies(throwable -> { - assertEquals(HttpResponseException.class, throwable.getClass()); - final FormRecognizerErrorInformation errorInformation = (FormRecognizerErrorInformation) - ((HttpResponseException) throwable).getValue(); - assertEquals(MODEL_ID_NOT_FOUND_ERROR_CODE, errorInformation.getErrorCode()); - }); - }); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelValidModelIdWithResponseWithoutTrainingLabels(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, notUseTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - notUseTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - StepVerifier.create(client.deleteModelWithResponse(createdModel.getModelId())) - .assertNext(response -> assertEquals(response.getStatusCode(), HttpResponseStatus.NO_CONTENT.code())) - .verifyComplete(); - - StepVerifier.create(client.getCustomModelWithResponse(createdModel.getModelId())) - .verifyErrorSatisfies(throwable -> { - assertEquals(HttpResponseException.class, throwable.getClass()); - final FormRecognizerErrorInformation errorInformation = (FormRecognizerErrorInformation) - ((HttpResponseException) throwable).getValue(); - assertEquals(MODEL_ID_NOT_FOUND_ERROR_CODE, errorInformation.getErrorCode()); - }); - }); - } - - /** - * Test for listing all models information. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void listCustomModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - StepVerifier.create(client.listCustomModels()) - .thenConsumeWhile(customFormModelInfo -> customFormModelInfo.getModelId() != null - && customFormModelInfo.getTrainingStartedOn() != null - && customFormModelInfo.getTrainingCompletedOn() != null && customFormModelInfo.getStatus() != null) - .verifyComplete(); - } - - /** - * Verifies that an exception is thrown for null source url input. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingNullInput(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - NullPointerException thrown = assertThrows( - NullPointerException.class, - () -> client.beginTraining(null, false, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller().getFinalResult()); - - assertEquals(NULL_SOURCE_URL_ERROR, thrown.getMessage()); - } - - /** - * Verifies the result of the copy operation for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopy(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, new TrainingOptions() - .setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyRunner((resourceId, resourceRegion) -> { - Mono targetMono = client.getCopyAuthorization(resourceId, resourceRegion); - CopyAuthorization target = targetMono.block(); - if (actualModel == null) { - fail(); - return; - } - - PollerFlux copyPoller = - client.beginCopyModel(actualModel.getModelId(), target, durationTestMode); - CustomFormModelInfo copyModel = copyPoller.getSyncPoller().getFinalResult(); - assertNotNull(target.getModelId(), copyModel.getModelId()); - assertNotNull(actualModel.getTrainingStartedOn()); - assertNotNull(actualModel.getTrainingCompletedOn()); - assertEquals(CustomFormModelStatus.READY, copyModel.getStatus()); - - }); - }); - } - - /** - * Verifies the Invalid region ErrorResponseException is thrown for invalid region input to copy operation. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopyInvalidRegion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, new TrainingOptions() - .setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyInvalidRegionRunner((resourceId, resourceRegion) -> { - Mono targetMono = client.getCopyAuthorization(resourceId, resourceRegion); - CopyAuthorization target = targetMono.block(); - if (actualModel == null) { - fail(); - return; - } - PollerFlux copyPoller = client.beginCopyModel( - actualModel.getModelId(), target); - - HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> copyPoller.getSyncPoller().getFinalResult()); - - FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(COPY_REQUEST_INVALID_TARGET_RESOURCE_REGION_ERROR_CODE, - errorInformation.getErrorCode()); - }); - }); - } - - /** - * Verifies {@link FormRecognizerException} is thrown for invalid region input to copy operation. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopyIncorrectRegion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyIncorrectRegionRunner((resourceId, resourceRegion) -> { - Mono targetMono = client.getCopyAuthorization(resourceId, resourceRegion); - CopyAuthorization target = targetMono.block(); - if (actualModel == null) { - fail(); - return; - } - FormRecognizerException formRecognizerException = assertThrows(FormRecognizerException.class, - () -> client.beginCopyModel(actualModel.getModelId(), target, durationTestMode) - .getSyncPoller().getFinalResult()); - assertTrue(formRecognizerException.getMessage().startsWith( - FormRecognizerClientTestBase.COPY_OPERATION_FAILED_STATUS_MESSAGE)); - }); - }); - } - - /** - * Verifies the result of the copy authorization for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void copyAuthorization(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginCopyRunner((resourceId, resourceRegion) -> - StepVerifier.create(client.getCopyAuthorization(resourceId, resourceRegion)) - .assertNext(copyAuthorization -> - validateCopyAuthorizationResult(resourceId, resourceRegion, copyAuthorization)) - .verifyComplete() - ); - } - - /** - * Verifies the training operation throws FormRecognizerException when an invalid status model is returned. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void beginTrainingInvalidModelStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingInvalidModelStatusRunner((invalidTrainingFilesUrl, useTrainingLabels) -> { - FormRecognizerException formRecognizerException = assertThrows(FormRecognizerException.class, - () -> client.beginTraining(invalidTrainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)) - .getSyncPoller().getFinalResult()); - - FormRecognizerErrorInformation errorInformation = formRecognizerException.getErrorInformation().get(0); - assertEquals(INVALID_MODEL_STATUS_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies the result of the training operation for a valid labeled model Id and JPG training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, new TrainingOptions() - .setPollInterval(durationTestMode)).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), true, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and JPG training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid labeled model Id and multi-page PDF training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - true, new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), true, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and multi-page PDF training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - false, new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid labeled model Id and include subfolder training set - * Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions() - .setPollInterval(durationTestMode) - .setTrainingFileFilter(new TrainingFileFilter().setSubfoldersIncluded(true) - .setPrefix(PREFIX_SUBFOLDER))).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model ID and exclude subfolder training set - * URL with existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions() - .setTrainingFileFilter(new TrainingFileFilter().setPrefix(PREFIX_SUBFOLDER)) - .setPollInterval(durationTestMode)).getSyncPoller(); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and include subfolder training set - * Url with non-existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - FormRecognizerException thrown = assertThrows(FormRecognizerException.class, () -> - client.beginTraining(trainingFilesUrl, false, new TrainingOptions() - .setTrainingFileFilter(new TrainingFileFilter().setSubfoldersIncluded(true) - .setPrefix(INVALID_PREFIX_FILE_NAME)) - .setPollInterval(durationTestMode)).getSyncPoller().getFinalResult()); - assertEquals(NO_VALID_BLOB_FOUND_ERROR_CODE, thrown.getErrorInformation().get(0).getErrorCode()); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and exclude subfolder training set - * Url with non-existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - FormRecognizerException thrown = assertThrows(FormRecognizerException.class, () -> - client.beginTraining(trainingFilesUrl, false, - new TrainingOptions() - .setTrainingFileFilter(new TrainingFileFilter().setPrefix(INVALID_PREFIX_FILE_NAME)) - .setPollInterval(durationTestMode)).getSyncPoller() - .getFinalResult()); - assertEquals(NO_VALID_BLOB_FOUND_ERROR_CODE, thrown.getErrorInformation().get(0).getErrorCode()); - }); - } - - /** - * Verifies the result of the create composed model for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedModel(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions() - .setPollInterval(durationTestMode)) - .getSyncPoller(); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - CustomFormModel composedModel = client.beginCreateComposedModel(modelIdList, - new CreateComposedModelOptions()).setPollInterval(durationTestMode) - .getSyncPoller().getFinalResult(); - - assertNotNull(composedModel.getModelId()); - assertNotNull(composedModel.getCustomModelProperties()); - assertTrue(composedModel.getCustomModelProperties().isComposed()); - assertEquals(2, (long) composedModel.getSubmodels().size()); - composedModel.getSubmodels().forEach(customFormSubmodel -> - assertTrue(modelIdList.contains(customFormSubmodel.getModelId()))); - validateCustomModelData(composedModel, false, true); - - client.deleteModel(model1.getModelId()).block(); - client.deleteModel(model2.getModelId()).block(); - client.deleteModel(composedModel.getModelId()).block(); - }); - } - - /** - * Verifies the result of the create composed model for valid parameters with options. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedModelWithOptions(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - CustomFormModel composedModel = client.beginCreateComposedModel(modelIdList, - new CreateComposedModelOptions().setModelName("composedModelDisplayName")) - .setPollInterval(durationTestMode) - .getSyncPoller().getFinalResult(); - - assertNotNull(composedModel.getModelId()); - assertNotNull(composedModel.getCustomModelProperties()); - assertTrue(composedModel.getCustomModelProperties().isComposed()); - assertEquals("composedModelDisplayName", composedModel.getModelName()); - assertEquals(2, (long) composedModel.getSubmodels().size()); - composedModel.getSubmodels().forEach(customFormSubmodel -> - assertTrue(modelIdList.contains(customFormSubmodel.getModelId()))); - validateCustomModelData(composedModel, false, true); - - client.deleteModel(model1.getModelId()).block(); - client.deleteModel(model2.getModelId()).block(); - client.deleteModel(composedModel.getModelId()).block(); - }); - } - - /** - * Verifies the create composed model using unlabeled models fails. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedUnlabeledModel(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - StepVerifier.create(client.beginCreateComposedModel( - modelIdList, - new CreateComposedModelOptions()).setPollInterval(durationTestMode)) - .thenAwait() - .verifyErrorSatisfies(throwable -> { - assertEquals(HttpResponseException.class, throwable.getClass()); - assertEquals(BAD_REQUEST.code(), ((HttpResponseException) throwable).getResponse().getStatusCode()); - }); - - client.deleteModel(model1.getModelId()).block(); - client.deleteModel(model2.getModelId()).block(); - }); - } - - /** - * Verifies the create composed model operation fails when supplied duplicate Ids. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedDuplicateModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode)).getSyncPoller(); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model1.getModelId()); - HttpResponseException httpResponseException - = assertThrows(HttpResponseException.class, - () -> client.beginCreateComposedModel(modelIdList, new CreateComposedModelOptions()) - .setPollInterval(durationTestMode) - .getSyncPoller().waitForCompletion()); - assertEquals(BAD_REQUEST.code(), httpResponseException.getResponse().getStatusCode()); - - client.deleteModel(model1.getModelId()).block(); - }); - } - - // APIM bug - 8404889 - // /** - // * Verifies the composed model attributes are returned when listing models. - // */ - // @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - // @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - // public void listComposedModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // client = getFormTrainingAsyncClient(httpClient, serviceVersion); - // beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - // SyncPoller syncPoller1 - // = client.beginTraining(trainingFilesUrl, - // useTrainingLabels, - // new TrainingOptions() - // .setPollInterval(durationTestMode)).getSyncPoller(); - // syncPoller1.waitForCompletion(); - // CustomFormModel model1 = syncPoller1.getFinalResult(); - // - // SyncPoller syncPoller2 - // = client.beginTraining(trainingFilesUrl, - // useTrainingLabels, - // new TrainingOptions() - // .setPollInterval(durationTestMode)).getSyncPoller(); - // syncPoller2.waitForCompletion(); - // CustomFormModel model2 = syncPoller2.getFinalResult(); - // - // final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - // - // CustomFormModel composedModel - // = client.beginCreateComposedModel( - // modelIdList, - // new CreateComposedModelOptions() - // .setModelDisplayName("composedModelDisplayName") - // .setPollInterval(durationTestMode)) - // .getSyncPoller().getFinalResult(); - // - // StepVerifier.create(client.listCustomModels() - // .filter(customFormModelInfo -> - // Objects.equals(composedModel.getModelId(), customFormModelInfo.getModelId()))) - // .assertNext(customFormModelInfo -> { - // assertEquals("composedModelDisplayName", customFormModelInfo.getModelDisplayName()); - // assertTrue(customFormModelInfo.getCustomModelProperties().isComposed()); - // }) - // .verifyComplete(); - // - // client.deleteModel(model1.getModelId()).block(); - // client.deleteModel(model2.getModelId()).block(); - // client.deleteModel(composedModel.getModelId()).block(); - // }); - // } - - /** - * Verifies the result contains the user defined model display name for unlabeled model. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingUnlabeledModelName(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, notUseTrainingLabels) -> { - SyncPoller syncPoller - = client.beginTraining(trainingFilesUrl, - notUseTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode).setModelName("modelDisplayName")) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - StepVerifier.create(client.getCustomModel(createdModel.getModelId())) - .assertNext(response -> assertEquals("modelDisplayName", response.getModelName())) - .verifyComplete(); - - validateCustomModelData(createdModel, false, false); - }); - } - - /** - * Verifies the result contains the user defined model display name for labeled model. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingLabeledModelName(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingAsyncClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller - = client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode).setModelName("model trained with labels")) - .getSyncPoller(); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - StepVerifier.create(client.getCustomModel(createdModel.getModelId())) - .assertNext(response -> assertEquals("model trained with labels", response.getModelName())) - .verifyComplete(); - - validateCustomModelData(createdModel, true, false); - client.deleteModel(createdModel.getModelId()); - }); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderTest.java deleted file mode 100644 index e5354d115042b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderTest.java +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.http.policy.FixedDelay; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.http.policy.RetryPolicy; -import com.azure.core.test.TestBase; -import com.azure.core.test.annotation.DoNotRecord; -import com.azure.core.test.http.MockHttpResponse; -import com.azure.core.util.ClientOptions; -import com.azure.core.util.Configuration; -import com.azure.core.util.Header; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import reactor.core.publisher.Mono; - -import java.time.Duration; -import java.util.Collections; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -import static com.azure.ai.formrecognizer.FormRecognizerClientTestBase.INVALID_ENDPOINT; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_API_KEY; -import static com.azure.ai.formrecognizer.FormTrainingClientTestBase.AZURE_FORM_RECOGNIZER_ENDPOINT; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.URL_TEST_FILE_FORMAT; -import static com.azure.ai.formrecognizer.TestUtils.VALID_URL; -import static com.azure.ai.formrecognizer.TestUtils.setSyncPollerPollInterval; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * Tests for Form Training client builder - */ -public class FormTrainingClientBuilderTest extends TestBase { - private static final String FORM_JPG = "Form_1.jpg"; - - /** - * Test client builder with invalid API key - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderInvalidKeyCredential(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithInvalidApiKeyCredentialRunner(httpClient, serviceVersion, clientBuilder -> (input, output) -> - assertThrows(output.getClass(), () -> clientBuilder.buildClient().getAccountProperties())); - } - - /** - * Test client with invalid API key but update to valid key and make call to server. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderRotateToValidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToValidKeyRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient().getFormRecognizerClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test client with valid API key but update to invalid key and make call to server. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderRotateToInvalidKey(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithRotateToInvalidKeyRunner(httpClient, serviceVersion, clientBuilder -> (output) -> - assertThrows(output.getClass(), () -> clientBuilder.buildClient().getAccountProperties())); - } - - /** - * Test for null service version, which would take take the default service version by default - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderNullServiceVersion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithNullServiceVersionRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient().getFormRecognizerClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test for default pipeline in client builder - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderDefaultPipeline(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> - assertNotNull(setSyncPollerPollInterval(clientBuilder.buildClient().getFormRecognizerClient() - .beginRecognizeContentFromUrl(input), interceptorManager).getFinalResult())); - } - - /** - * Test for invalid endpoint. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void trainingClientBuilderInvalidEndpoint(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - clientBuilderWithDefaultPipelineRunner(httpClient, serviceVersion, clientBuilder -> (input) -> { - assertThrows(RuntimeException.class, () -> clientBuilder.endpoint(INVALID_ENDPOINT) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .buildClient() - .getFormRecognizerClient() - .beginRecognizeContentFromUrl(input).getFinalResult()); - }); - } - - @Test - @DoNotRecord - public void applicationIdFallsBackToLogOptions() { - FormTrainingClient formTrainingClient = - new FormTrainingClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .httpLogOptions(new HttpLogOptions().setApplicationId("anOldApplication")) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .httpClient(httpRequest -> { - assertTrue(httpRequest.getHeaders().getValue("User-Agent").contains("anOldApplication")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formTrainingClient.getAccountProperties()); - } - - @Test - @DoNotRecord - public void clientOptionsIsPreferredOverLogOptions() { - FormTrainingClient formTrainingClient = - new FormTrainingClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .httpLogOptions(new HttpLogOptions().setApplicationId("anOldApplication")) - .clientOptions(new ClientOptions().setApplicationId("aNewApplication")) - .httpClient(httpRequest -> { - assertTrue(httpRequest.getHeaders().getValue("User-Agent").contains("aNewApplication")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formTrainingClient.getAccountProperties()); - } - - @Test - @DoNotRecord - public void clientOptionHeadersAreAddedLast() { - FormTrainingClient formTrainingClient = - new FormTrainingClientBuilder() - .endpoint(getEndpoint()) - .credential(new AzureKeyCredential(getApiKey())) - .clientOptions(new ClientOptions() - .setHeaders(Collections.singletonList(new Header("User-Agent", "custom")))) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .httpClient(httpRequest -> { - assertEquals("custom", httpRequest.getHeaders().getValue("User-Agent")); - return Mono.just(new MockHttpResponse(httpRequest, 400)); - }) - .buildClient(); - assertThrows(HttpResponseException.class, - () -> formTrainingClient.getAccountProperties()); - } - - // Client builder runner - void clientBuilderWithInvalidApiKeyCredentialRunner(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormTrainingClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, getEndpoint(), - new AzureKeyCredential(INVALID_KEY)); - testRunner.apply(clientBuilder).accept(VALID_URL, new HttpResponseException("", null)); - } - - void clientBuilderWithRotateToInvalidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final AzureKeyCredential credential = new AzureKeyCredential(getApiKey()); - final FormTrainingClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, - getEndpoint(), credential); - // Update to invalid key - credential.update(INVALID_KEY); - testRunner.apply(clientBuilder).accept(new HttpResponseException("", null)); - } - - void clientBuilderWithRotateToValidKeyRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final AzureKeyCredential credential = new AzureKeyCredential(INVALID_KEY); - final FormTrainingClientBuilder clientBuilder = createClientBuilder(httpClient, serviceVersion, - getEndpoint(), credential); - // Update to valid key - credential.update(getApiKey()); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + FORM_JPG); - } - - void clientBuilderWithNullServiceVersionRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormTrainingClientBuilder clientBuilder = - createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) - .retryPolicy(new RetryPolicy()) - .serviceVersion(null); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + FORM_JPG); - } - - void clientBuilderWithDefaultPipelineRunner(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - Function> testRunner) { - final FormTrainingClientBuilder clientBuilder = - createClientBuilder(httpClient, serviceVersion, getEndpoint(), new AzureKeyCredential(getApiKey())) - .configuration(Configuration.getGlobalConfiguration()) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)); - testRunner.apply(clientBuilder).accept(URL_TEST_FILE_FORMAT + FORM_JPG); - } - - String getEndpoint() { - return interceptorManager.isPlaybackMode() - ? "https://localhost:8080" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_ENDPOINT); - } - - /** - * Create a client builder with endpoint and API key credential. - * - * @param endpoint the given endpoint - * @param credential the given {@link AzureKeyCredential} credential - * @return {@link FormTrainingClientBuilder} - */ - FormTrainingClientBuilder createClientBuilder(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion, - String endpoint, AzureKeyCredential credential) { - final FormTrainingClientBuilder clientBuilder = new FormTrainingClientBuilder() - .credential(credential) - .endpoint(endpoint) - .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) - .serviceVersion(serviceVersion); - - if (!interceptorManager.isPlaybackMode()) { - clientBuilder.addPolicy(interceptorManager.getRecordPolicy()); - } - - return clientBuilder; - } - - /** - * Get the string of API key value based on what running mode is on. - * - * @return the API key string - */ - String getApiKey() { - return interceptorManager.isPlaybackMode() ? "apiKeyInPlayback" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_API_KEY); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderUnitTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderUnitTest.java deleted file mode 100644 index 9926cdab6c575..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientBuilderUnitTest.java +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.credential.TokenCredential; -import com.azure.core.http.policy.FixedDelay; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.http.policy.RetryPolicy; -import com.azure.core.util.Configuration; -import org.junit.jupiter.api.Test; - -import java.time.Duration; -import java.util.Set; - -import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.VALID_HTTPS_LOCALHOST; -import static com.azure.ai.formrecognizer.TestUtils.VALID_HTTP_LOCALHOST; -import static com.azure.ai.formrecognizer.TestUtils.VALID_URL; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * Unit tests for Form Recognizer client builder - */ -public class FormTrainingClientBuilderUnitTest { - - /** - * Test for missing endpoint - */ - @Test - public void missingEndpointAsyncClient() { - assertThrows(NullPointerException.class, () -> { - final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); - builder.buildAsyncClient(); - }); - } - - /** - * Test for missing endpoint - */ - @Test - public void missingEndpoint() { - assertThrows(NullPointerException.class, () -> { - final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); - builder.buildClient(); - }); - } - - /** - * Test for invalid endpoint - */ - @Test - public void invalidProtocol() { - assertThrows(IllegalArgumentException.class, () -> { - final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); - builder.endpoint(TestUtils.INVALID_URL); - }); - } - - /** - * Test for null AzureKeyCredential - */ - @Test - public void nullAzureKeyCredential() { - AzureKeyCredential credential = null; - assertThrows(NullPointerException.class, () -> { - final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); - builder.endpoint(VALID_HTTPS_LOCALHOST).credential(credential); - }); - } - - /** - * Test for null AAD credential - */ - @Test - public void nullAADCredential() { - TokenCredential tokenCredential = null; - assertThrows(NullPointerException.class, () -> { - final FormTrainingClientBuilder builder = new FormTrainingClientBuilder(); - builder.endpoint(VALID_HTTPS_LOCALHOST).credential(tokenCredential); - }); - } - - /** - * Test for empty Key without any other authentication - */ - @Test - public void emptyKeyCredential() { - assertThrows(IllegalArgumentException.class, () -> new AzureKeyCredential("")); - } - - /** - * Test for http endpoint, which throws HTTPS requirement exception message. - */ - @Test - public void httpsProtocolRequiredException() { - FormRecognizerClientBuilder clientBuilder = new FormRecognizerClientBuilder() - .credential(new AzureKeyCredential(INVALID_KEY)).endpoint(VALID_HTTP_LOCALHOST) - .retryPolicy(new RetryPolicy(new FixedDelay(3, Duration.ofMillis(1)))) - .configuration(Configuration.getGlobalConfiguration()) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)); - - assertThrows(RuntimeException.class, () -> - clientBuilder.buildClient().beginRecognizeContentFromUrl(VALID_URL).getFinalResult()); - } - - @Test - public void getDefaultLogOptions() { - final HttpLogOptions recognizerClientDefaultLogOptions = FormRecognizerClientBuilder.getDefaultLogOptions(); - final HttpLogOptions trainingClientDefaultLogOptions = FormTrainingClientBuilder.getDefaultLogOptions(); - assertEquals(HttpLogDetailLevel.NONE, recognizerClientDefaultLogOptions.getLogLevel()); - - final Set allowedHeaderNames = recognizerClientDefaultLogOptions.getAllowedHeaderNames(); - assertTrue(allowedHeaderNames.contains("Operation-Location")); - assertTrue(allowedHeaderNames.contains("Location")); - assertTrue(allowedHeaderNames.contains("x-envoy-upstream-service-time")); - assertTrue(allowedHeaderNames.contains("apim-request-id")); - assertTrue(allowedHeaderNames.contains("Strict-Transport-Security")); - assertTrue(allowedHeaderNames.contains("x-content-type-options")); - assertTrue(allowedHeaderNames.contains("ms-azure-ai-errorcode")); - assertTrue(allowedHeaderNames.contains("x-ms-cs-error-code")); - - final Set allowedQueryParamNames = recognizerClientDefaultLogOptions.getAllowedQueryParamNames(); - assertTrue(allowedQueryParamNames.contains("includeTextDetails")); - assertTrue(allowedQueryParamNames.contains("locale")); - assertTrue(allowedQueryParamNames.contains("language")); - assertTrue(allowedQueryParamNames.contains("includeKeys")); - assertTrue(allowedQueryParamNames.contains("op")); - assertTrue(allowedQueryParamNames.contains("pages")); - assertTrue(allowedQueryParamNames.contains("readingOrder")); - - assertEquals(recognizerClientDefaultLogOptions.getLogLevel(), trainingClientDefaultLogOptions.getLogLevel()); - assertEquals(allowedHeaderNames, trainingClientDefaultLogOptions.getAllowedHeaderNames()); - assertEquals(allowedQueryParamNames, trainingClientDefaultLogOptions.getAllowedQueryParamNames()); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTest.java deleted file mode 100644 index 795bb31796a5e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTest.java +++ /dev/null @@ -1,765 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.models.CreateComposedModelOptions; -import com.azure.ai.formrecognizer.models.FormContentType; -import com.azure.ai.formrecognizer.models.FormPage; -import com.azure.ai.formrecognizer.models.FormRecognizerErrorInformation; -import com.azure.ai.formrecognizer.models.FormRecognizerException; -import com.azure.ai.formrecognizer.models.FormRecognizerOperationResult; -import com.azure.ai.formrecognizer.models.RecognizeContentOptions; -import com.azure.ai.formrecognizer.training.FormTrainingClient; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelInfo; -import com.azure.ai.formrecognizer.training.models.CustomFormModelStatus; -import com.azure.ai.formrecognizer.training.models.TrainingFileFilter; -import com.azure.ai.formrecognizer.training.models.TrainingOptions; -import com.azure.core.exception.HttpResponseException; -import com.azure.core.http.HttpClient; -import com.azure.core.http.rest.Response; -import com.azure.core.util.Context; -import com.azure.core.util.polling.SyncPoller; -import io.netty.handler.codec.http.HttpResponseStatus; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; - -import java.util.Arrays; -import java.util.List; - -import static com.azure.ai.formrecognizer.FormRecognizerClientTestBase.MODEL_ID_NOT_FOUND_ERROR_CODE; -import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_MODEL_ID; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_MODEL_ID_ERROR; -import static com.azure.ai.formrecognizer.TestUtils.NULL_SOURCE_URL_ERROR; -import static io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; - -public class FormTrainingClientTest extends FormTrainingClientTestBase { - private FormTrainingClient client; - - private FormTrainingClient getFormTrainingClient(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - return getFormTrainingClientBuilder(httpClient, serviceVersion).buildClient(); - } - - /** - * Verifies the form recognizer client is valid. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getFormRecognizerClientAndValidate(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - FormRecognizerClient formRecognizerClient = getFormTrainingClient(httpClient, serviceVersion) - .getFormRecognizerClient(); - blankPdfDataRunner((data, dataLength) -> { - SyncPoller> syncPoller = - formRecognizerClient.beginRecognizeContent(data, dataLength, - new RecognizeContentOptions() - .setContentType(FormContentType.APPLICATION_PDF) - .setPollInterval(durationTestMode), - Context.NONE); - syncPoller.waitForCompletion(); - assertNotNull(syncPoller.getFinalResult()); - }); - } - - /** - * Verifies that an exception is thrown for null model Id parameter. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelNullModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - assertThrows(NullPointerException.class, () -> client.getCustomModel(null)); - } - - /** - * Verifies that an exception is thrown for invalid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - Exception exception = assertThrows(IllegalArgumentException.class, () -> - getCustomModelInvalidModelIdRunner(invalidId -> client.getCustomModel(invalidId))); - assertEquals(INVALID_MODEL_ID_ERROR, exception.getMessage()); - } - - /** - * Verifies custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelWithResponse(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingDataSasUrl, useTrainingLabels) -> { - CustomFormModel trainedUnlabeledModel = client.beginTraining(trainingDataSasUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE).getFinalResult(); - Response customModelWithResponse = - client.getCustomModelWithResponse(trainedUnlabeledModel.getModelId(), - Context.NONE); - assertEquals(customModelWithResponse.getStatusCode(), HttpResponseStatus.OK.code()); - validateCustomModelData(customModelWithResponse.getValue(), false, false); - }); - } - - /** - * Verifies unlabeled custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelUnlabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel trainedUnlabeledModel = syncPoller.getFinalResult(); - validateCustomModelData(client.getCustomModel(trainedUnlabeledModel.getModelId()), false, false); - }); - } - - /** - * Verifies labeled custom model info returned with response for a valid model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void getCustomModelLabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingDataSASUrl, useTrainingLabels) -> { - CustomFormModel customFormModel = client.beginTraining(trainingDataSASUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE).getFinalResult(); - validateCustomModelData(client.getCustomModel(customFormModel.getModelId()), true, false); - }); - } - - /** - * Verifies account properties returned for a subscription account. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void validGetAccountProperties(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingClient(httpClient, serviceVersion); - validateAccountProperties(client.getAccountProperties()); - } - - /** - * Verifies account properties returned with an Http Response for a subscription account. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void validGetAccountPropertiesWithResponse(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingClient(httpClient, serviceVersion); - Response accountPropertiesResponse = client.getAccountPropertiesWithResponse(Context.NONE); - assertEquals(accountPropertiesResponse.getStatusCode(), HttpResponseStatus.OK.code()); - validateAccountProperties(accountPropertiesResponse.getValue()); - } - - /** - * Verifies that an exception is thrown for invalid status model Id. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - Exception exception = assertThrows(IllegalArgumentException.class, () -> - client.deleteModel(INVALID_MODEL_ID)); - assertEquals(INVALID_MODEL_ID_ERROR, exception.getMessage()); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelValidModelIdWithResponse(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingDataSASUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingDataSASUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - final Response deleteModelWithResponse = client.deleteModelWithResponse(createdModel.getModelId(), - Context.NONE); - assertEquals(deleteModelWithResponse.getStatusCode(), HttpResponseStatus.NO_CONTENT.code()); - final HttpResponseException exception = assertThrows(HttpResponseException.class, () -> - client.getCustomModelWithResponse(createdModel.getModelId(), Context.NONE)); - final FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) exception.getValue(); - assertEquals(MODEL_ID_NOT_FOUND_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void deleteModelValidModelIdWithResponseWithoutTrainingLabels(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingDataSASUrl, notUseTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingDataSASUrl, - notUseTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - final Response deleteModelWithResponse = client.deleteModelWithResponse(createdModel.getModelId(), - Context.NONE); - assertEquals(deleteModelWithResponse.getStatusCode(), HttpResponseStatus.NO_CONTENT.code()); - final HttpResponseException exception = assertThrows(HttpResponseException.class, () -> - client.getCustomModelWithResponse(createdModel.getModelId(), Context.NONE)); - final FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) exception.getValue(); - assertEquals(MODEL_ID_NOT_FOUND_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Test for listing all models information. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void listCustomModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingClient(httpClient, serviceVersion); - for (CustomFormModelInfo modelInfo : client.listCustomModels()) { - assertTrue(modelInfo.getModelId() != null && modelInfo.getTrainingStartedOn() != null - && modelInfo.getTrainingCompletedOn() != null && modelInfo.getStatus() != null); - } - } - - /** - * Test for listing all models information with {@link Context}. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void listCustomModelsWithContext(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // TODO (service bug): APIM error - client = getFormTrainingClient(httpClient, serviceVersion); - for (CustomFormModelInfo modelInfo : client.listCustomModels(Context.NONE)) { - assertTrue(modelInfo.getModelId() != null && modelInfo.getTrainingStartedOn() != null - && modelInfo.getTrainingCompletedOn() != null && modelInfo.getStatus() != null); - } - } - - /** - * Verifies that an exception is thrown for null source url input. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingNullInput(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - Exception exception = assertThrows(NullPointerException.class, () -> - client.beginTraining(null, false)); - assertEquals(NULL_SOURCE_URL_ERROR, exception.getMessage()); - } - - /** - * Verifies the result of the copy operation for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopy(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyRunner((resourceId, resourceRegion) -> { - CopyAuthorization target = - client.getCopyAuthorization(resourceId, resourceRegion); - SyncPoller copyPoller = client.beginCopyModel(actualModel.getModelId(), target, - durationTestMode, Context.NONE); - CustomFormModelInfo copyModel = copyPoller.getFinalResult(); - assertEquals(target.getModelId(), copyModel.getModelId()); - assertNotNull(actualModel.getTrainingStartedOn()); - assertNotNull(actualModel.getTrainingCompletedOn()); - assertEquals(CustomFormModelStatus.READY, copyModel.getStatus()); - }); - }); - } - - /** - * Verifies the Invalid region HttpResponseException is thrown for invalid region input to copy operation. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopyInvalidRegion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - final CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyInvalidRegionRunner((resourceId, resourceRegion) -> { - final CopyAuthorization target = client.getCopyAuthorization(resourceId, resourceRegion); - final HttpResponseException httpResponseException = assertThrows(HttpResponseException.class, - () -> client.beginCopyModel(actualModel.getModelId(), target)); - final FormRecognizerErrorInformation errorInformation = - (FormRecognizerErrorInformation) httpResponseException.getValue(); - assertEquals(COPY_REQUEST_INVALID_TARGET_RESOURCE_REGION_ERROR_CODE, - errorInformation.getErrorCode()); - }); - }); - } - - /** - * Verifies {@link FormRecognizerException} is thrown for invalid region input to copy operation. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCopyIncorrectRegion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel actualModel = syncPoller.getFinalResult(); - - beginCopyIncorrectRegionRunner((resourceId, resourceRegion) -> { - final CopyAuthorization target = client.getCopyAuthorization(resourceId, resourceRegion); - FormRecognizerException formRecognizerException = assertThrows(FormRecognizerException.class, - () -> client.beginCopyModel(actualModel.getModelId(), target, durationTestMode, Context.NONE) - .getFinalResult()); - assertTrue(formRecognizerException.getMessage().startsWith( - FormRecognizerClientTestBase.COPY_OPERATION_FAILED_STATUS_MESSAGE)); - }); - }); - } - - /** - * Verifies the result of the copy authorization for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void copyAuthorization(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginCopyRunner((resourceId, resourceRegion) -> validateCopyAuthorizationResult(resourceId, resourceRegion, - client.getCopyAuthorization(resourceId, resourceRegion))); - } - - /** - * Verifies the training operation throws FormRecognizerException when an invalid status model is returned. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - @Disabled - public void beginTrainingInvalidModelStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingInvalidModelStatusRunner((invalidTrainingFilesUrl, useTrainingLabels) -> { - FormRecognizerException formRecognizerException = assertThrows(FormRecognizerException.class, - () -> client.beginTraining(invalidTrainingFilesUrl, useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE) - .getFinalResult()); - FormRecognizerErrorInformation errorInformation = formRecognizerException.getErrorInformation().get(0); - assertEquals(INVALID_MODEL_STATUS_ERROR_CODE, errorInformation.getErrorCode()); - }); - } - - /** - * Verifies the result of the training operation for a valid labeled model Id and JPG training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), true, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and JPG training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid labeled model Id and multi-page PDF training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - true, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), true, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and multi-page PDF training set Url. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - false, new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and include subfolder training set - * Url with existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model ID and exclude subfolder training set - * URL with existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller trainingPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), Context.NONE); - trainingPoller.waitForCompletion(); - validateCustomModelData(trainingPoller.getFinalResult(), false, false); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and include subfolder training set - * Url with non-existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - FormRecognizerException thrown = assertThrows(FormRecognizerException.class, () -> - client.beginTraining(trainingFilesUrl, false, - new TrainingOptions() - .setPollInterval(durationTestMode) - .setTrainingFileFilter(new TrainingFileFilter() - .setSubfoldersIncluded(true) - .setPrefix(INVALID_PREFIX_FILE_NAME)), - Context.NONE).getFinalResult()); - assertEquals(NO_VALID_BLOB_FOUND_ERROR_CODE, thrown.getErrorInformation().get(0).getErrorCode()); - }); - } - - /** - * Verifies the result of the training operation for a valid unlabeled model Id and exclude subfolder training set - * Url with non-existing prefix name. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingMultipageRunner(trainingFilesUrl -> { - FormRecognizerException thrown = assertThrows(FormRecognizerException.class, () -> - client.beginTraining(trainingFilesUrl, false, - new TrainingOptions() - .setTrainingFileFilter(new TrainingFileFilter().setPrefix(INVALID_PREFIX_FILE_NAME)) - .setPollInterval(durationTestMode), Context.NONE) - .getFinalResult()); - assertEquals(NO_VALID_BLOB_FOUND_ERROR_CODE, thrown.getErrorInformation().get(0).getErrorCode()); - }); - } - - /** - * Verifies the result of the create composed model for valid parameters. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedModel(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - CustomFormModel composedModel = - client.beginCreateComposedModel( - modelIdList, - new CreateComposedModelOptions(), - Context.NONE) - .setPollInterval(durationTestMode).getFinalResult(); - - assertNotNull(composedModel.getModelId()); - assertNotNull(composedModel.getCustomModelProperties()); - assertTrue(composedModel.getCustomModelProperties().isComposed()); - assertEquals(2, (long) composedModel.getSubmodels().size()); - composedModel.getSubmodels().forEach(customFormSubmodel -> - assertTrue(modelIdList.contains(customFormSubmodel.getModelId()))); - validateCustomModelData(composedModel, false, true); - - client.deleteModel(model1.getModelId()); - client.deleteModel(model2.getModelId()); - client.deleteModel(composedModel.getModelId()); - }); - } - - /** - * Verifies the result of the create composed model for valid parameters with options. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedModelWithOptions(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions() - .setPollInterval(durationTestMode), - Context.NONE); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - CustomFormModel composedModel = - client.beginCreateComposedModel( - modelIdList, - new CreateComposedModelOptions().setModelName("composedModelDisplayName"), - Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult(); - - client.deleteModel(model1.getModelId()); - client.deleteModel(model2.getModelId()); - client.deleteModel(composedModel.getModelId()); - - assertNotNull(composedModel.getModelId()); - assertNotNull(composedModel.getCustomModelProperties()); - assertTrue(composedModel.getCustomModelProperties().isComposed()); - assertEquals("composedModelDisplayName", composedModel.getModelName()); - assertEquals(2, (long) composedModel.getSubmodels().size()); - composedModel.getSubmodels().forEach(customFormSubmodel -> - assertTrue(modelIdList.contains(customFormSubmodel.getModelId()))); - validateCustomModelData(composedModel, false, true); - }); - } - - /** - * Verifies the create composed model using unlabeled models fails. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedUnlabeledModel(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingUnlabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - SyncPoller syncPoller2 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller2.waitForCompletion(); - CustomFormModel model2 = syncPoller2.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - - final HttpResponseException httpResponseException - = assertThrows(HttpResponseException.class, () -> - client.beginCreateComposedModel( - modelIdList, - new CreateComposedModelOptions(), - Context.NONE).setPollInterval(durationTestMode)); - assertEquals(BAD_REQUEST.code(), httpResponseException.getResponse().getStatusCode()); - - client.deleteModel(model1.getModelId()); - client.deleteModel(model2.getModelId()); - }); - } - - /** - * Verifies the create composed model operation fails when supplied duplicate Ids. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginCreateComposedDuplicateModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller1 = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode), - Context.NONE); - syncPoller1.waitForCompletion(); - CustomFormModel model1 = syncPoller1.getFinalResult(); - - final List modelIdList = Arrays.asList(model1.getModelId(), model1.getModelId()); - HttpResponseException httpResponseException = - assertThrows(HttpResponseException.class, - () -> client.beginCreateComposedModel(modelIdList, new CreateComposedModelOptions(), Context.NONE) - .setPollInterval(durationTestMode) - .getFinalResult()); - assertEquals(BAD_REQUEST.code(), httpResponseException.getResponse().getStatusCode()); - - client.deleteModel(model1.getModelId()); - }); - } - - // APIM bug - 8404889 - // /** - // * Verifies the composed model attributes are returned when listing models. - // */ - // @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - // @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - // public void listComposedModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion) { - // client = getFormTrainingClient(httpClient, serviceVersion); - // beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - // SyncPoller syncPoller1 - // = client.beginTraining(trainingFilesUrl, - // useTrainingLabels, - // new TrainingOptions() - // .setPollInterval(durationTestMode), Context.NONE); - // syncPoller1.waitForCompletion(); - // CustomFormModel model1 = syncPoller1.getFinalResult(); - // - // SyncPoller syncPoller2 - // = client.beginTraining(trainingFilesUrl, - // useTrainingLabels, - // new TrainingOptions() - // .setPollInterval(durationTestMode), Context.NONE); - // syncPoller2.waitForCompletion(); - // CustomFormModel model2 = syncPoller2.getFinalResult(); - // - // final List modelIdList = Arrays.asList(model1.getModelId(), model2.getModelId()); - // - // CustomFormModel composedModel - // = client.beginCreateComposedModel( - // modelIdList, - // new CreateComposedModelOptions() - // .setModelDisplayName("composedModelDisplayName") - // .setPollInterval(durationTestMode), Context.NONE) - // .getFinalResult(); - // - // client.listCustomModels() - // .stream() - // .filter(customFormModelInfo -> - // Objects.equals(composedModel.getModelId(), customFormModelInfo.getModelId())) - // .forEach(customFormModelInfo -> { - // assertEquals("composedModelDisplayName", customFormModelInfo.getModelDisplayName()); - // assertTrue(customFormModelInfo.getCustomModelProperties().isComposed()); - // }); - // - // client.deleteModel(model1.getModelId()); - // client.deleteModel(model2.getModelId()); - // client.deleteModel(composedModel.getModelId()); - // }); - // } - - /** - * Verifies the result contains the user defined model display name for labeled model. - */ - @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) - @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") - public void beginTrainingLabeledModelDisplayName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - client = getFormTrainingClient(httpClient, serviceVersion); - beginTrainingLabeledRunner((trainingFilesUrl, useTrainingLabels) -> { - SyncPoller syncPoller = - client.beginTraining(trainingFilesUrl, - useTrainingLabels, - new TrainingOptions().setPollInterval(durationTestMode).setModelName("modelDisplayName"), - Context.NONE); - syncPoller.waitForCompletion(); - CustomFormModel createdModel = syncPoller.getFinalResult(); - - CustomFormModel customFormModel = client.getCustomModel(createdModel.getModelId()); - assertEquals("modelDisplayName", customFormModel.getModelName()); - - validateCustomModelData(createdModel, true, false); - }); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTestBase.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTestBase.java deleted file mode 100644 index 00e6669a7d5c6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/FormTrainingClientTestBase.java +++ /dev/null @@ -1,318 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.formrecognizer; - -import com.azure.ai.formrecognizer.training.FormTrainingClientBuilder; -import com.azure.ai.formrecognizer.training.models.AccountProperties; -import com.azure.ai.formrecognizer.training.models.CopyAuthorization; -import com.azure.ai.formrecognizer.training.models.CustomFormModel; -import com.azure.ai.formrecognizer.training.models.CustomFormModelStatus; -import com.azure.ai.formrecognizer.training.models.TrainingDocumentInfo; -import com.azure.ai.formrecognizer.training.models.TrainingStatus; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.HttpClient; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.test.TestBase; -import com.azure.core.test.TestMode; -import com.azure.core.util.Configuration; -import com.azure.identity.DefaultAzureCredentialBuilder; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.time.Duration; -import java.util.List; -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; -import static com.azure.ai.formrecognizer.TestUtils.INVALID_RECEIPT_URL; -import static com.azure.ai.formrecognizer.TestUtils.ONE_NANO_DURATION; -import static com.azure.ai.formrecognizer.TestUtils.TEST_DATA_PNG; -import static com.azure.ai.formrecognizer.implementation.Utility.DEFAULT_POLL_INTERVAL; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; - -public abstract class FormTrainingClientTestBase extends TestBase { - private static final String RESOURCE_ID = "FORM_RECOGNIZER_TARGET_RESOURCE_ID"; - private static final String RESOURCE_REGION = "FORM_RECOGNIZER_TARGET_RESOURCE_REGION"; - private static final String LOCAL_FILE_PATH = "src/test/resources/sample_files/Test/"; - - static final String AZURE_FORM_RECOGNIZER_API_KEY = "AZURE_FORM_RECOGNIZER_API_KEY"; - static final String AZURE_FORM_RECOGNIZER_ENDPOINT = "AZURE_FORM_RECOGNIZER_ENDPOINT"; - static final String FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL = - "FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL"; - static final String FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL = - "FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL"; - static final String FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL = - "FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL"; - static final String PREFIX_SUBFOLDER = "subfolder"; - static final String INVALID_PREFIX_FILE_NAME = "XXXXX"; - - // Error Code - static final String COPY_REQUEST_INVALID_TARGET_RESOURCE_REGION_ERROR_CODE = "1002"; - static final String INVALID_MODEL_STATUS_ERROR_CODE = "2012"; - static final String NO_VALID_BLOB_FOUND_ERROR_CODE = "2014"; - - Duration durationTestMode; - - /** - * Use duration of nearly zero value for PLAYBACK test mode, otherwise, use default duration value for LIVE mode. - */ - @Override - protected void beforeTest() { - if (interceptorManager.isPlaybackMode()) { - durationTestMode = ONE_NANO_DURATION; - } else { - durationTestMode = DEFAULT_POLL_INTERVAL; - } - } - - static void validateCopyAuthorizationResult(String expectedResourceId, String expectedResourceRegion, - CopyAuthorization actualResult) { - assertNotNull(actualResult.getModelId()); - assertNotNull(actualResult.getAccessToken()); - assertNotNull(actualResult.getExpiresOn()); - assertEquals(expectedResourceRegion, actualResult.getResourceRegion()); - assertEquals(expectedResourceId, actualResult.getResourceId()); - } - - FormTrainingClientBuilder getFormTrainingClientBuilder(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion) { - FormTrainingClientBuilder builder = new FormTrainingClientBuilder() - .endpoint(getEndpoint()) - .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) - .serviceVersion(serviceVersion) - .addPolicy(interceptorManager.getRecordPolicy()); - - if (getTestMode() == TestMode.PLAYBACK) { - builder.credential(new AzureKeyCredential(INVALID_KEY)); - } else { - builder.credential(new DefaultAzureCredentialBuilder().build()); - } - return builder; - } - - private static void validateTrainingDocumentsData(List actualTrainingDocuments) { - actualTrainingDocuments.forEach(actualTrainingDocument -> { - Assertions.assertNotNull(actualTrainingDocument.getName()); - Assertions.assertNotNull(actualTrainingDocument.getModelId()); - Assertions.assertNotNull(actualTrainingDocument.getPageCount()); - Assertions.assertEquals(TrainingStatus.SUCCEEDED, actualTrainingDocument.getStatus()); - Assertions.assertNotNull(actualTrainingDocument.getErrors()); - Assertions.assertEquals(0, actualTrainingDocument.getErrors().size()); - }); - } - - static void validateAccountProperties(AccountProperties actualAccountProperties) { - assertNotNull(actualAccountProperties.getCustomModelLimit()); - assertNotNull(actualAccountProperties.getCustomModelCount()); - } - - void validateCustomModelData(CustomFormModel actualCustomModel, boolean isLabeled, boolean isComposed) { - assertEquals(CustomFormModelStatus.READY, actualCustomModel.getModelStatus()); - assertNotNull(actualCustomModel.getTrainingStartedOn()); - assertNotNull(actualCustomModel.getTrainingCompletedOn()); - assertNotNull(actualCustomModel.getModelId()); - assertNotNull(actualCustomModel.getCustomModelProperties()); - if (!isComposed) { - assertFalse(actualCustomModel.getCustomModelProperties().isComposed()); - } - - actualCustomModel.getSubmodels().forEach(customFormSubmodel -> { - Assertions.assertNotNull(customFormSubmodel.getFormType()); - Assertions.assertNotNull(customFormSubmodel.getModelId()); - - customFormSubmodel.getFields().forEach((label, customFormModelField) -> { - Assertions.assertNotNull(customFormModelField.getName()); - if (isLabeled) { - Assertions.assertNotNull(customFormModelField.getAccuracy()); - } else if (!isComposed) { - Assertions.assertNotNull(customFormModelField.getLabel()); - } - }); - }); - validateTrainingDocumentsData(actualCustomModel.getTrainingDocuments()); - } - - @Test - abstract void getFormRecognizerClientAndValidate(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void getCustomModelNullModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void getCustomModelLabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void getCustomModelUnlabeled(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void getCustomModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void getCustomModelWithResponse(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void validGetAccountProperties(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void validGetAccountPropertiesWithResponse(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void deleteModelInvalidModelId(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void deleteModelValidModelIdWithResponse(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void listCustomModels(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingNullInput(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginCopy(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginCopyInvalidRegion(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void copyAuthorization(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingInvalidModelStatus(HttpClient httpClient, FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsForJPGTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - @Test - abstract void beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName(HttpClient httpClient, - FormRecognizerServiceVersion serviceVersion); - - void getCustomModelInvalidModelIdRunner(Consumer testRunner) { - testRunner.accept(TestUtils.INVALID_MODEL_ID); - } - - void beginTrainingLabeledRunner(BiConsumer testRunner) { - testRunner.accept(getTrainingFilesContainerUrl(), true); - } - - void beginTrainingUnlabeledRunner(BiConsumer testRunner) { - testRunner.accept(getTrainingFilesContainerUrl(), false); - } - - void beginCopyRunner(BiConsumer testRunner) { - testRunner.accept(getTargetResourceId(), getTargetResourceRegion()); - } - - void beginCopyInvalidRegionRunner(BiConsumer testRunner) { - testRunner.accept(getTargetResourceId(), "RESOURCE_REGION"); - } - - void beginCopyIncorrectRegionRunner(BiConsumer testRunner) { - testRunner.accept(getTargetResourceId(), "westus"); - } - - void beginTrainingInvalidModelStatusRunner(BiConsumer testRunner) { - testRunner.accept(INVALID_RECEIPT_URL, false); - } - - void beginTrainingMultipageRunner(Consumer testRunner) { - testRunner.accept(getMultipageTrainingFilesUrl()); - } - - /** - * Get the target resource Identifier based on the test running mode. - * - * @return the target resource Identifier - */ - String getTargetResourceId() { - return interceptorManager.isPlaybackMode() ? "resourceIdInPlayback" - : Configuration.getGlobalConfiguration().get(RESOURCE_ID); - } - - - /** - * Get the target resource region based on the test running mode. - * - * @return the target resource region - */ - String getTargetResourceRegion() { - return interceptorManager.isPlaybackMode() ? "resourceRegionInPlayback" - : Configuration.getGlobalConfiguration().get(RESOURCE_REGION); - } - - String getEndpoint() { - return interceptorManager.isPlaybackMode() - ? "https://localhost:8080" - : Configuration.getGlobalConfiguration().get(AZURE_FORM_RECOGNIZER_ENDPOINT); - } - - void blankPdfDataRunner(BiConsumer testRunner) { - final long fileLength = new File(LOCAL_FILE_PATH + BLANK_PDF).length(); - - if (interceptorManager.isPlaybackMode()) { - testRunner.accept(new ByteArrayInputStream(TEST_DATA_PNG.getBytes(StandardCharsets.UTF_8)), fileLength); - } else { - try { - testRunner.accept(new FileInputStream(LOCAL_FILE_PATH + BLANK_PDF), fileLength); - } catch (FileNotFoundException e) { - throw new RuntimeException("Local file not found.", e); - } - } - } - - private String getTrainingFilesContainerUrl() { - return interceptorManager.isPlaybackMode() - ? "https://isPlaybackmode" - : Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL); - } - - /** - * Get the training data set SAS Url value based on the test running mode. - * - * @return the training data set Url - */ - private String getMultipageTrainingFilesUrl() { - return interceptorManager.isPlaybackMode() - ? "https://isPlaybackmode" - : Configuration.getGlobalConfiguration().get(FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL); - } -} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/TestUtils.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/TestUtils.java index 7736e36e20546..8f776325f5d0b 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/TestUtils.java +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/TestUtils.java @@ -3,18 +3,13 @@ package com.azure.ai.formrecognizer; -import com.azure.core.exception.HttpResponseException; import com.azure.core.http.HttpClient; -import com.azure.core.test.InterceptorManager; import com.azure.core.util.Configuration; import com.azure.core.util.CoreUtils; -import com.azure.core.util.FluxUtil; -import com.azure.core.util.polling.SyncPoller; -import com.azure.core.util.serializer.JacksonAdapter; -import com.azure.core.util.serializer.SerializerAdapter; import org.junit.jupiter.params.provider.Arguments; -import reactor.test.StepVerifier; +import java.io.ByteArrayInputStream; +import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; @@ -23,42 +18,65 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.Consumer; import java.util.stream.Stream; -import static com.azure.ai.formrecognizer.FormRecognizerClientTestBase.ENCODED_EMPTY_SPACE; import static com.azure.core.test.TestBase.AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL; import static com.azure.core.test.TestBase.getHttpClients; -import static org.junit.jupiter.api.Assertions.assertEquals; /** * Contains helper methods for generating inputs for test methods */ -final class TestUtils { +public final class TestUtils { // Duration - static final Duration ONE_NANO_DURATION = Duration.ofMillis(1); + public static final Duration ONE_NANO_DURATION = Duration.ofMillis(1); + + public static final String DISPLAY_NAME_WITH_ARGUMENTS = "{displayName} with [{arguments}]"; + public static final String NON_EXIST_MODEL_ID = "00000000-0000-0000-0000-000000000000"; + // Local test files - static final String BLANK_PDF = "blank.pdf"; + public static final String BLANK_PDF = "blank.pdf"; static final String CONTENT_FORM_JPG = "Form_1.jpg"; - static final String TEST_DATA_PNG = "testData.png"; + public static final String TEST_DATA_PNG = "testData.png"; static final String SELECTION_MARK_PDF = "selectionMarkForm.pdf"; static final String CONTENT_GERMAN_PDF = "content_german.pdf"; - // Other resources - static final String DISPLAY_NAME_WITH_ARGUMENTS = "{displayName} with [{arguments}]"; + static final String RECEIPT_CONTOSO_JPG = "contoso-allinone.jpg"; + static final String RECEIPT_CONTOSO_PNG = "contoso-receipt.png"; + static final String INVOICE_6_PDF = "Invoice_6.pdf"; + static final String MULTIPAGE_INVOICE_PDF = "multipage_invoice1.pdf"; + static final String MULTIPAGE_RECEIPT_PDF = "multipage-receipt.pdf"; + static final String BUSINESS_CARD_JPG = "businessCard.jpg"; + static final String BUSINESS_CARD_PNG = "businessCard.png"; + static final String MULTIPAGE_BUSINESS_CARD_PDF = "business-card-multipage.pdf"; + static final String INVOICE_PDF = "Invoice_1.pdf"; + static final String MULTIPAGE_VENDOR_INVOICE_PDF = "multipage_vendor_invoice.pdf"; + static final String LICENSE_CARD_JPG = "license.jpg"; + static final String INVOICE_NO_SUB_LINE_PDF = "ErrorImage.tiff"; + static final String INVALID_URL = "htttttttps://localhost:8080"; + + static final String EXPECTED_MERCHANT_NAME = "Contoso"; + static final String MODEL_ID_IS_REQUIRED_EXCEPTION_MESSAGE = "'modelId' is required and cannot be null."; static final String FAKE_ENCODED_EMPTY_SPACE_URL = "https://fakeuri.com/blank%20space"; - static final String INVALID_IMAGE_URL_ERROR_CODE = "InvalidImageURL"; - static final String INVALID_KEY = "invalid key"; - static final String INVALID_MODEL_ID = "a0a3998a-4c4affe66b7"; - static final String INVALID_MODEL_ID_ERROR = "Invalid UUID string: " + INVALID_MODEL_ID; + public static final String INVALID_KEY = "invalid key"; static final String INVALID_RECEIPT_URL = "https://invalid.blob.core.windows.net/fr/contoso-allinone.jpg"; - static final String INVALID_SOURCE_URL_ERROR_CODE = "1003"; - static final String INVALID_URL = "htttttttps://localhost:8080"; - static final String NON_EXIST_MODEL_ID = "00000000-0000-0000-0000-000000000000"; - static final String NULL_SOURCE_URL_ERROR = "'trainingFilesUrl' cannot be null."; static final String URL_TEST_FILE_FORMAT = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/" + "master/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/sample_files/Test/"; - static final String VALID_HTTPS_LOCALHOST = "https://localhost:8080"; - static final String VALID_HTTP_LOCALHOST = "http://localhost:8080"; - static final String VALID_URL = "https://resources/contoso-allinone.jpg"; + public static final String LOCAL_FILE_PATH = "src/test/resources/sample_files/Test/"; + + public static final String FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL_CONFIGURATION = + Configuration.getGlobalConfiguration().get("FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL"); + public static final String FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL_CONFIGURATION = + Configuration.getGlobalConfiguration().get("FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL"); + public static final String AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION + = Configuration.getGlobalConfiguration().get("AZURE_FORM_RECOGNIZER_API_KEY"); + public static final String AZURE_FORM_RECOGNIZER_ENDPOINT_CONFIGURATION + = Configuration.getGlobalConfiguration().get("AZURE_FORM_RECOGNIZER_ENDPOINT"); + public static final String FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL_CONFIGURATION = + Configuration.getGlobalConfiguration() + .get("FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL"); + public static final String FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL_CONFIGURATION = + Configuration.getGlobalConfiguration().get("FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL"); private TestUtils() { } @@ -71,8 +89,108 @@ static InputStream getContentDetectionFileData(String localFileUrl) { } } - static SerializerAdapter getSerializerAdapter() { - return JacksonAdapter.createDefaultSerializerAdapter(); + static void localFilePathRunner(BiConsumer testRunner, String fileName) { + final long fileLength = new File(LOCAL_FILE_PATH + fileName).length(); + testRunner.accept(LOCAL_FILE_PATH + fileName, fileLength); + } + + static void invalidSourceUrlRunner(Consumer testRunner) { + testRunner.accept(TestUtils.INVALID_RECEIPT_URL); + } + + static void encodedBlankSpaceSourceUrlRunner(Consumer testRunner) { + testRunner.accept(FAKE_ENCODED_EMPTY_SPACE_URL); + } + + static void urlRunner(Consumer testRunner, String fileName) { + testRunner.accept(URL_TEST_FILE_FORMAT + fileName); + } + + static void damagedPdfDataRunner(BiConsumer testRunner) { + testRunner.accept(new ByteArrayInputStream(new byte[] {0x25, 0x50, 0x44, 0x46, 0x55, 0x55, 0x55}), 7); + } + + static void getDataRunnerHelper(BiConsumer testRunner, String fileName, boolean isPlaybackMode) { + final long fileLength = new File(LOCAL_FILE_PATH + fileName).length(); + + if (isPlaybackMode) { + testRunner.accept(new ByteArrayInputStream(TEST_DATA_PNG.getBytes(StandardCharsets.UTF_8)), fileLength); + } else { + try { + testRunner.accept(new FileInputStream(LOCAL_FILE_PATH + fileName), fileLength); + } catch (FileNotFoundException e) { + throw new RuntimeException("Local file not found.", e); + } + } + } + + public static void getTrainingDataContainerHelper(Consumer testRunner, boolean isPlaybackMode) { + testRunner.accept(getTrainingFilesContainerUrl(isPlaybackMode)); + } + + public static void getMultipageTrainingContainerHelper(Consumer testRunner, boolean isPlaybackMode) { + testRunner.accept(getMultipageTrainingSasUri(isPlaybackMode)); + } + + public static void getSelectionMarkTrainingContainerHelper(Consumer testRunner, boolean isPlaybackMode) { + testRunner.accept(getSelectionMarkTrainingSasUri(isPlaybackMode)); + } + + static void getTestingContainerHelper(Consumer testRunner, String fileName, boolean isPlaybackMode) { + testRunner.accept(getStorageTestingFileUrl(fileName, isPlaybackMode)); + } + + /** + * Get the testing data set SAS Url value based on the test running mode. + * + * @return the testing data set Url + * @param isPlaybackMode boolean to indicate if the test running in playback mode + */ + private static String getTestingSasUri(boolean isPlaybackMode) { + return isPlaybackMode ? "https://isPlaybackmode" : FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL_CONFIGURATION; + } + + /** + * Prepare the file url from the testing data set SAS Url value. + * + * @return the testing data specific file Url + */ + private static String getStorageTestingFileUrl(String fileName, boolean isPlaybackMode) { + if (isPlaybackMode) { + return "https://isPlaybackmode"; + } else { + final String[] urlParts = getTestingSasUri(isPlaybackMode).split("\\?"); + return urlParts[0] + "/" + fileName + "?" + urlParts[1]; + } + } + + /** + * Get the training data set SAS Url value based on the test running mode. + * + * @return the training data set Url + */ + private static String getTrainingFilesContainerUrl(boolean isPlaybackMode) { + return isPlaybackMode ? "https://isPlaybackmode" : FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL_CONFIGURATION; + } + + /** + * Get the multipage training data set SAS Url value based on the test running mode. + * + * @return the multipgae training data set Url + */ + private static String getMultipageTrainingSasUri(boolean isPlaybackMode) { + return isPlaybackMode + ? "https://isPlaybackmode" : FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL_CONFIGURATION; + } + + /** + * Get the selection marks training data set SAS Url value based on the test running mode. + * + * @return the selection marks training data set Url + */ + private static String getSelectionMarkTrainingSasUri(boolean isPlaybackMode) { + return isPlaybackMode + ? "https://isPlaybackmode" : FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL_CONFIGURATION; } /** @@ -85,12 +203,12 @@ static Stream getTestParameters() { // when this issues is closed, the newer version of junit will have better support for // cartesian product of arguments - https://github.com/junit-team/junit5/issues/1427 List argumentsList = new ArrayList<>(); + List serviceVersions = new ArrayList<>(); + serviceVersions.add(DocumentAnalysisServiceVersion.V2021_09_30_PREVIEW); getHttpClients() - .forEach(httpClient -> { - Arrays.stream(FormRecognizerServiceVersion.values()).filter( + .forEach(httpClient -> serviceVersions.stream().filter( TestUtils::shouldServiceVersionBeTested) - .forEach(serviceVersion -> argumentsList.add(Arguments.of(httpClient, serviceVersion))); - }); + .forEach(serviceVersion -> argumentsList.add(Arguments.of(httpClient, serviceVersion)))); return argumentsList.stream(); } @@ -99,7 +217,7 @@ static Stream getTestParameters() { * *
    *
  • Using latest service version as default if no environment variable is set.
  • - *
  • If it's set to ALL, all Service versions in {@link FormRecognizerServiceVersion} will be tested.
  • + *
  • If it's set to ALL, all Service versions in {@link DocumentAnalysisServiceVersion} will be tested.
  • *
  • Otherwise, Service version string should match env variable.
  • *
* @@ -110,11 +228,11 @@ static Stream getTestParameters() { * @param serviceVersion ServiceVersion needs to check * @return Boolean indicates whether filters out the service version or not. */ - private static boolean shouldServiceVersionBeTested(FormRecognizerServiceVersion serviceVersion) { + private static boolean shouldServiceVersionBeTested(DocumentAnalysisServiceVersion serviceVersion) { String serviceVersionFromEnv = Configuration.getGlobalConfiguration().get("AZURE_FORM_RECOGNIZER_TEST_SERVICE_VERSIONS"); if (CoreUtils.isNullOrEmpty(serviceVersionFromEnv)) { - return FormRecognizerServiceVersion.getLatest().equals(serviceVersion); + return DocumentAnalysisServiceVersion.getLatest().equals(serviceVersion); } if (AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL.equalsIgnoreCase(serviceVersionFromEnv)) { return true; @@ -123,19 +241,5 @@ private static boolean shouldServiceVersionBeTested(FormRecognizerServiceVersion return Arrays.stream(configuredServiceVersionList).anyMatch(configuredServiceVersion -> serviceVersion.getVersion().equals(configuredServiceVersion.trim())); } - - static void validateExceptionSource(HttpResponseException errorResponseException) { - StepVerifier.create(FluxUtil.collectBytesInByteBufferStream( - errorResponseException.getResponse().getRequest().getBody())) - .assertNext(bytes -> assertEquals(ENCODED_EMPTY_SPACE, new String(bytes, StandardCharsets.UTF_8))) - .verifyComplete(); - } - - static SyncPoller setSyncPollerPollInterval(SyncPoller syncPoller, - InterceptorManager interceptorManager) { - return interceptorManager.isPlaybackMode() - ? syncPoller.setPollInterval(Duration.ofMillis(1)) - : syncPoller; - } } diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClientTest.java new file mode 100644 index 0000000000000..f74b12be47906 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationAsyncClientTest.java @@ -0,0 +1,319 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.DocumentAnalysisAsyncClient; +import com.azure.ai.formrecognizer.DocumentAnalysisServiceVersion; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.implementation.util.Utility; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpClient; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.SyncPoller; +import io.netty.handler.codec.http.HttpResponseStatus; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + +public class DocumentModelAdministrationAsyncClientTest extends DocumentModelAdministrationClientTestBase { + private DocumentModelAdministrationAsyncClient client; + + @BeforeAll + static void beforeAll() { + StepVerifier.setDefaultTimeout(Duration.ofSeconds(30)); + } + + @AfterAll + static void afterAll() { + StepVerifier.resetDefaultTimeout(); + } + + private DocumentModelAdministrationAsyncClient getDocumentModelAdminAsyncClient(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + return getDocumentModelAdminClientBuilder(httpClient, serviceVersion).buildAsyncClient(); + } + + /** + * Verifies the document analysis async client is valid. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getDocumentAnalysisClientAndValidate(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = + getDocumentModelAdminAsyncClient(httpClient, serviceVersion) + .getDocumentAnalysisAsyncClient(); + blankPdfDataRunner((data, dataLength) -> { + SyncPoller syncPoller = + documentAnalysisAsyncClient.beginAnalyzeDocument("prebuilt-receipt", Utility.toFluxByteBuffer(data), dataLength) + .getSyncPoller(); + syncPoller.waitForCompletion(); + assertNotNull(syncPoller.getFinalResult()); + }); + } + + /** + * Verifies account properties returned for a subscription account. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void validGetAccountProperties(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.getAccountProperties()) + .assertNext(DocumentModelAdministrationClientTestBase::validateAccountProperties) + .verifyComplete(); + } + + /** + * Verifies account properties returned with an Http Response for a subscription account. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void validGetAccountPropertiesWithResponse(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.getAccountProperties()) + .assertNext(DocumentModelAdministrationClientTestBase::validateAccountProperties) + .verifyComplete(); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void deleteModelValidModelIdWithResponse(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller1.waitForCompletion(); + DocumentModel createdModel = syncPoller1.getFinalResult(); + + StepVerifier.create(client.deleteModelWithResponse(createdModel.getModelId())) + .assertNext(response -> assertEquals(response.getStatusCode(), HttpResponseStatus.NO_CONTENT.code())) + .verifyComplete(); + + StepVerifier.create(client.getModelWithResponse(createdModel.getModelId())) + .verifyErrorSatisfies(throwable -> { + assertEquals(HttpResponseException.class, throwable.getClass()); + final FormRecognizerError errorInformation = (FormRecognizerError) + ((HttpResponseException) throwable).getValue(); + assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + }); + }); + } + + /** + * Verifies the result of the copy authorization for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void copyAuthorization(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.getCopyAuthorization("java_copy_model_test")) + .assertNext(DocumentModelAdministrationClientTestBase::validateCopyAuthorizationResult) + .verifyComplete(); + + StepVerifier.create(client.deleteModel("java_copy_model_test")).verifyComplete(); + } + + /** + * Verifies the result of the create composed model for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginCreateComposedModel(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, "component_model_1") + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller1.waitForCompletion(); + DocumentModel createdModel1 = syncPoller1.getFinalResult(); + + SyncPoller syncPoller2 = + client.beginBuildModel(trainingFilesUrl, "component_model_2") + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller2.waitForCompletion(); + DocumentModel createdModel2 = syncPoller2.getFinalResult(); + + final List modelIdList = Arrays.asList(createdModel1.getModelId(), createdModel2.getModelId()); + + DocumentModel composedModel = client.beginCreateComposedModel(modelIdList, "java_composed_model", + new CreateComposedModelOptions().setDescription("test desc")) + .setPollInterval(durationTestMode) + .getSyncPoller().getFinalResult(); + + assertNotNull(composedModel.getModelId()); + assertEquals("test desc", composedModel.getDescription()); + assertEquals(2, composedModel.getDocTypes().size()); + validateDocumentModelData(composedModel); + + client.deleteModel(createdModel1.getModelId()).block(); + client.deleteModel(createdModel2.getModelId()).block(); + client.deleteModel(composedModel.getModelId()).block(); + }); + } + + /** + * Verifies the result of building a document analysis model. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void beginBuildModel(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller1.waitForCompletion(); + DocumentModel createdModel1 = syncPoller1.getFinalResult(); + + validateDocumentModelData(createdModel1); + client.deleteModel(createdModel1.getModelId()).block(); + }); + } + + /** + * Verifies the result of the copy operation for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void beginCopy(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller1.waitForCompletion(); + DocumentModel actualModel = syncPoller1.getFinalResult(); + + Mono targetMono = client.getCopyAuthorization(null); + CopyAuthorization target = targetMono.block(); + if (actualModel == null) { + fail(); + return; + } + + PollerFlux copyPoller = + client.beginCopyModel(actualModel.getModelId(), target).setPollInterval(durationTestMode); + DocumentModel copiedModel = copyPoller.getSyncPoller().getFinalResult(); + Assertions.assertEquals(target.getTargetModelId(), copiedModel.getModelId()); + + client.deleteModel(actualModel.getModelId()).block(); + client.deleteModel(copiedModel.getModelId()).block(); + }); + } + + /** + * Test for listing all models information. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void listModels(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.listModels().byPage().take(4)) + .thenConsumeWhile(documentModelInfoPagedResponse -> { + documentModelInfoPagedResponse.getValue() + .forEach(documentModelInfo -> { + assertNotNull(documentModelInfo.getModelId()); + assertNotNull(documentModelInfo.getCreatedOn()); + }); + return true; + }).verifyComplete(); + } + + /** + * Verifies that an exception is thrown for null model ID parameter. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getModelNullModelId(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.getModel(null)).verifyError(); + } + + /** + * Verifies document model info returned with response for a valid model ID. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getModelWithResponse(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode).getSyncPoller(); + syncPoller1.waitForCompletion(); + DocumentModel createdModel = syncPoller1.getFinalResult(); + + StepVerifier.create(client.getModelWithResponse(createdModel.getModelId())) + .assertNext(documentModelResponse -> { + assertEquals(documentModelResponse.getStatusCode(), HttpResponseStatus.OK.code()); + validateDocumentModelData(documentModelResponse.getValue()); + }); + }); + } + + /** + * Test for listing all operations' information. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void listOperations(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdminAsyncClient(httpClient, serviceVersion); + List operationIdList = new ArrayList<>(); + StepVerifier.create(client.listOperations().byPage().take(10)) + .thenConsumeWhile(modelOperationInfoPagedResponse -> { + modelOperationInfoPagedResponse.getValue().forEach(modelOperationInfo -> { + operationIdList.add(modelOperationInfo.getOperationId()); + assertTrue(modelOperationInfo.getOperationId() != null + && modelOperationInfo.getStatus() != null + && modelOperationInfo.getCreatedOn() != null + && modelOperationInfo.getLastUpdatedOn() != null + && modelOperationInfo.getResourceLocation() != null + && modelOperationInfo.getPercentCompleted() != null); + }); + return true; + }) + .verifyComplete(); + + if (!CoreUtils.isNullOrEmpty(operationIdList)) { + operationIdList.forEach(operationId -> StepVerifier.create(client.getOperation(operationId)) + .assertNext(modelOperation -> { + assertNotNull(modelOperation.getModelId()); + assertNotNull(modelOperation.getCreatedOn()); + }) + .verifyComplete()); + } + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTest.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTest.java new file mode 100644 index 0000000000000..0188c71f22454 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTest.java @@ -0,0 +1,398 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + +import com.azure.ai.formrecognizer.DocumentAnalysisClient; +import com.azure.ai.formrecognizer.DocumentAnalysisServiceVersion; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.BuildModelOptions; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.CreateComposedModelOptions; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.ai.formrecognizer.administration.models.DocumentModelInfo; +import com.azure.ai.formrecognizer.administration.models.FormRecognizerError; +import com.azure.ai.formrecognizer.models.AnalyzeResult; +import com.azure.ai.formrecognizer.models.DocumentOperationResult; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.http.HttpClient; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; +import io.netty.handler.codec.http.HttpResponseStatus; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import java.util.Arrays; +import java.util.List; + +import static com.azure.ai.formrecognizer.TestUtils.DISPLAY_NAME_WITH_ARGUMENTS; +import static com.azure.ai.formrecognizer.TestUtils.NON_EXIST_MODEL_ID; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + +public class DocumentModelAdministrationClientTest extends DocumentModelAdministrationClientTestBase { + private DocumentModelAdministrationClient client; + + private DocumentModelAdministrationClient getDocumentModelAdministrationClient(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + return getDocumentModelAdminClientBuilder(httpClient, serviceVersion).buildClient(); + } + + /** + * Verifies the form recognizer client is valid. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getDocumentAnalysisClientAndValidate(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + DocumentAnalysisClient documentAnalysisClient = getDocumentModelAdministrationClient(httpClient, serviceVersion) + .getDocumentAnalysisClient(); + blankPdfDataRunner((data, dataLength) -> { + SyncPoller syncPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", data, dataLength) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + assertNotNull(syncPoller.getFinalResult()); + }); + } + + /** + * Verifies that an exception is thrown for null model ID parameter. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getModelNullModelID(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + assertThrows(IllegalArgumentException.class, () -> client.getModel(null)); + } + + /** + * Verifies that an exception is thrown for invalid model ID. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getModelNonExistingModelID(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + HttpResponseException exception = assertThrows(HttpResponseException.class, () -> + client.getModel(NON_EXIST_MODEL_ID)); + final FormRecognizerError errorInformation = + (FormRecognizerError) exception.getValue(); + assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + } + + /** + * Verifies custom model info returned with response for a valid model ID. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void getModelWithResponse(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingDataSasUrl) -> { + DocumentModel documentModel = + client.beginBuildModel(trainingDataSasUrl, null) + .setPollInterval(durationTestMode).getFinalResult(); + Response documentModelResponse = + client.getModelWithResponse(documentModel.getModelId(), + Context.NONE); + client.deleteModel(documentModel.getModelId()); + + assertEquals(documentModelResponse.getStatusCode(), HttpResponseStatus.OK.code()); + validateDocumentModelData(documentModelResponse.getValue()); + }); + } + + /** + * Verifies account properties returned for a subscription account. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void validGetAccountProperties(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + validateAccountProperties(client.getAccountProperties()); + } + + /** + * Verifies account properties returned with an Http Response for a subscription account. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void validGetAccountPropertiesWithResponse(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + Response accountPropertiesResponse = client.getAccountPropertiesWithResponse(Context.NONE); + assertEquals(accountPropertiesResponse.getStatusCode(), HttpResponseStatus.OK.code()); + validateAccountProperties(accountPropertiesResponse.getValue()); + } + + /** + * Verifies that an exception is thrown for invalid status model ID. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void deleteModelNonExistingModelID(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + HttpResponseException exception = assertThrows(HttpResponseException.class, () -> + client.deleteModel(NON_EXIST_MODEL_ID)); + final FormRecognizerError errorInformation = + (FormRecognizerError) exception.getValue(); + assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void deleteModelValidModelIDWithResponse(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingDataSasUrl) -> { + SyncPoller syncPoller = + client.beginBuildModel(trainingDataSasUrl, null) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + DocumentModel createdModel = syncPoller.getFinalResult(); + + final Response deleteModelWithResponse + = client.deleteModelWithResponse(createdModel.getModelId(), Context.NONE); + + assertEquals(deleteModelWithResponse.getStatusCode(), HttpResponseStatus.NO_CONTENT.code()); + final HttpResponseException exception = assertThrows(HttpResponseException.class, () -> + client.getModelWithResponse(createdModel.getModelId(), Context.NONE)); + final FormRecognizerError errorInformation = + (FormRecognizerError) exception.getValue(); + assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + }); + } + + /** + * Test for listing all models information. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void listModels(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + int pageCount = 0; + for (PagedResponse documentModelInfoPagedResponse : client.listModels().iterableByPage()) { + List modelInfoList = documentModelInfoPagedResponse.getValue(); + modelInfoList.forEach(documentModelInfo -> { + assertNotNull(documentModelInfo.getModelId()); + assertNotNull(documentModelInfo.getCreatedOn()); + }); + pageCount++; + if (pageCount > 4) { + // Stop after 4 pages since there can be large number of models. + break; + } + } + } + + /** + * Test for listing all models information with {@link Context}. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void listModelsWithContext(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + int pageCount = 0; + for (PagedResponse documentModelInfoPagedResponse + : client.listModels(Context.NONE).iterableByPage()) { + List modelInfoList = documentModelInfoPagedResponse.getValue(); + modelInfoList.forEach(documentModelInfo -> { + assertNotNull(documentModelInfo.getModelId()); + assertNotNull(documentModelInfo.getCreatedOn()); + }); + pageCount++; + if (pageCount > 4) { + // Stop after 4 pages since there can be large number of models. + break; + } + } + } + + /** + * Verifies that an exception is thrown for null source url input. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void beginBuildModelNullInput(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + Exception exception = assertThrows(NullPointerException.class, () -> + client.beginBuildModel(null, null)); + assertEquals("'trainingFilesUrl' cannot be null.", exception.getMessage()); + } + + /** + * Verifies the result of the copy operation for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginCopy(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + syncPoller.waitForCompletion(); + DocumentModel actualModel = syncPoller.getFinalResult(); + + CopyAuthorization target = + client.getCopyAuthorization(null); + SyncPoller + copyPoller = client.beginCopyModel(actualModel.getModelId(), target) + .setPollInterval(durationTestMode); + DocumentModel copiedModel = copyPoller.getFinalResult(); + + Assertions.assertEquals(target.getTargetModelId(), copiedModel.getModelId()); + client.deleteModel(actualModel.getModelId()); + client.deleteModel(copiedModel.getModelId()); + }); + } + + /** + * Verifies the result of the copy authorization for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + public void copyAuthorization(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + validateCopyAuthorizationResult(client.getCopyAuthorization(null)); + } + + /** + * Verifies the result of the training operation for a valid labeled model ID and JPG training set Url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginBuildModelWithJPGTrainingSet(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + validateDocumentModelData(buildModelPoller.getFinalResult()); + }); + } + + /** + * Verifies the result of the training operation for a valid labeled model ID and multi-page PDF training set Url. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginBuildModelWithMultiPagePDFTrainingSet(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + multipageTrainingRunner(trainingFilesUrl -> { + SyncPoller buildModelPoller = + client.beginBuildModel(trainingFilesUrl, null) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + validateDocumentModelData(buildModelPoller.getFinalResult()); + }); + } + + /** + * Verifies the result of the training operation for a valid unlabeled model ID and include subfolder training set + * Url with existing prefix name. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginBuildModelIncludeSubfolderWithPrefixName(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // "innererror": { + // "code": "TrainingContentMissing", + // "message": "Training data is missing: Could not find any training data at the given path." + // } + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller buildModelPoller = + client.beginBuildModel(trainingFilesUrl, null, + new BuildModelOptions().setPrefix("subfolder"), Context.NONE) + .setPollInterval(durationTestMode); + buildModelPoller.waitForCompletion(); + + validateDocumentModelData(buildModelPoller.getFinalResult()); + }); + } + + /** + * Verifies the result of the training operation for a valid unlabeled model ID and include subfolder training set + * Url with non-existing prefix name. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginBuildModelIncludeSubfolderWithNonExistPrefixName(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + // confirm + // "code": "TrainingContentMissing", + // "message": "Training data is missing: Could not find any training data at the given path." + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + multipageTrainingRunner(trainingFilesUrl -> { + HttpResponseException exception = assertThrows(HttpResponseException.class, () -> + client.beginBuildModel(trainingFilesUrl, null, + new BuildModelOptions().setPrefix("subfolder"), Context.NONE) + .setPollInterval(durationTestMode)); + + final FormRecognizerError errorInformation = + (FormRecognizerError) exception.getValue(); + assertEquals("ModelNotFound", errorInformation.getInnerError().getCode()); + }); + } + + /** + * Verifies the result of the create composed model for valid parameters. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.ai.formrecognizer.TestUtils#getTestParameters") + @Disabled + public void beginCreateComposedModel(HttpClient httpClient, DocumentAnalysisServiceVersion serviceVersion) { + // TODO: (https://github.com/Azure/azure-sdk-for-java-pr/issues/1353) + client = getDocumentModelAdministrationClient(httpClient, serviceVersion); + buildModelRunner((trainingFilesUrl) -> { + SyncPoller syncPoller1 = + client.beginBuildModel(trainingFilesUrl, "sync_component_model_1") + .setPollInterval(durationTestMode); + syncPoller1.waitForCompletion(); + DocumentModel createdModel1 = syncPoller1.getFinalResult(); + + SyncPoller syncPoller2 = + client.beginBuildModel(trainingFilesUrl, "sync_component_model_2") + .setPollInterval(durationTestMode); + syncPoller2.waitForCompletion(); + DocumentModel createdModel2 = syncPoller2.getFinalResult(); + + final List modelIDList = Arrays.asList(createdModel1.getModelId(), createdModel2.getModelId()); + + DocumentModel composedModel = + client.beginCreateComposedModel(modelIDList, + "sync_java_composed_model", + new CreateComposedModelOptions().setDescription("test desc"), + Context.NONE) + .setPollInterval(durationTestMode) + .getFinalResult(); + + assertNotNull(composedModel.getModelId()); + assertEquals("test desc", composedModel.getDescription()); + assertEquals(2, composedModel.getDocTypes().size()); + validateDocumentModelData(composedModel); + + client.deleteModel(createdModel1.getModelId()); + client.deleteModel(createdModel2.getModelId()); + client.deleteModel(composedModel.getModelId()); + }); + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTestBase.java b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTestBase.java new file mode 100644 index 0000000000000..0fef17fd1c12f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/java/com/azure/ai/formrecognizer/administration/DocumentModelAdministrationClientTestBase.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.formrecognizer.administration; + + +import com.azure.ai.formrecognizer.DocumentAnalysisServiceVersion; +import com.azure.ai.formrecognizer.TestUtils; +import com.azure.ai.formrecognizer.administration.models.AccountProperties; +import com.azure.ai.formrecognizer.administration.models.CopyAuthorization; +import com.azure.ai.formrecognizer.administration.models.DocumentModel; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.test.TestBase; +import com.azure.core.test.TestMode; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +import static com.azure.ai.formrecognizer.TestUtils.AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION; +import static com.azure.ai.formrecognizer.TestUtils.AZURE_FORM_RECOGNIZER_ENDPOINT_CONFIGURATION; +import static com.azure.ai.formrecognizer.TestUtils.BLANK_PDF; +import static com.azure.ai.formrecognizer.TestUtils.INVALID_KEY; +import static com.azure.ai.formrecognizer.TestUtils.LOCAL_FILE_PATH; +import static com.azure.ai.formrecognizer.TestUtils.ONE_NANO_DURATION; +import static com.azure.ai.formrecognizer.TestUtils.TEST_DATA_PNG; +import static com.azure.ai.formrecognizer.implementation.util.Constants.DEFAULT_POLL_INTERVAL; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +public abstract class DocumentModelAdministrationClientTestBase extends TestBase { + Duration durationTestMode; + + /** + * Use duration of nearly zero value for PLAYBACK test mode, otherwise, use default duration value for LIVE mode. + */ + @Override + protected void beforeTest() { + durationTestMode = interceptorManager.isPlaybackMode() ? ONE_NANO_DURATION : DEFAULT_POLL_INTERVAL; + } + + DocumentModelAdministrationClientBuilder getDocumentModelAdminClientBuilder(HttpClient httpClient, + DocumentAnalysisServiceVersion serviceVersion) { + DocumentModelAdministrationClientBuilder builder = new DocumentModelAdministrationClientBuilder() + .endpoint(getEndpoint()) + .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) + .serviceVersion(serviceVersion) + .addPolicy(interceptorManager.getRecordPolicy()); + + if (getTestMode() == TestMode.PLAYBACK) { + builder.credential(new AzureKeyCredential(INVALID_KEY)); + } else { + builder.credential(new AzureKeyCredential(AZURE_FORM_RECOGNIZER_API_KEY_CONFIGURATION)); + } + return builder; + } + + static void validateCopyAuthorizationResult(CopyAuthorization actualResult) { + assertNotNull(actualResult.getTargetModelId()); + assertNotNull(actualResult.getExpiresOn()); + assertNotNull(actualResult.getTargetResourceRegion()); + assertNotNull(actualResult.getTargetResourceId()); + assertNotNull(actualResult.getTargetResourceId()); + } + + static void validateAccountProperties(AccountProperties actualAccountProperties) { + assertNotNull(actualAccountProperties.getDocumentModelLimit()); + assertNotNull(actualAccountProperties.getDocumentModelCount()); + } + + void validateDocumentModelData(DocumentModel actualCustomModel) { + assertNotNull(actualCustomModel.getCreatedOn()); + assertNotNull(actualCustomModel.getModelId()); + + actualCustomModel.getDocTypes().forEach((s, docTypeInfo) -> assertNotNull(docTypeInfo.getFieldSchema())); + } + + void blankPdfDataRunner(BiConsumer testRunner) { + final long fileLength = new File(LOCAL_FILE_PATH + BLANK_PDF).length(); + + if (interceptorManager.isPlaybackMode()) { + testRunner.accept(new ByteArrayInputStream(TEST_DATA_PNG.getBytes(StandardCharsets.UTF_8)), fileLength); + } else { + try { + testRunner.accept(new FileInputStream(LOCAL_FILE_PATH + BLANK_PDF), fileLength); + } catch (FileNotFoundException e) { + throw new RuntimeException("Local file not found.", e); + } + } + } + + void buildModelRunner(Consumer testRunner) { + TestUtils.getTrainingDataContainerHelper(testRunner, interceptorManager.isPlaybackMode()); + } + + void multipageTrainingRunner(Consumer testRunner) { + TestUtils.getMultipageTrainingContainerHelper(testRunner, interceptorManager.isPlaybackMode()); + } + + String getEndpoint() { + return interceptorManager.isPlaybackMode() + ? "https://localhost:8080" + : AZURE_FORM_RECOGNIZER_ENDPOINT_CONFIGURATION; + } +} diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..d10601a11ff10 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7bf0ebe5-c590-4d08-8083-4852ab4228be", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "209", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "608bb96b-1474-4123-b3cf-ea43e5d94842", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/608bb96b-1474-4123-b3cf-ea43e5d94842?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:34 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/608bb96b-1474-4123-b3cf-ea43e5d94842?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d3763cdf-8dbd-46d6-837b-928ef3b7441d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "149", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d290b3db-5972-4704-be49-b20e3db40169", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:40 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/608bb96b-1474-4123-b3cf-ea43e5d94842?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d7d462b4-0778-47b5-8335-785e910bed6b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "148", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "66299756-7a3a-452b-88a6-60fd7da3c268", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..11dae571384b8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ccacdf7d-dbd6-4a6d-83b6-869b76f6ada7", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "709", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1c97192f-d05b-4e88-8fbc-6fcc60fa70ef", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1c97192f-d05b-4e88-8fbc-6fcc60fa70ef?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1c97192f-d05b-4e88-8fbc-6fcc60fa70ef?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f46341fd-eda4-4845-9dbf-86e149bf3671" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a3b23f97-238f-4de8-a189-e256039b5fc1", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:01Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1c97192f-d05b-4e88-8fbc-6fcc60fa70ef?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c31f8451-f073-4a3e-abcc-13e0069fe3d2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "176a2d33-2a37-43c2-b31d-64dbc9b4c3c0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:01Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithPngFile[1].json new file mode 100644 index 0000000000000..fc2b671a6c7c1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardDataWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3c1ddf31-9f0d-404e-9b89-01cfb21dfc70", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1309", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "aed5feb8-f1bc-4318-b788-24e34586dc5f", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/aed5feb8-f1bc-4318-b788-24e34586dc5f?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:54 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/aed5feb8-f1bc-4318-b788-24e34586dc5f?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "204ca640-fabc-4457-b90d-a77f71af9086" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "163", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "eb3266ca-8024-476a-9f57-d425ec75dc82", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:54Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/aed5feb8-f1bc-4318-b788-24e34586dc5f?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b32e7532-99e4-4b3a-a972-517037c3dc28" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "142", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7993dc3d-4a81-4918-8bf5-3108b7eff8b6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:54Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardData[1].json new file mode 100644 index 0000000000000..0aa7f471928c5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "73d48eee-1193-42c0-a224-910903a73955", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "593", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "64f227b2-1b12-471c-9e44-272c34590c35", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/64f227b2-1b12-471c-9e44-272c34590c35?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:56 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/64f227b2-1b12-471c-9e44-272c34590c35?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "30a0a091-7b36-48f2-9644-dad14f9df3be" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "141", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f40b37d6-fb16-4cda-a29e-c132f5fb9f1d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:00Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/64f227b2-1b12-471c-9e44-272c34590c35?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "782ffb10-34c3-44f7-a4ad-a5706f3447d2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "140", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e18dfcae-e22c-425b-ae77-b8a9532081e3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:00Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromDamagedPdf[1].json new file mode 100644 index 0000000000000..10ca5c35e2f41 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e88ca96b-9a5a-406b-ab11-2477dd901246", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "4", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "26784427-b529-41bf-b525-15b57e145a24", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..8c7840413ac6b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7f3ff49a-8b08-4ea0-a99e-f3b7be7122d9", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "237", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b6dcc9b3-ba1d-433d-ad1f-0a72bc5a422f", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:57:00 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..5fc161ef5c2ca --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f0a68bfd-8f4e-4797-bdbe-47677f0800dc", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1133", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9c63c0e3-3245-46f2-8b40-cbb87dcc5797", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json new file mode 100644 index 0000000000000..b5d7a1b44b70b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e18ebbbf-82a9-4f29-ae02-e3f30f917ee7", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1688", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a19bd5bd-5fc3-44d0-a5f3-0f06b50f56d8", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/a19bd5bd-5fc3-44d0-a5f3-0f06b50f56d8?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:36 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/a19bd5bd-5fc3-44d0-a5f3-0f06b50f56d8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5dce945d-8d4b-4021-8f66-7bb229370634" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5bd0e058-d608-468b-be7a-bdcb29de9d0d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/a19bd5bd-5fc3-44d0-a5f3-0f06b50f56d8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e1bbd337-0936-4b83-a7b5-ba3808c4ab0a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "148", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d40ea0b8-2398-49f0-8393-40bd3aa99169", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrl[1].json new file mode 100644 index 0000000000000..e191fb2dd0ad2 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeBusinessCardSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "224973de-aefd-4ee4-aca4-e7dccdb9bd13", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1184", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f8138b6f-d039-4d8e-b5f4-f0c2efae7d36", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/f8138b6f-d039-4d8e-b5f4-f0c2efae7d36?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:37 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/f8138b6f-d039-4d8e-b5f4-f0c2efae7d36?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "64a70f8b-6ba9-47ed-ba70-aa8d0dbcd741" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "136", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bd785bac-7099-4778-9033-ba5bed2c65f0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/f8138b6f-d039-4d8e-b5f4-f0c2efae7d36?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "807d67bc-bd69-439a-808f-7d16452c82c7" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "154", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bde0bbd0-f516-4706-abd7-1f41274381be", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDamagedPdf[1].json new file mode 100644 index 0000000000000..fe9110ea4fd59 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7de4d983-4dd2-4d73-9f4b-b3d6b5b31dfd", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "372cd112-2cc1-4f24-a089-df5c7365c873", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDataMultiPage[1].json new file mode 100644 index 0000000000000..2048e6da4eb6f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromDataMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "55d02201-497d-4c7c-80f7-3b64c8b4faa3", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "271", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c6dfa385-a9dc-4b0e-8a1c-23690bbb548d", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c6dfa385-a9dc-4b0e-8a1c-23690bbb548d?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c6dfa385-a9dc-4b0e-8a1c-23690bbb548d?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3a87c86b-06a7-45e2-b18e-5847ab0a269e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "170", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c93c0fc7-cda5-40e2-af08-38983d207f8a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:07Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c6dfa385-a9dc-4b0e-8a1c-23690bbb548d?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9f6e7b82-6486-4610-8725-03cedc0870cc" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "286", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0bfd339b-49ad-4f75-b291-37ed7e6585c6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:07Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlMultiPage[1].json new file mode 100644 index 0000000000000..68d957a41e8df --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "77d38334-39b4-4141-b1e0-f3012d503b6c", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "666", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6af784f7-2430-43ee-b809-e601e0c9362c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6af784f7-2430-43ee-b809-e601e0c9362c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6af784f7-2430-43ee-b809-e601e0c9362c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "33b9ea57-e5e1-4c06-ba57-6ab9746faf77" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "308", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "370c9a55-df58-4344-b170-bdfa2e1546aa", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:08Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:12Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:14 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6af784f7-2430-43ee-b809-e601e0c9362c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a5a0d819-e912-4742-a38b-fa440ef53fec" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "149", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "57c659d0-c580-40a3-bf71-035b808c10c0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:08Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:12Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:14 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..cb489dd308035 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "eab3727a-0c1b-4a3e-82e9-3f0f577128bd", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "317", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4adfb5cf-7207-4d8c-bdda-ff75c3d3502f", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithPdf[1].json new file mode 100644 index 0000000000000..c019feb5a4829 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrlWithPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "921d39bc-221f-470d-a456-ba8a8f1f0fb9", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "643", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "56cb0cab-0c89-4293-96cd-ca3ff42f44a5", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/56cb0cab-0c89-4293-96cd-ca3ff42f44a5?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/56cb0cab-0c89-4293-96cd-ca3ff42f44a5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7272d679-d741-41f2-9d00-aac312399919" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "147", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8bcdaec9-6003-4c0b-9825-e39ca22ed557", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:49Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso Suites\\nAddress:\\n14564 Main St.\\nSaratoga, CA 94588\\nInvoice For: First Up Consultants\\n1234 King St\\nRedmond, WA 97624\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n7689302\\n3/09/2015\\n6/29/2016\\n$22,123.24\\nQR\\nPage\\n1 of\\n1\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.354,0.5375,1.354],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Suites\",\"boundingBox\":[1.758,1.1349,2.6064,1.1349,2.6064,1.3534,1.758,1.3534],\"confidence\":1,\"span\":{\"offset\":8,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"confidence\":1,\"span\":{\"offset\":15,\"length\":8}},{\"content\":\"14564\",\"boundingBox\":[0.8107,1.705,1.1733,1.705,1.1733,1.8075,0.8107,1.8075],\"confidence\":1,\"span\":{\"offset\":24,\"length\":5}},{\"content\":\"Main\",\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"confidence\":1,\"span\":{\"offset\":30,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"confidence\":1,\"span\":{\"offset\":35,\"length\":3}},{\"content\":\"Saratoga,\",\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"CA\",\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"confidence\":1,\"span\":{\"offset\":49,\"length\":2}},{\"content\":\"94588\",\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"confidence\":1,\"span\":{\"offset\":52,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":58,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":66,\"length\":4}},{\"content\":\"First\",\"boundingBox\":[5.2048,1.513,5.4927,1.513,5.4927,1.6151,5.2048,1.6151],\"confidence\":1,\"span\":{\"offset\":71,\"length\":5}},{\"content\":\"Up\",\"boundingBox\":[5.5427,1.513,5.712,1.513,5.712,1.6407,5.5427,1.6407],\"confidence\":1,\"span\":{\"offset\":77,\"length\":2}},{\"content\":\"Consultants\",\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"confidence\":1,\"span\":{\"offset\":80,\"length\":11}},{\"content\":\"1234\",\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.817,5.2043,1.817],\"confidence\":1,\"span\":{\"offset\":92,\"length\":4}},{\"content\":\"King\",\"boundingBox\":[5.5499,1.7149,5.838,1.7149,5.838,1.8444,5.5499,1.8444],\"confidence\":1,\"span\":{\"offset\":97,\"length\":4}},{\"content\":\"St\",\"boundingBox\":[5.8903,1.7133,6.022,1.7133,6.022,1.8172,5.8903,1.8172],\"confidence\":1,\"span\":{\"offset\":102,\"length\":2}},{\"content\":\"Redmond,\",\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"confidence\":1,\"span\":{\"offset\":105,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"confidence\":1,\"span\":{\"offset\":114,\"length\":2}},{\"content\":\"97624\",\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"confidence\":1,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":123,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":131,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":138,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":151,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":163,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":168,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":180,\"length\":2}},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"confidence\":1,\"span\":{\"offset\":183,\"length\":7}},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"confidence\":1,\"span\":{\"offset\":191,\"length\":9}},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":201,\"length\":9}},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"confidence\":1,\"span\":{\"offset\":211,\"length\":10}},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"confidence\":1,\"span\":{\"offset\":222,\"length\":2}},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"confidence\":1,\"span\":{\"offset\":230,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"confidence\":1,\"span\":{\"offset\":232,\"length\":2}},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"confidence\":1,\"span\":{\"offset\":235,\"length\":1}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso Suites\",\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.354,0.5375,1.354],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"spans\":[{\"offset\":15,\"length\":8}]},{\"content\":\"14564 Main St.\",\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"spans\":[{\"offset\":24,\"length\":14}]},{\"content\":\"Saratoga, CA 94588\",\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"spans\":[{\"offset\":39,\"length\":18}]},{\"content\":\"Invoice For: First Up Consultants\",\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"spans\":[{\"offset\":58,\"length\":33}]},{\"content\":\"1234 King St\",\"boundingBox\":[5.2043,1.7133,6.022,1.7133,6.022,1.8444,5.2043,1.8444],\"spans\":[{\"offset\":92,\"length\":12}]},{\"content\":\"Redmond, WA 97624\",\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"spans\":[{\"offset\":105,\"length\":17}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":123,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":138,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":151,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":176,\"length\":6}]},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"spans\":[{\"offset\":183,\"length\":7}]},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"spans\":[{\"offset\":191,\"length\":9}]},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"spans\":[{\"offset\":201,\"length\":9}]},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"spans\":[{\"offset\":211,\"length\":10}]},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"spans\":[{\"offset\":222,\"length\":2}]},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"spans\":[{\"offset\":225,\"length\":4}]},{\"content\":\"1 of\",\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"spans\":[{\"offset\":230,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"spans\":[{\"offset\":235,\"length\":1}]}],\"spans\":[{\"offset\":0,\"length\":236}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5108,2.7887,1.8852,2.7887,1.8924,3.3133,0.5037,3.3133]}],\"spans\":[{\"offset\":123,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8852,2.7887,3.2954,2.7887,3.3026,3.3205,1.8924,3.3133]}],\"spans\":[{\"offset\":138,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2954,2.7887,4.7056,2.7887,4.7056,3.3133,3.3026,3.3205]}],\"spans\":[{\"offset\":151,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,2.7887,6.1014,2.7887,6.1014,3.3133,4.7056,3.3133]}],\"spans\":[{\"offset\":168,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,2.7887,7.4973,2.7887,7.4973,3.3205,6.1014,3.3133]}],\"spans\":[{\"offset\":176,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"7689302\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5037,3.3133,1.8924,3.3133,1.8995,3.8523,0.5037,3.8523]}],\"spans\":[{\"offset\":183,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"3/09/2015\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8924,3.3133,3.3026,3.3205,3.3097,3.8523,1.8995,3.8523]}],\"spans\":[{\"offset\":191,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/29/2016\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3026,3.3205,4.7056,3.3133,4.7056,3.8523,3.3097,3.8523]}],\"spans\":[{\"offset\":201,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$22,123.24\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,3.3133,6.1014,3.3133,6.1014,3.8523,4.7056,3.8523]}],\"spans\":[{\"offset\":211,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"QR\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,3.3133,7.4973,3.3205,7.4973,3.8523,6.1014,3.8523]}],\"spans\":[{\"offset\":222,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.515,2.7835,7.4987,2.7841,7.498,3.8596,0.5141,3.8592]}],\"spans\":[{\"offset\":123,\"length\":101}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/56cb0cab-0c89-4293-96cd-ca3ff42f44a5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b1aa0ff6-45ce-4aef-8b74-ef2b3a6f2458" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "133", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6fb7d7ae-c327-48f2-8da1-bc6ee1fb59d3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:49Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso Suites\\nAddress:\\n14564 Main St.\\nSaratoga, CA 94588\\nInvoice For: First Up Consultants\\n1234 King St\\nRedmond, WA 97624\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n7689302\\n3/09/2015\\n6/29/2016\\n$22,123.24\\nQR\\nPage\\n1 of\\n1\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.354,0.5375,1.354],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Suites\",\"boundingBox\":[1.758,1.1349,2.6064,1.1349,2.6064,1.3534,1.758,1.3534],\"confidence\":1,\"span\":{\"offset\":8,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"confidence\":1,\"span\":{\"offset\":15,\"length\":8}},{\"content\":\"14564\",\"boundingBox\":[0.8107,1.705,1.1733,1.705,1.1733,1.8075,0.8107,1.8075],\"confidence\":1,\"span\":{\"offset\":24,\"length\":5}},{\"content\":\"Main\",\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"confidence\":1,\"span\":{\"offset\":30,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"confidence\":1,\"span\":{\"offset\":35,\"length\":3}},{\"content\":\"Saratoga,\",\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"CA\",\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"confidence\":1,\"span\":{\"offset\":49,\"length\":2}},{\"content\":\"94588\",\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"confidence\":1,\"span\":{\"offset\":52,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":58,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":66,\"length\":4}},{\"content\":\"First\",\"boundingBox\":[5.2048,1.513,5.4927,1.513,5.4927,1.6151,5.2048,1.6151],\"confidence\":1,\"span\":{\"offset\":71,\"length\":5}},{\"content\":\"Up\",\"boundingBox\":[5.5427,1.513,5.712,1.513,5.712,1.6407,5.5427,1.6407],\"confidence\":1,\"span\":{\"offset\":77,\"length\":2}},{\"content\":\"Consultants\",\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"confidence\":1,\"span\":{\"offset\":80,\"length\":11}},{\"content\":\"1234\",\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.817,5.2043,1.817],\"confidence\":1,\"span\":{\"offset\":92,\"length\":4}},{\"content\":\"King\",\"boundingBox\":[5.5499,1.7149,5.838,1.7149,5.838,1.8444,5.5499,1.8444],\"confidence\":1,\"span\":{\"offset\":97,\"length\":4}},{\"content\":\"St\",\"boundingBox\":[5.8903,1.7133,6.022,1.7133,6.022,1.8172,5.8903,1.8172],\"confidence\":1,\"span\":{\"offset\":102,\"length\":2}},{\"content\":\"Redmond,\",\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"confidence\":1,\"span\":{\"offset\":105,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"confidence\":1,\"span\":{\"offset\":114,\"length\":2}},{\"content\":\"97624\",\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"confidence\":1,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":123,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":131,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":138,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":151,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":163,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":168,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":180,\"length\":2}},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"confidence\":1,\"span\":{\"offset\":183,\"length\":7}},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"confidence\":1,\"span\":{\"offset\":191,\"length\":9}},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":201,\"length\":9}},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"confidence\":1,\"span\":{\"offset\":211,\"length\":10}},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"confidence\":1,\"span\":{\"offset\":222,\"length\":2}},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"confidence\":1,\"span\":{\"offset\":230,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"confidence\":1,\"span\":{\"offset\":232,\"length\":2}},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"confidence\":1,\"span\":{\"offset\":235,\"length\":1}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso Suites\",\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.354,0.5375,1.354],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"spans\":[{\"offset\":15,\"length\":8}]},{\"content\":\"14564 Main St.\",\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"spans\":[{\"offset\":24,\"length\":14}]},{\"content\":\"Saratoga, CA 94588\",\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"spans\":[{\"offset\":39,\"length\":18}]},{\"content\":\"Invoice For: First Up Consultants\",\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"spans\":[{\"offset\":58,\"length\":33}]},{\"content\":\"1234 King St\",\"boundingBox\":[5.2043,1.7133,6.022,1.7133,6.022,1.8444,5.2043,1.8444],\"spans\":[{\"offset\":92,\"length\":12}]},{\"content\":\"Redmond, WA 97624\",\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"spans\":[{\"offset\":105,\"length\":17}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":123,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":138,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":151,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":176,\"length\":6}]},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"spans\":[{\"offset\":183,\"length\":7}]},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"spans\":[{\"offset\":191,\"length\":9}]},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"spans\":[{\"offset\":201,\"length\":9}]},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"spans\":[{\"offset\":211,\"length\":10}]},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"spans\":[{\"offset\":222,\"length\":2}]},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"spans\":[{\"offset\":225,\"length\":4}]},{\"content\":\"1 of\",\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"spans\":[{\"offset\":230,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"spans\":[{\"offset\":235,\"length\":1}]}],\"spans\":[{\"offset\":0,\"length\":236}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5108,2.7887,1.8852,2.7887,1.8924,3.3133,0.5037,3.3133]}],\"spans\":[{\"offset\":123,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8852,2.7887,3.2954,2.7887,3.3026,3.3205,1.8924,3.3133]}],\"spans\":[{\"offset\":138,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2954,2.7887,4.7056,2.7887,4.7056,3.3133,3.3026,3.3205]}],\"spans\":[{\"offset\":151,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,2.7887,6.1014,2.7887,6.1014,3.3133,4.7056,3.3133]}],\"spans\":[{\"offset\":168,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,2.7887,7.4973,2.7887,7.4973,3.3205,6.1014,3.3133]}],\"spans\":[{\"offset\":176,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"7689302\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5037,3.3133,1.8924,3.3133,1.8995,3.8523,0.5037,3.8523]}],\"spans\":[{\"offset\":183,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"3/09/2015\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8924,3.3133,3.3026,3.3205,3.3097,3.8523,1.8995,3.8523]}],\"spans\":[{\"offset\":191,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/29/2016\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3026,3.3205,4.7056,3.3133,4.7056,3.8523,3.3097,3.8523]}],\"spans\":[{\"offset\":201,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$22,123.24\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,3.3133,6.1014,3.3133,6.1014,3.8523,4.7056,3.8523]}],\"spans\":[{\"offset\":211,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"QR\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,3.3133,7.4973,3.3205,7.4973,3.8523,6.1014,3.8523]}],\"spans\":[{\"offset\":222,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.515,2.7835,7.4987,2.7841,7.498,3.8596,0.5141,3.8592]}],\"spans\":[{\"offset\":123,\"length\":101}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrl[1].json new file mode 100644 index 0000000000000..e9ef082a4d2b6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a06a1763-edff-4aa4-ba1c-22e47302b3a2", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "672", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "611940bc-0e60-48e7-bcbf-0e4a774e486c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/611940bc-0e60-48e7-bcbf-0e4a774e486c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:50 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/611940bc-0e60-48e7-bcbf-0e4a774e486c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b28aecdb-9ad9-4e56-9909-9b2d60b33e9e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "152", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0f30730a-94ea-4566-b31b-3c14686c1463", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:55Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/611940bc-0e60-48e7-bcbf-0e4a774e486c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "06813769-6f95-4161-9d90-83809d31a998" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "156", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c6fd4de4-032f-47af-97c2-a7f4ba51f57f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:55Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:56 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..230dd74268667 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3af2b906-ff95-4ace-9c8f-1ead8777be4c", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "957", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "64b38e3c-fe56-40bf-bedd-0f9a4926e8ab", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithBlankPdf[1].json new file mode 100644 index 0000000000000..bfff47bc16bf5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b539205a-270d-4457-9903-07939b22c2fa", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "184", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f9dfc6e0-f287-4fab-aed9-83ec0eb442c2", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f9dfc6e0-f287-4fab-aed9-83ec0eb442c2?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f9dfc6e0-f287-4fab-aed9-83ec0eb442c2?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e14deaab-8a2b-4fda-832c-5147e6ef4c1c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "171", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f0fa41c6-16dd-4ee7-8e4b-cbf20cee91dc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:45Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f9dfc6e0-f287-4fab-aed9-83ec0eb442c2?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4906c49a-3c04-4ebc-8d09-697b10633c37" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "01a203c2-127a-4f90-9157-be8a23c66571", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:45Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..f5704eee41d2d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3d28100b-d563-46d5-8aaa-e9c172aa823c", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "485", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f4af3a27-5fae-44d6-aade-6b55c73687da", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f4af3a27-5fae-44d6-aade-6b55c73687da?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f4af3a27-5fae-44d6-aade-6b55c73687da?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "619606e0-c77f-4b6a-8527-9a5a5df7b5a5" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "159", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4ac9fd0a-4eb5-46d8-972d-2454a7de4c2b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:49Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:54 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f4af3a27-5fae-44d6-aade-6b55c73687da?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "071969eb-dbb5-4dfd-a9e7-8a13954cafd8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "135", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "721e95d0-4896-412f-9235-bb2948976b65", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:49Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentResultWithNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPageRange[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPageRange[1].json new file mode 100644 index 0000000000000..bfe27ac5304a6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPageRange[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?pages=1-2%2C3&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bb82005d-eb71-4712-9eab-bb4a26d88512", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "884", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c401971e-09fa-475a-9bff-9239c1aefe0c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c401971e-09fa-475a-9bff-9239c1aefe0c?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:50:38 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c401971e-09fa-475a-9bff-9239c1aefe0c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7b0b8d5c-8e3d-47e4-8abb-2b07f39e1013" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "556", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fea60025-cfda-4107-9a02-5e1bb777cc95", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:50:38Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:50:43Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:50:44 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c401971e-09fa-475a-9bff-9239c1aefe0c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "34679b20-57cc-4767-af31-19a02124f3d0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "330", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "dbb08617-2ad5-434d-bac5-06f16fa7388d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:50:38Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:50:43Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:50:46 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPage[1].json new file mode 100644 index 0000000000000..9ea33a579d1ed --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?pages=1&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "499cb919-25e7-4b48-86c3-7e427e476b3a", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1239", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "75ae4c42-0acb-41be-8aad-26dc70d69f80", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/75ae4c42-0acb-41be-8aad-26dc70d69f80?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:52:59 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/75ae4c42-0acb-41be-8aad-26dc70d69f80?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "00dfabe8-775d-4b8c-a3b7-9b413b0ed596" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "62", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3edaebc9-208c-4f29-8e77-9addcaaca7a4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:52:59Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:53:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:53:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/75ae4c42-0acb-41be-8aad-26dc70d69f80?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "903b6e0e-48e1-433c-8954-7045d2c983c2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "70", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ccf001ac-eed9-4f8c-8f1b-e21cd5660c7d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:52:59Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:53:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:53:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPages[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPages[1].json new file mode 100644 index 0000000000000..b574e83604eaa --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithPages[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?pages=1%2C2&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bb9df11d-9ad4-4c3f-b128-289a24455bb6", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "106", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f945d0ce-9b2c-4688-8fa8-6e9f9c092558", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f945d0ce-9b2c-4688-8fa8-6e9f9c092558?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:51:49 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f945d0ce-9b2c-4688-8fa8-6e9f9c092558?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6a58f155-dcf8-4cba-9c18-1945a3b43f0e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "258", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "32057441-c7ec-4008-8067-1442f8b39adb", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:51:49Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:51:52Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:51:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/f945d0ce-9b2c-4688-8fa8-6e9f9c092558?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "009f0f2d-645a-4b8c-a226-04f2dff2d365" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "191", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "15c7a9d4-a782-4d71-b7be-c1ae2dfa78a9", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:51:49Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:51:52Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:51:56 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarksFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarksFromUrl[1].json new file mode 100644 index 0000000000000..996bce2ebe795 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarksFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "676237d0-6807-4b51-97a0-ee050c17f370", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "768", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6896e6e0-48c8-40ef-8405-36766fcba9e4", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6896e6e0-48c8-40ef-8405-36766fcba9e4?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:36 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6896e6e0-48c8-40ef-8405-36766fcba9e4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "80a3ee42-c824-4e39-a1b6-c81078dac35f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "162", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "17cccc25-31f0-45a9-a4fc-705a273d3e15", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:40 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/6896e6e0-48c8-40ef-8405-36766fcba9e4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "129e9900-c36a-402d-bd71-ba11ea6df631" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "135", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "24459bca-b9ad-4395-b75f-c602aad120bb", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarks[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarks[1].json new file mode 100644 index 0000000000000..8fb5a892976d2 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContentWithSelectionMarks[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bcf9fb12-d20b-427a-8552-6077a0a9f23d", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "439", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e7cba69e-af12-47b9-8ff2-a21b8cbce061", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/e7cba69e-af12-47b9-8ff2-a21b8cbce061?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/e7cba69e-af12-47b9-8ff2-a21b8cbce061?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4ff130e5-3bd7-4d11-954c-2492fd59dd92" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "166", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e6343131-929c-40f1-8ff7-53bc2a9d46c5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:55Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:58Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:00 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/e7cba69e-af12-47b9-8ff2-a21b8cbce061?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4893ec5d-18ed-4d1a-9f5e-f63a5eb224e6" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "de6cc1a2-4ddd-4733-aa20-41711c233139", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:55Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:58Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:00 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContent[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContent[1].json new file mode 100644 index 0000000000000..b0823b321cae6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeContent[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7ff62a3d-d30f-4f42-87d3-16256ec08f56", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "566", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "decdffa5-09e7-4816-a2df-3e2e63bc71a1", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/decdffa5-09e7-4816-a2df-3e2e63bc71a1?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:36 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/decdffa5-09e7-4816-a2df-3e2e63bc71a1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "32112b55-65d9-4c14-b8ef-eb9ce60404eb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8f98ee41-19af-4963-beea-521f871cf06f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/decdffa5-09e7-4816-a2df-3e2e63bc71a1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e2945ab7-7045-40d4-8021-f8584353ae0d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "166", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2f17a0e6-d08a-4327-b2f3-ae16d1578625", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeGermanContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeGermanContentFromUrl[1].json new file mode 100644 index 0000000000000..8b0c6746951f9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeGermanContentFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?locale=de&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d0cd864-be21-4571-bd8a-5979d7ce648b", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "735", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a8c78993-e09c-497d-85cf-2588a8b4cccf", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/a8c78993-e09c-497d-85cf-2588a8b4cccf?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/a8c78993-e09c-497d-85cf-2588a8b4cccf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "954f35c4-bd4f-4171-a2ca-ae903c6ebb1a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "139", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "25e90d4d-d631-40c3-86aa-5845655a0f6f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/a8c78993-e09c-497d-85cf-2588a8b4cccf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "63dd0a76-eadb-458e-b821-141a545a1b13" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5632fc21-7425-4dae-9a9d-7e0d905c1a0b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentFromDamagedPdf[1].json new file mode 100644 index 0000000000000..acaddd3e213a1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "20fadecd-52b7-454f-81fb-a60afcbc8408", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3d5bcc10-cc67-4d09-9021-8b02e475a9fd", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..ead20324054a0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1a8436aa-0f5c-4916-adde-59d5eaa6fde5", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1013", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7ae52fd9-0321-4285-9688-bbb1ccdab572", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentWithBlankPdf[1].json new file mode 100644 index 0000000000000..28bd929299c13 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeIDDocumentWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3038eae1-9330-485c-90a4-01d5ad6f8668", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "205", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "49f22d79-2c06-495b-8cca-2f4163b0a87e", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/49f22d79-2c06-495b-8cca-2f4163b0a87e?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/49f22d79-2c06-495b-8cca-2f4163b0a87e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e8585067-1b9a-4a8c-87c0-13ac5cb40ad8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7d9b0a7c-0a57-40b9-ac62-7a9f30ad1b1e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/49f22d79-2c06-495b-8cca-2f4163b0a87e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b8b6d69f-e370-4761-b46e-8bbb0ae9ae3e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "169", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "54171253-0228-4d04-8f8d-87fe5f87a164", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..140bfd3c92e10 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d22527c9-4318-463e-a833-1f222121d44b", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "181", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "115bdf91-4b97-4892-bf9a-c2377b672d51", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/115bdf91-4b97-4892-bf9a-c2377b672d51?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/115bdf91-4b97-4892-bf9a-c2377b672d51?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9fc06835-cf8a-4c18-a593-14b9f71ca161" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "160", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c41a8149-622d-4131-b770-214fc5cf8f94", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/115bdf91-4b97-4892-bf9a-c2377b672d51?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7411b85d-6d93-4e3e-bdc3-51769c9d3fcd" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "141", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b89a0146-84cd-4c5f-9e5a-1cf43a68a991", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..278eba8678c2a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0389a38c-2766-45ba-bb13-a1a2340d532c", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "332", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0cf22ec8-492a-4527-8993-fc85bd9d8ff8", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/0cf22ec8-492a-4527-8993-fc85bd9d8ff8?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:36 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/0cf22ec8-492a-4527-8993-fc85bd9d8ff8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "65d784c4-1869-4223-8dd4-3223c6d2fac2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "259", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a6c4f4bc-3ea8-46d9-ab99-8a0ec14aae35", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/0cf22ec8-492a-4527-8993-fc85bd9d8ff8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9026b146-f5f9-4525-8a69-34e5a874e4bc" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "161", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "09f397cd-4022-4d31-9e79-3ed71481e8d3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:36Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceData[1].json new file mode 100644 index 0000000000000..34db8d8ed712b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7b882d39-3efc-43ee-84c6-fea289a280e6", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "351", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "857221cc-bf6e-419e-b237-d5794507ceb1", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/857221cc-bf6e-419e-b237-d5794507ceb1?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/857221cc-bf6e-419e-b237-d5794507ceb1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9422c71a-393e-47ad-86b3-3dc7afa0eac2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "160", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "74a6ae65-45d8-4b05-b8ed-c2cc5aee7367", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/857221cc-bf6e-419e-b237-d5794507ceb1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "973803a9-a8bb-47fe-8e97-dc85049bfd49" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "144", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8cf100fc-7c56-4559-8e21-8a5d39f06446", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromDamagedPdf[1].json new file mode 100644 index 0000000000000..cae31f43f7be8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f582799c-5564-49ba-b0a4-881195bde107", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e0eb7994-b137-4a8f-a67a-b996ac6904f8", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:35 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..8a0a9c057ab20 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2a00c216-13c0-4484-9f5f-00ed8da5ebe9", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "259", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "549f3a6e-9482-4cac-abfc-bd1d47b33e8c", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..5d34810268e5b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "964bde25-74f7-4e58-9cfe-0be07999bc96", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "923", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "afaf58aa-5998-4951-b2f2-928c95893b7e", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:57:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceSourceUrl[1].json new file mode 100644 index 0000000000000..b6f655d6626f9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "be3281b6-bce8-4771-85be-2cf65dcebb4e", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "633", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8b1ceb19-4900-4943-89cc-26c6a28534f0", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/8b1ceb19-4900-4943-89cc-26c6a28534f0?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/8b1ceb19-4900-4943-89cc-26c6a28534f0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "81560709-8f15-4dbb-8ff7-7f3fc7836f41" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "269", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bd98c47d-c159-4bf5-9fb0-970eeeeda82c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/8b1ceb19-4900-4943-89cc-26c6a28534f0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2979cdee-6074-4ecd-9c3b-47b06d34bbc9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "172", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7741a892-dd13-4956-9c82-8f4694cd2f4b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceWithPage[1].json new file mode 100644 index 0000000000000..26acb6e5d420d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeInvoiceWithPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?pages=1&locale=en-US&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e178d015-0d9b-4bd6-98e8-60ed8c310f78", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2504", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e66689ec-9ef8-411b-af9d-96bac344b40a", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/e66689ec-9ef8-411b-af9d-96bac344b40a?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:46:45 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/e66689ec-9ef8-411b-af9d-96bac344b40a?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "41dcdec1-fd6b-4920-83c3-2fb147409ae1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "282", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1421c48a-8ef7-4d16-a190-0c5850ec3804", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:46:44Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:46:50Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:46:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/e66689ec-9ef8-411b-af9d-96bac344b40a?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2a130dea-de68-47ea-8057-98b3b282744b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "176", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7677dce8-9b17-4c22-a4c9-1974a7ee8bc4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:46:44Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:46:50Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:46:54 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseCardData[1].json new file mode 100644 index 0000000000000..ddc75c34c5bbe --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseCardData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1ea59678-6bc0-45a2-a6a6-5e6dcd8ba164", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "269", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5a4bfb6d-8e2b-40c3-b3ec-4d6e6aa44d95", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5a4bfb6d-8e2b-40c3-b3ec-4d6e6aa44d95?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5a4bfb6d-8e2b-40c3-b3ec-4d6e6aa44d95?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3b205b63-483a-4994-9824-70db66e63eca" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2c793d47-9c94-4912-9cb5-3a71495bc3ee", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:04Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5a4bfb6d-8e2b-40c3-b3ec-4d6e6aa44d95?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "67fb31e7-8a93-4840-b15f-ce765703e04a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "177", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1c5d37a9-e793-41cb-b35a-e89444910212", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:04Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..3424a04f19cae --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e629dd5b-789b-457d-a485-a100050231b6", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "298", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a859fcc4-5d99-4cb4-b37f-06d412d93bf7", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/a859fcc4-5d99-4cb4-b37f-06d412d93bf7?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/a859fcc4-5d99-4cb4-b37f-06d412d93bf7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "38e6eed1-9853-4962-849f-5b2c64d772ca" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5223af5f-1b9b-4f61-be6f-648dd91f4acc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:51Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/a859fcc4-5d99-4cb4-b37f-06d412d93bf7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7fb7d299-0865-4aa5-963f-948e4ba1a262" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a3209e51-bb9e-4ae2-8469-59d5dd92b960", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:51Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseSourceUrl[1].json new file mode 100644 index 0000000000000..20495e1415b76 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeLicenseSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "82692ca1-6f78-4832-904a-d410657d706e", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "555", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b31fc267-a5a4-46bb-a88e-aee2036895a4", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/b31fc267-a5a4-46bb-a88e-aee2036895a4?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:56 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/b31fc267-a5a4-46bb-a88e-aee2036895a4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e4c0552a-bd18-40bb-8ff1-43dfbee9b383" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "152", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6f9533ed-074c-486e-b451-a859d7eb669d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:58Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.678,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:00 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/b31fc267-a5a4-46bb-a88e-aee2036895a4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5141512b-f41c-47e8-844a-e0f4d3a7b89e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "158", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a6c22a5a-638b-4fb2-b6b0-1ee6b6e0993d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:58Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.678,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCardUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCardUrl[1].json new file mode 100644 index 0000000000000..ac6391cd6d6fe --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCardUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "18e21606-c122-4432-8d78-387047f8e21a", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "620", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "187c7a35-a727-4d19-be05-50d8de5cc288", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/187c7a35-a727-4d19-be05-50d8de5cc288?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:35 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/187c7a35-a727-4d19-be05-50d8de5cc288?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4b217b9d-e9e3-47b3-ba06-d2721816cb8b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "345", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e655dc6b-59a1-43ba-82f2-fa24523f7cdc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:40 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/187c7a35-a727-4d19-be05-50d8de5cc288?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "27666e9e-50a6-4ecf-9946-3334a7d0b381" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "327", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0f35c2f3-2940-42b7-b908-5a668f4a20c9", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:39Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCard[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCard[1].json new file mode 100644 index 0000000000000..094cacc6bd610 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageBusinessCard[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7e537756-d0d4-4351-90cd-f27acb4ebc25", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "297", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5169b93c-d909-43e3-b928-67734be1d71a", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/5169b93c-d909-43e3-b928-67734be1d71a?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:57 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/5169b93c-d909-43e3-b928-67734be1d71a?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "998fe634-c536-481f-bb7a-8e49202ff4cb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "270", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f5792858-092b-4e2c-94cd-3d7ab0ca1c48", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:57Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:01Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/5169b93c-d909-43e3-b928-67734be1d71a?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3dd6f0f5-1959-4ff1-9723-1ec657bb01c3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "165", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4ceeacdc-e469-43e3-8e62-a0a02c313fd7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:57Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:01Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:02 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageInvoice[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageInvoice[1].json new file mode 100644 index 0000000000000..f772a29b50b22 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeMultipageInvoice[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bcbafdaa-2660-4e88-b015-c7b2f5648344", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "538", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "720a0551-667d-41ea-ac9d-3a2007028574", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/720a0551-667d-41ea-ac9d-3a2007028574?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/720a0551-667d-41ea-ac9d-3a2007028574?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9c095539-1b6c-4a21-a9b9-9bd3d508ae9d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "308", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d9eea851-d614-4c3a-94ab-8c2a0047ed65", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Vendor #:121\\nVendor Registration\\nContoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\\nMaple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\\nwaitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\\nbelow, and attach a check made out to:\\nContoso Ltd.\\n2345 Dogwood Lane\\nBirch, Kansas 98123\\nRates:\\nPackage\\nIncluded\\nPrice\\nGold Sponsor\\nFull booth\\n$1,500\\nPre-keynote thank you\\nLogo on poster\\nFull page ad in program guide\\nSilver Sponsor\\nFull booth\\n$1,200\\nPost-keynote thank you\\nLogo on poster\\nHalf page ad in program guide\\nBronze Sponsor\\nFull booth\\n$1,000\\nLogo on poster\\n50% discount on program guide\\nadvertisements\\nFull Booth\\nFull booth\\n$600\\n50% discount on program guide\\nadvertisements\\nHalf Booth\\nFull booth\\n$350\\n25% discount on program guide\\nadvertisements\\n:unselected:\\nVendor #:121\\nVendor Details:\\nCompany Name: Southridge Video\\nContact: Jamie@southridgevideo.com\\nPreferred Package: Gold\\nSpecial Requests: N/a\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":0,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":7,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1,\"span\":{\"offset\":13,\"length\":6}},{\"content\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1,\"span\":{\"offset\":20,\"length\":12}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1,\"span\":{\"offset\":33,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1,\"span\":{\"offset\":41,\"length\":4}},{\"content\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1,\"span\":{\"offset\":46,\"length\":10}},{\"content\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1,\"span\":{\"offset\":57,\"length\":4}},{\"content\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1,\"span\":{\"offset\":70,\"length\":2}},{\"content\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1,\"span\":{\"offset\":73,\"length\":3}},{\"content\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1,\"span\":{\"offset\":77,\"length\":6}},{\"content\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1,\"span\":{\"offset\":84,\"length\":4}},{\"content\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1,\"span\":{\"offset\":89,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1,\"span\":{\"offset\":96,\"length\":3}},{\"content\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1,\"span\":{\"offset\":100,\"length\":10}},{\"content\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1,\"span\":{\"offset\":118,\"length\":2}},{\"content\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1,\"span\":{\"offset\":121,\"length\":5}},{\"content\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1,\"span\":{\"offset\":127,\"length\":5}},{\"content\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1,\"span\":{\"offset\":133,\"length\":14}},{\"content\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1,\"span\":{\"offset\":148,\"length\":3}},{\"content\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1,\"span\":{\"offset\":152,\"length\":10}},{\"content\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1,\"span\":{\"offset\":163,\"length\":3}},{\"content\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1,\"span\":{\"offset\":167,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1,\"span\":{\"offset\":172,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1,\"span\":{\"offset\":176,\"length\":2}},{\"content\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1,\"span\":{\"offset\":179,\"length\":3}},{\"content\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1,\"span\":{\"offset\":189,\"length\":8}},{\"content\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1,\"span\":{\"offset\":198,\"length\":4}},{\"content\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1,\"span\":{\"offset\":209,\"length\":6}},{\"content\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1,\"span\":{\"offset\":216,\"length\":9}},{\"content\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1,\"span\":{\"offset\":226,\"length\":6}},{\"content\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1,\"span\":{\"offset\":233,\"length\":12}},{\"content\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1,\"span\":{\"offset\":246,\"length\":3}},{\"content\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1,\"span\":{\"offset\":250,\"length\":5}},{\"content\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1,\"span\":{\"offset\":256,\"length\":8}},{\"content\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1,\"span\":{\"offset\":265,\"length\":7}},{\"content\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1,\"span\":{\"offset\":273,\"length\":3}},{\"content\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1,\"span\":{\"offset\":277,\"length\":3}},{\"content\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1,\"span\":{\"offset\":287,\"length\":6}},{\"content\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1,\"span\":{\"offset\":294,\"length\":4}},{\"content\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1,\"span\":{\"offset\":299,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1,\"span\":{\"offset\":302,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1,\"span\":{\"offset\":306,\"length\":4}},{\"content\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1,\"span\":{\"offset\":311,\"length\":6}},{\"content\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1,\"span\":{\"offset\":318,\"length\":3}},{\"content\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1,\"span\":{\"offset\":322,\"length\":6}},{\"content\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1,\"span\":{\"offset\":329,\"length\":1}},{\"content\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1,\"span\":{\"offset\":331,\"length\":5}},{\"content\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1,\"span\":{\"offset\":337,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1,\"span\":{\"offset\":342,\"length\":3}},{\"content\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1,\"span\":{\"offset\":346,\"length\":3}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1,\"span\":{\"offset\":350,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1,\"span\":{\"offset\":358,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1,\"span\":{\"offset\":363,\"length\":4}},{\"content\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1,\"span\":{\"offset\":368,\"length\":7}},{\"content\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1,\"span\":{\"offset\":376,\"length\":4}},{\"content\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1,\"span\":{\"offset\":381,\"length\":6}},{\"content\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1,\"span\":{\"offset\":388,\"length\":6}},{\"content\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1,\"span\":{\"offset\":401,\"length\":6}},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1,\"span\":{\"offset\":408,\"length\":7}},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1,\"span\":{\"offset\":416,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1,\"span\":{\"offset\":425,\"length\":5}},{\"content\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1,\"span\":{\"offset\":431,\"length\":4}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1,\"span\":{\"offset\":436,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1,\"span\":{\"offset\":444,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1,\"span\":{\"offset\":449,\"length\":5}},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1,\"span\":{\"offset\":455,\"length\":6}},{\"content\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1,\"span\":{\"offset\":462,\"length\":11}},{\"content\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1,\"span\":{\"offset\":474,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1,\"span\":{\"offset\":480,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1,\"span\":{\"offset\":484,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1,\"span\":{\"offset\":489,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1,\"span\":{\"offset\":492,\"length\":6}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1,\"span\":{\"offset\":499,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1,\"span\":{\"offset\":504,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1,\"span\":{\"offset\":509,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1,\"span\":{\"offset\":512,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1,\"span\":{\"offset\":515,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1,\"span\":{\"offset\":523,\"length\":5}},{\"content\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1,\"span\":{\"offset\":529,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1,\"span\":{\"offset\":536,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1,\"span\":{\"offset\":544,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1,\"span\":{\"offset\":549,\"length\":5}},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1,\"span\":{\"offset\":555,\"length\":6}},{\"content\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1,\"span\":{\"offset\":562,\"length\":12}},{\"content\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1,\"span\":{\"offset\":575,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1,\"span\":{\"offset\":581,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1,\"span\":{\"offset\":585,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1,\"span\":{\"offset\":590,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1,\"span\":{\"offset\":593,\"length\":6}},{\"content\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1,\"span\":{\"offset\":600,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1,\"span\":{\"offset\":605,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1,\"span\":{\"offset\":610,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1,\"span\":{\"offset\":613,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1,\"span\":{\"offset\":624,\"length\":5}},{\"content\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1,\"span\":{\"offset\":630,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1,\"span\":{\"offset\":637,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1,\"span\":{\"offset\":645,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1,\"span\":{\"offset\":650,\"length\":5}},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1,\"span\":{\"offset\":656,\"length\":6}},{\"content\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1,\"span\":{\"offset\":663,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1,\"span\":{\"offset\":668,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1,\"span\":{\"offset\":671,\"length\":6}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1,\"span\":{\"offset\":678,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1,\"span\":{\"offset\":682,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1,\"span\":{\"offset\":691,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1,\"span\":{\"offset\":694,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1,\"span\":{\"offset\":702,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1,\"span\":{\"offset\":708,\"length\":14}},{\"content\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1,\"span\":{\"offset\":723,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1,\"span\":{\"offset\":728,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1,\"span\":{\"offset\":734,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1,\"span\":{\"offset\":739,\"length\":5}},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1,\"span\":{\"offset\":745,\"length\":4}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1,\"span\":{\"offset\":754,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1,\"span\":{\"offset\":763,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1,\"span\":{\"offset\":766,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1,\"span\":{\"offset\":774,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1,\"span\":{\"offset\":780,\"length\":14}},{\"content\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1,\"span\":{\"offset\":795,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1,\"span\":{\"offset\":800,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1,\"span\":{\"offset\":806,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1,\"span\":{\"offset\":811,\"length\":5}},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1,\"span\":{\"offset\":817,\"length\":4}},{\"content\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1,\"span\":{\"offset\":822,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1,\"span\":{\"offset\":826,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1,\"span\":{\"offset\":835,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1,\"span\":{\"offset\":838,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1,\"span\":{\"offset\":846,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1,\"span\":{\"offset\":852,\"length\":14}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"span\":{\"offset\":867,\"length\":12}}],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":0,\"length\":12}]},{\"content\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"spans\":[{\"offset\":13,\"length\":19}]},{\"content\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"spans\":[{\"offset\":33,\"length\":87}]},{\"content\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"spans\":[{\"offset\":121,\"length\":94}]},{\"content\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"spans\":[{\"offset\":216,\"length\":94}]},{\"content\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"spans\":[{\"offset\":311,\"length\":38}]},{\"content\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"spans\":[{\"offset\":350,\"length\":12}]},{\"content\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"spans\":[{\"offset\":363,\"length\":17}]},{\"content\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"spans\":[{\"offset\":381,\"length\":19}]},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"spans\":[{\"offset\":401,\"length\":6}]},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"spans\":[{\"offset\":408,\"length\":7}]},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"spans\":[{\"offset\":416,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"spans\":[{\"offset\":425,\"length\":5}]},{\"content\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"spans\":[{\"offset\":431,\"length\":12}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"spans\":[{\"offset\":444,\"length\":10}]},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"spans\":[{\"offset\":455,\"length\":6}]},{\"content\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"spans\":[{\"offset\":462,\"length\":21}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"spans\":[{\"offset\":484,\"length\":14}]},{\"content\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"spans\":[{\"offset\":499,\"length\":29}]},{\"content\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"spans\":[{\"offset\":529,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"spans\":[{\"offset\":544,\"length\":10}]},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"spans\":[{\"offset\":555,\"length\":6}]},{\"content\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"spans\":[{\"offset\":562,\"length\":22}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"spans\":[{\"offset\":585,\"length\":14}]},{\"content\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"spans\":[{\"offset\":600,\"length\":29}]},{\"content\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"spans\":[{\"offset\":630,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"spans\":[{\"offset\":645,\"length\":10}]},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"spans\":[{\"offset\":656,\"length\":6}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"spans\":[{\"offset\":663,\"length\":14}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"spans\":[{\"offset\":678,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"spans\":[{\"offset\":708,\"length\":14}]},{\"content\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"spans\":[{\"offset\":723,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"spans\":[{\"offset\":734,\"length\":10}]},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"spans\":[{\"offset\":745,\"length\":4}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"spans\":[{\"offset\":750,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"spans\":[{\"offset\":780,\"length\":14}]},{\"content\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"spans\":[{\"offset\":795,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"spans\":[{\"offset\":806,\"length\":10}]},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"spans\":[{\"offset\":817,\"length\":4}]},{\"content\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"spans\":[{\"offset\":822,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"spans\":[{\"offset\":852,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":879}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":880,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":887,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1,\"span\":{\"offset\":893,\"length\":6}},{\"content\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1,\"span\":{\"offset\":900,\"length\":8}},{\"content\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1,\"span\":{\"offset\":909,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1,\"span\":{\"offset\":917,\"length\":5}},{\"content\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1,\"span\":{\"offset\":923,\"length\":10}},{\"content\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1,\"span\":{\"offset\":934,\"length\":5}},{\"content\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1,\"span\":{\"offset\":940,\"length\":8}},{\"content\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1,\"span\":{\"offset\":949,\"length\":25}},{\"content\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1,\"span\":{\"offset\":975,\"length\":9}},{\"content\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1,\"span\":{\"offset\":985,\"length\":8}},{\"content\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1,\"span\":{\"offset\":994,\"length\":4}},{\"content\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1,\"span\":{\"offset\":999,\"length\":7}},{\"content\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":3}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":880,\"length\":12}]},{\"content\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"spans\":[{\"offset\":893,\"length\":15}]},{\"content\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"spans\":[{\"offset\":909,\"length\":30}]},{\"content\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"spans\":[{\"offset\":940,\"length\":34}]},{\"content\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"spans\":[{\"offset\":975,\"length\":23}]},{\"content\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"spans\":[{\"offset\":999,\"length\":21}]}],\"spans\":[{\"offset\":879,\"length\":141}]}],\"tables\":[{\"rowCount\":14,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Package\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.643,2.6225,4.643,2.6225,4.858,0.9997,4.8515]}],\"spans\":[{\"offset\":408,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Included\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.643,5.7478,4.643,5.7478,4.858,2.6225,4.858]}],\"spans\":[{\"offset\":416,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.643,7.4907,4.6495,7.4907,4.858,5.7478,4.858]}],\"spans\":[{\"offset\":425,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Gold Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.8515,2.6225,4.858,2.6225,5.0927,0.9997,5.0861]}],\"spans\":[{\"offset\":431,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.858,5.7478,4.858,5.7478,5.0927,2.6225,5.0927]}],\"spans\":[{\"offset\":444,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.858,7.4907,4.858,7.4907,5.0861,5.7478,5.0927]}],\"spans\":[{\"offset\":455,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.0861,2.6225,5.0927,2.6225,5.9269,0.9997,5.9203]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.0927,5.7478,5.0927,5.7478,5.9269,2.6225,5.9269]}],\"spans\":[{\"offset\":462,\"length\":66}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.0927,7.4907,5.0861,7.4907,5.7574,5.7478,5.7509]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.7509,7.4907,5.7574,7.4907,5.9269,5.7478,5.9269]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.9203,2.6225,5.9269,2.6225,6.7806,0.9997,6.7806]}],\"spans\":[{\"offset\":529,\"length\":14}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.9269,5.7478,5.9269,5.7478,6.1615,2.6225,6.1615]}],\"spans\":[{\"offset\":544,\"length\":10}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.9269,7.4907,5.9269,7.4907,6.3831,5.7478,6.3765]}],\"spans\":[{\"offset\":555,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Post-keynote thank you\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.1615,5.7478,6.1615,5.7478,6.3765,2.6225,6.3765]}],\"spans\":[{\"offset\":562,\"length\":22}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Logo on poster\\nHalf page ad in program guide :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.3765,5.7478,6.3765,5.7478,6.7806,2.6225,6.7806]}],\"spans\":[{\"offset\":585,\"length\":44},{\"offset\":867,\"length\":12}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.3765,7.4907,6.3831,7.4907,6.7806,5.7478,6.7806]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Bronze Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,6.7806,2.6225,6.7806,2.6225,7.6279,0.9997,7.6279]}],\"spans\":[{\"offset\":630,\"length\":14}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.7806,5.7478,6.7806,5.7478,7.0152,2.6225,7.0152]}],\"spans\":[{\"offset\":645,\"length\":10}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.7806,7.4907,6.7806,7.4907,7.6344,5.7478,7.6279]}],\"spans\":[{\"offset\":656,\"length\":6}]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.0152,5.7478,7.0152,5.7478,7.6279,2.6225,7.6279]}],\"spans\":[{\"offset\":663,\"length\":59}]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,7.6279,2.6225,7.6279,2.6225,8.2665,0.9997,8.2665]}],\"spans\":[{\"offset\":723,\"length\":10}]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.6279,5.7478,7.6279,5.7478,8.2665,2.6225,8.2665]}],\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,7.6279,7.4907,7.6344,7.4907,8.2665,5.7478,8.2665]}],\"spans\":[{\"offset\":745,\"length\":4}]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Half Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,8.2665,2.6225,8.2665,2.6225,8.8987,0.9997,8.8987]}],\"spans\":[{\"offset\":795,\"length\":10}]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,8.2665,5.7478,8.2665,5.7478,8.8987,2.6225,8.8987]}],\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,8.2665,7.4907,8.2665,7.4907,8.9052,5.7478,8.8987]}],\"spans\":[{\"offset\":817,\"length\":4}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.993,4.6286,7.5046,4.6277,7.506,8.9112,0.9934,8.9116]}],\"spans\":[{\"offset\":408,\"length\":471}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468]}],\"confidence\":0.778,\"spans\":[{\"offset\":455,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"content\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994]}],\"confidence\":0.771,\"spans\":[{\"offset\":444,\"length\":10},{\"offset\":462,\"length\":66}]}},\"content\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994]}],\"confidence\":0.937,\"spans\":[{\"offset\":431,\"length\":97}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168]}],\"confidence\":0.731,\"spans\":[{\"offset\":555,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"content\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678]}],\"confidence\":0.698,\"spans\":[{\"offset\":544,\"length\":10},{\"offset\":562,\"length\":67}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228]}],\"confidence\":0,\"spans\":[{\"offset\":529,\"length\":14}]}},\"content\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678]}],\"confidence\":0.94,\"spans\":[{\"offset\":529,\"length\":100}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718]}],\"confidence\":0.698,\"spans\":[{\"offset\":656,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"content\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863]}],\"confidence\":0.669,\"spans\":[{\"offset\":645,\"length\":10},{\"offset\":663,\"length\":59}]}},\"content\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863]}],\"confidence\":0.903,\"spans\":[{\"offset\":630,\"length\":92}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165]}],\"confidence\":0.568,\"spans\":[{\"offset\":745,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213]}],\"confidence\":0.662,\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]}},\"content\":\"Full Booth Full booth 50% discount on program guide advertisements $600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213]}],\"confidence\":0.765,\"spans\":[{\"offset\":723,\"length\":71}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515]}],\"confidence\":0.696,\"spans\":[{\"offset\":817,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563]}],\"confidence\":0.773,\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"content\":\"Half\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433]}],\"confidence\":0.305,\"spans\":[{\"offset\":795,\"length\":4}]}},\"content\":\"Half Booth Full booth 25% discount on program guide advertisements $350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563]}],\"confidence\":0.931,\"spans\":[{\"offset\":795,\"length\":71}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"content\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518]}],\"confidence\":0.868,\"spans\":[{\"offset\":363,\"length\":37}]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897]}],\"confidence\":0.946,\"spans\":[{\"offset\":350,\"length\":12}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"content\":\"Elm Conference Center in\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013]}],\"confidence\":0.524,\"spans\":[{\"offset\":96,\"length\":24}]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013]}],\"confidence\":0.513,\"spans\":[{\"offset\":33,\"length\":12}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"content\":\"Southridge Video\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128]}],\"confidence\":0.951,\"spans\":[{\"offset\":923,\"length\":16}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":1020}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/720a0551-667d-41ea-ac9d-3a2007028574?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f0365337-da34-45dc-b2a3-2d368eb1dfd3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "289", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "da89a938-f7f7-4dcf-92b8-40cbcc33d3d3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Vendor #:121\\nVendor Registration\\nContoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\\nMaple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\\nwaitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\\nbelow, and attach a check made out to:\\nContoso Ltd.\\n2345 Dogwood Lane\\nBirch, Kansas 98123\\nRates:\\nPackage\\nIncluded\\nPrice\\nGold Sponsor\\nFull booth\\n$1,500\\nPre-keynote thank you\\nLogo on poster\\nFull page ad in program guide\\nSilver Sponsor\\nFull booth\\n$1,200\\nPost-keynote thank you\\nLogo on poster\\nHalf page ad in program guide\\nBronze Sponsor\\nFull booth\\n$1,000\\nLogo on poster\\n50% discount on program guide\\nadvertisements\\nFull Booth\\nFull booth\\n$600\\n50% discount on program guide\\nadvertisements\\nHalf Booth\\nFull booth\\n$350\\n25% discount on program guide\\nadvertisements\\n:unselected:\\nVendor #:121\\nVendor Details:\\nCompany Name: Southridge Video\\nContact: Jamie@southridgevideo.com\\nPreferred Package: Gold\\nSpecial Requests: N/a\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":0,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":7,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1,\"span\":{\"offset\":13,\"length\":6}},{\"content\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1,\"span\":{\"offset\":20,\"length\":12}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1,\"span\":{\"offset\":33,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1,\"span\":{\"offset\":41,\"length\":4}},{\"content\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1,\"span\":{\"offset\":46,\"length\":10}},{\"content\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1,\"span\":{\"offset\":57,\"length\":4}},{\"content\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1,\"span\":{\"offset\":70,\"length\":2}},{\"content\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1,\"span\":{\"offset\":73,\"length\":3}},{\"content\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1,\"span\":{\"offset\":77,\"length\":6}},{\"content\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1,\"span\":{\"offset\":84,\"length\":4}},{\"content\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1,\"span\":{\"offset\":89,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1,\"span\":{\"offset\":96,\"length\":3}},{\"content\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1,\"span\":{\"offset\":100,\"length\":10}},{\"content\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1,\"span\":{\"offset\":118,\"length\":2}},{\"content\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1,\"span\":{\"offset\":121,\"length\":5}},{\"content\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1,\"span\":{\"offset\":127,\"length\":5}},{\"content\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1,\"span\":{\"offset\":133,\"length\":14}},{\"content\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1,\"span\":{\"offset\":148,\"length\":3}},{\"content\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1,\"span\":{\"offset\":152,\"length\":10}},{\"content\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1,\"span\":{\"offset\":163,\"length\":3}},{\"content\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1,\"span\":{\"offset\":167,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1,\"span\":{\"offset\":172,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1,\"span\":{\"offset\":176,\"length\":2}},{\"content\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1,\"span\":{\"offset\":179,\"length\":3}},{\"content\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1,\"span\":{\"offset\":189,\"length\":8}},{\"content\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1,\"span\":{\"offset\":198,\"length\":4}},{\"content\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1,\"span\":{\"offset\":209,\"length\":6}},{\"content\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1,\"span\":{\"offset\":216,\"length\":9}},{\"content\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1,\"span\":{\"offset\":226,\"length\":6}},{\"content\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1,\"span\":{\"offset\":233,\"length\":12}},{\"content\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1,\"span\":{\"offset\":246,\"length\":3}},{\"content\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1,\"span\":{\"offset\":250,\"length\":5}},{\"content\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1,\"span\":{\"offset\":256,\"length\":8}},{\"content\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1,\"span\":{\"offset\":265,\"length\":7}},{\"content\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1,\"span\":{\"offset\":273,\"length\":3}},{\"content\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1,\"span\":{\"offset\":277,\"length\":3}},{\"content\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1,\"span\":{\"offset\":287,\"length\":6}},{\"content\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1,\"span\":{\"offset\":294,\"length\":4}},{\"content\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1,\"span\":{\"offset\":299,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1,\"span\":{\"offset\":302,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1,\"span\":{\"offset\":306,\"length\":4}},{\"content\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1,\"span\":{\"offset\":311,\"length\":6}},{\"content\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1,\"span\":{\"offset\":318,\"length\":3}},{\"content\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1,\"span\":{\"offset\":322,\"length\":6}},{\"content\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1,\"span\":{\"offset\":329,\"length\":1}},{\"content\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1,\"span\":{\"offset\":331,\"length\":5}},{\"content\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1,\"span\":{\"offset\":337,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1,\"span\":{\"offset\":342,\"length\":3}},{\"content\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1,\"span\":{\"offset\":346,\"length\":3}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1,\"span\":{\"offset\":350,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1,\"span\":{\"offset\":358,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1,\"span\":{\"offset\":363,\"length\":4}},{\"content\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1,\"span\":{\"offset\":368,\"length\":7}},{\"content\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1,\"span\":{\"offset\":376,\"length\":4}},{\"content\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1,\"span\":{\"offset\":381,\"length\":6}},{\"content\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1,\"span\":{\"offset\":388,\"length\":6}},{\"content\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1,\"span\":{\"offset\":401,\"length\":6}},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1,\"span\":{\"offset\":408,\"length\":7}},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1,\"span\":{\"offset\":416,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1,\"span\":{\"offset\":425,\"length\":5}},{\"content\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1,\"span\":{\"offset\":431,\"length\":4}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1,\"span\":{\"offset\":436,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1,\"span\":{\"offset\":444,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1,\"span\":{\"offset\":449,\"length\":5}},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1,\"span\":{\"offset\":455,\"length\":6}},{\"content\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1,\"span\":{\"offset\":462,\"length\":11}},{\"content\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1,\"span\":{\"offset\":474,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1,\"span\":{\"offset\":480,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1,\"span\":{\"offset\":484,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1,\"span\":{\"offset\":489,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1,\"span\":{\"offset\":492,\"length\":6}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1,\"span\":{\"offset\":499,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1,\"span\":{\"offset\":504,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1,\"span\":{\"offset\":509,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1,\"span\":{\"offset\":512,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1,\"span\":{\"offset\":515,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1,\"span\":{\"offset\":523,\"length\":5}},{\"content\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1,\"span\":{\"offset\":529,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1,\"span\":{\"offset\":536,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1,\"span\":{\"offset\":544,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1,\"span\":{\"offset\":549,\"length\":5}},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1,\"span\":{\"offset\":555,\"length\":6}},{\"content\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1,\"span\":{\"offset\":562,\"length\":12}},{\"content\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1,\"span\":{\"offset\":575,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1,\"span\":{\"offset\":581,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1,\"span\":{\"offset\":585,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1,\"span\":{\"offset\":590,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1,\"span\":{\"offset\":593,\"length\":6}},{\"content\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1,\"span\":{\"offset\":600,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1,\"span\":{\"offset\":605,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1,\"span\":{\"offset\":610,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1,\"span\":{\"offset\":613,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1,\"span\":{\"offset\":624,\"length\":5}},{\"content\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1,\"span\":{\"offset\":630,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1,\"span\":{\"offset\":637,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1,\"span\":{\"offset\":645,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1,\"span\":{\"offset\":650,\"length\":5}},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1,\"span\":{\"offset\":656,\"length\":6}},{\"content\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1,\"span\":{\"offset\":663,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1,\"span\":{\"offset\":668,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1,\"span\":{\"offset\":671,\"length\":6}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1,\"span\":{\"offset\":678,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1,\"span\":{\"offset\":682,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1,\"span\":{\"offset\":691,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1,\"span\":{\"offset\":694,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1,\"span\":{\"offset\":702,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1,\"span\":{\"offset\":708,\"length\":14}},{\"content\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1,\"span\":{\"offset\":723,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1,\"span\":{\"offset\":728,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1,\"span\":{\"offset\":734,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1,\"span\":{\"offset\":739,\"length\":5}},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1,\"span\":{\"offset\":745,\"length\":4}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1,\"span\":{\"offset\":754,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1,\"span\":{\"offset\":763,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1,\"span\":{\"offset\":766,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1,\"span\":{\"offset\":774,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1,\"span\":{\"offset\":780,\"length\":14}},{\"content\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1,\"span\":{\"offset\":795,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1,\"span\":{\"offset\":800,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1,\"span\":{\"offset\":806,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1,\"span\":{\"offset\":811,\"length\":5}},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1,\"span\":{\"offset\":817,\"length\":4}},{\"content\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1,\"span\":{\"offset\":822,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1,\"span\":{\"offset\":826,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1,\"span\":{\"offset\":835,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1,\"span\":{\"offset\":838,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1,\"span\":{\"offset\":846,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1,\"span\":{\"offset\":852,\"length\":14}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"span\":{\"offset\":867,\"length\":12}}],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":0,\"length\":12}]},{\"content\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"spans\":[{\"offset\":13,\"length\":19}]},{\"content\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"spans\":[{\"offset\":33,\"length\":87}]},{\"content\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"spans\":[{\"offset\":121,\"length\":94}]},{\"content\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"spans\":[{\"offset\":216,\"length\":94}]},{\"content\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"spans\":[{\"offset\":311,\"length\":38}]},{\"content\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"spans\":[{\"offset\":350,\"length\":12}]},{\"content\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"spans\":[{\"offset\":363,\"length\":17}]},{\"content\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"spans\":[{\"offset\":381,\"length\":19}]},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"spans\":[{\"offset\":401,\"length\":6}]},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"spans\":[{\"offset\":408,\"length\":7}]},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"spans\":[{\"offset\":416,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"spans\":[{\"offset\":425,\"length\":5}]},{\"content\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"spans\":[{\"offset\":431,\"length\":12}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"spans\":[{\"offset\":444,\"length\":10}]},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"spans\":[{\"offset\":455,\"length\":6}]},{\"content\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"spans\":[{\"offset\":462,\"length\":21}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"spans\":[{\"offset\":484,\"length\":14}]},{\"content\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"spans\":[{\"offset\":499,\"length\":29}]},{\"content\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"spans\":[{\"offset\":529,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"spans\":[{\"offset\":544,\"length\":10}]},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"spans\":[{\"offset\":555,\"length\":6}]},{\"content\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"spans\":[{\"offset\":562,\"length\":22}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"spans\":[{\"offset\":585,\"length\":14}]},{\"content\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"spans\":[{\"offset\":600,\"length\":29}]},{\"content\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"spans\":[{\"offset\":630,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"spans\":[{\"offset\":645,\"length\":10}]},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"spans\":[{\"offset\":656,\"length\":6}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"spans\":[{\"offset\":663,\"length\":14}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"spans\":[{\"offset\":678,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"spans\":[{\"offset\":708,\"length\":14}]},{\"content\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"spans\":[{\"offset\":723,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"spans\":[{\"offset\":734,\"length\":10}]},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"spans\":[{\"offset\":745,\"length\":4}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"spans\":[{\"offset\":750,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"spans\":[{\"offset\":780,\"length\":14}]},{\"content\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"spans\":[{\"offset\":795,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"spans\":[{\"offset\":806,\"length\":10}]},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"spans\":[{\"offset\":817,\"length\":4}]},{\"content\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"spans\":[{\"offset\":822,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"spans\":[{\"offset\":852,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":879}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":880,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":887,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1,\"span\":{\"offset\":893,\"length\":6}},{\"content\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1,\"span\":{\"offset\":900,\"length\":8}},{\"content\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1,\"span\":{\"offset\":909,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1,\"span\":{\"offset\":917,\"length\":5}},{\"content\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1,\"span\":{\"offset\":923,\"length\":10}},{\"content\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1,\"span\":{\"offset\":934,\"length\":5}},{\"content\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1,\"span\":{\"offset\":940,\"length\":8}},{\"content\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1,\"span\":{\"offset\":949,\"length\":25}},{\"content\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1,\"span\":{\"offset\":975,\"length\":9}},{\"content\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1,\"span\":{\"offset\":985,\"length\":8}},{\"content\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1,\"span\":{\"offset\":994,\"length\":4}},{\"content\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1,\"span\":{\"offset\":999,\"length\":7}},{\"content\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":3}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":880,\"length\":12}]},{\"content\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"spans\":[{\"offset\":893,\"length\":15}]},{\"content\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"spans\":[{\"offset\":909,\"length\":30}]},{\"content\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"spans\":[{\"offset\":940,\"length\":34}]},{\"content\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"spans\":[{\"offset\":975,\"length\":23}]},{\"content\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"spans\":[{\"offset\":999,\"length\":21}]}],\"spans\":[{\"offset\":879,\"length\":141}]}],\"tables\":[{\"rowCount\":14,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Package\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.643,2.6225,4.643,2.6225,4.858,0.9997,4.8515]}],\"spans\":[{\"offset\":408,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Included\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.643,5.7478,4.643,5.7478,4.858,2.6225,4.858]}],\"spans\":[{\"offset\":416,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.643,7.4907,4.6495,7.4907,4.858,5.7478,4.858]}],\"spans\":[{\"offset\":425,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Gold Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.8515,2.6225,4.858,2.6225,5.0927,0.9997,5.0861]}],\"spans\":[{\"offset\":431,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.858,5.7478,4.858,5.7478,5.0927,2.6225,5.0927]}],\"spans\":[{\"offset\":444,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.858,7.4907,4.858,7.4907,5.0861,5.7478,5.0927]}],\"spans\":[{\"offset\":455,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.0861,2.6225,5.0927,2.6225,5.9269,0.9997,5.9203]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.0927,5.7478,5.0927,5.7478,5.9269,2.6225,5.9269]}],\"spans\":[{\"offset\":462,\"length\":66}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.0927,7.4907,5.0861,7.4907,5.7574,5.7478,5.7509]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.7509,7.4907,5.7574,7.4907,5.9269,5.7478,5.9269]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.9203,2.6225,5.9269,2.6225,6.7806,0.9997,6.7806]}],\"spans\":[{\"offset\":529,\"length\":14}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.9269,5.7478,5.9269,5.7478,6.1615,2.6225,6.1615]}],\"spans\":[{\"offset\":544,\"length\":10}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.9269,7.4907,5.9269,7.4907,6.3831,5.7478,6.3765]}],\"spans\":[{\"offset\":555,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Post-keynote thank you\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.1615,5.7478,6.1615,5.7478,6.3765,2.6225,6.3765]}],\"spans\":[{\"offset\":562,\"length\":22}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Logo on poster\\nHalf page ad in program guide :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.3765,5.7478,6.3765,5.7478,6.7806,2.6225,6.7806]}],\"spans\":[{\"offset\":585,\"length\":44},{\"offset\":867,\"length\":12}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.3765,7.4907,6.3831,7.4907,6.7806,5.7478,6.7806]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Bronze Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,6.7806,2.6225,6.7806,2.6225,7.6279,0.9997,7.6279]}],\"spans\":[{\"offset\":630,\"length\":14}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.7806,5.7478,6.7806,5.7478,7.0152,2.6225,7.0152]}],\"spans\":[{\"offset\":645,\"length\":10}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.7806,7.4907,6.7806,7.4907,7.6344,5.7478,7.6279]}],\"spans\":[{\"offset\":656,\"length\":6}]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.0152,5.7478,7.0152,5.7478,7.6279,2.6225,7.6279]}],\"spans\":[{\"offset\":663,\"length\":59}]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,7.6279,2.6225,7.6279,2.6225,8.2665,0.9997,8.2665]}],\"spans\":[{\"offset\":723,\"length\":10}]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.6279,5.7478,7.6279,5.7478,8.2665,2.6225,8.2665]}],\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,7.6279,7.4907,7.6344,7.4907,8.2665,5.7478,8.2665]}],\"spans\":[{\"offset\":745,\"length\":4}]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Half Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,8.2665,2.6225,8.2665,2.6225,8.8987,0.9997,8.8987]}],\"spans\":[{\"offset\":795,\"length\":10}]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,8.2665,5.7478,8.2665,5.7478,8.8987,2.6225,8.8987]}],\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,8.2665,7.4907,8.2665,7.4907,8.9052,5.7478,8.8987]}],\"spans\":[{\"offset\":817,\"length\":4}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.993,4.6286,7.5046,4.6277,7.506,8.9112,0.9934,8.9116]}],\"spans\":[{\"offset\":408,\"length\":471}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468]}],\"confidence\":0.778,\"spans\":[{\"offset\":455,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"content\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994]}],\"confidence\":0.771,\"spans\":[{\"offset\":444,\"length\":10},{\"offset\":462,\"length\":66}]}},\"content\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994]}],\"confidence\":0.937,\"spans\":[{\"offset\":431,\"length\":97}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168]}],\"confidence\":0.731,\"spans\":[{\"offset\":555,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"content\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678]}],\"confidence\":0.698,\"spans\":[{\"offset\":544,\"length\":10},{\"offset\":562,\"length\":67}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228]}],\"confidence\":0,\"spans\":[{\"offset\":529,\"length\":14}]}},\"content\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678]}],\"confidence\":0.94,\"spans\":[{\"offset\":529,\"length\":100}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718]}],\"confidence\":0.698,\"spans\":[{\"offset\":656,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"content\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863]}],\"confidence\":0.669,\"spans\":[{\"offset\":645,\"length\":10},{\"offset\":663,\"length\":59}]}},\"content\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863]}],\"confidence\":0.903,\"spans\":[{\"offset\":630,\"length\":92}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165]}],\"confidence\":0.568,\"spans\":[{\"offset\":745,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213]}],\"confidence\":0.662,\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]}},\"content\":\"Full Booth Full booth 50% discount on program guide advertisements $600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213]}],\"confidence\":0.765,\"spans\":[{\"offset\":723,\"length\":71}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515]}],\"confidence\":0.696,\"spans\":[{\"offset\":817,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563]}],\"confidence\":0.773,\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"content\":\"Half\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433]}],\"confidence\":0.305,\"spans\":[{\"offset\":795,\"length\":4}]}},\"content\":\"Half Booth Full booth 25% discount on program guide advertisements $350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563]}],\"confidence\":0.931,\"spans\":[{\"offset\":795,\"length\":71}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"content\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518]}],\"confidence\":0.868,\"spans\":[{\"offset\":363,\"length\":37}]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897]}],\"confidence\":0.946,\"spans\":[{\"offset\":350,\"length\":12}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"content\":\"Elm Conference Center in\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013]}],\"confidence\":0.524,\"spans\":[{\"offset\":96,\"length\":24}]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013]}],\"confidence\":0.513,\"spans\":[{\"offset\":33,\"length\":12}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"content\":\"Southridge Video\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128]}],\"confidence\":0.951,\"spans\":[{\"offset\":923,\"length\":16}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":1020}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..e6f57077af09f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b4cfa86f-6a98-48df-8a4b-e9829db221af", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "179", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "62ac0fb2-7d70-4967-9ee3-fcdb6ad406aa", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/62ac0fb2-7d70-4967-9ee3-fcdb6ad406aa?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/62ac0fb2-7d70-4967-9ee3-fcdb6ad406aa?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0a42bba4-3c60-4024-920c-34c973636b8d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "165", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "24be7611-a9b0-48f0-9779-15a197dd1450", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/62ac0fb2-7d70-4967-9ee3-fcdb6ad406aa?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "de9b639b-5e29-4e5e-bd0f-1c81278d4949" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "46fc0dc7-f7ed-4c60-ac28-0a2b232d4056", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..0d87b7a965b38 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d3b91ad5-18b5-4a38-bf95-cfcb820ccfeb", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "375", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5c3a1efc-79c4-4312-ba19-869738971043", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/5c3a1efc-79c4-4312-ba19-869738971043?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/5c3a1efc-79c4-4312-ba19-869738971043?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "663eecd3-c81d-4419-a5f7-e432b6b5c915" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "468", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3779edda-eb04-4018-9c93-dd30813c7e0e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/5c3a1efc-79c4-4312-ba19-869738971043?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6c1dbeae-682a-47bf-926f-8c6974e7dfcb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "146", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bdbccb6d-4f1e-4c8c-ab78-e49e80aa4653", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithPngFile[1].json new file mode 100644 index 0000000000000..18ee4792228e0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptDataWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "543b2f7d-f308-45f5-84a7-addace331ce9", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "816", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7a2825c4-a250-498b-8ea0-fd0545caed36", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/7a2825c4-a250-498b-8ea0-fd0545caed36?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:10 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/7a2825c4-a250-498b-8ea0-fd0545caed36?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ed655a27-781c-4dda-ba2e-80e761831661" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fb25b744-0f18-4ba8-badb-0c0d22e6375c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:15 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/7a2825c4-a250-498b-8ea0-fd0545caed36?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d99daa75-69e2-4dc7-a8f5-7a96a4f8cf12" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "143", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "405f3c53-dbad-4295-91a8-c2f54b0a2c4c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptData[1].json new file mode 100644 index 0000000000000..9c2cb18ab3159 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3d87b75e-8b92-4d42-b12d-b28fcebd73e7", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "365", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "03b61f16-5391-48e9-a7db-fa313430e889", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/03b61f16-5391-48e9-a7db-fa313430e889?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:43 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/03b61f16-5391-48e9-a7db-fa313430e889?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aedd9fd1-c1c0-4a5a-944f-5a20008bfd05" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "146", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "02d564ba-b708-4467-9ef0-e5c057a32c88", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/03b61f16-5391-48e9-a7db-fa313430e889?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "08197ba9-f0ea-468e-bdbc-04588c704b2c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "149", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3cdf47af-f623-4cb7-b73e-92566f7a9d26", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:43Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDamagedPdf[1].json new file mode 100644 index 0000000000000..23869447231d4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2d0a4453-f8b5-4897-a118-9621c1370b84", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "11", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5a434b58-3929-4f1d-a576-b398bd59075d", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:35 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDataMultiPage[1].json new file mode 100644 index 0000000000000..24b5f5e12bf12 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromDataMultiPage[1].json @@ -0,0 +1,84 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5d01deae-07d2-4479-b61c-bbe0ff83bfa4", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "319", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c0ac899e-b5d7-4aa4-a936-a325337ae5d6", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c0ac899e-b5d7-4aa4-a936-a325337ae5d6?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c0ac899e-b5d7-4aa4-a936-a325337ae5d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "46948b6d-b575-4f6a-a59a-e8e03cb86cf9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "84", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5350f45e-5ffd-4bee-a6a9-6c31bb2810ca", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-09-27T17:56:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:47Z\"}", + "Date" : "Mon, 27 Sep 2021 17:56:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c0ac899e-b5d7-4aa4-a936-a325337ae5d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c68a1296-ba6d-4ce3-ae10-4e4e5d1cd66c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "434", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9f3dd490-7154-40c9-8c7d-e153a39b3a7d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:53 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c0ac899e-b5d7-4aa4-a936-a325337ae5d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8fb7d58b-f5d0-4491-a4e9-34ab69da2e3c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "249", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b6dae29a-a337-4f6a-9fcc-a852e73a1083", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:54 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlMultiPage[1].json new file mode 100644 index 0000000000000..135b4e50c3fa8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "81dc75cf-5de3-44b9-83d8-35b4e23d10c3", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "548", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e7ff0e11-a69b-4dd9-9e51-fbc021c000db", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/e7ff0e11-a69b-4dd9-9e51-fbc021c000db?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/e7ff0e11-a69b-4dd9-9e51-fbc021c000db?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1add2d6a-d388-4e5f-b3f0-f1619e209ebb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "133", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3fe31386-402e-4d42-bc43-15694363096f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:00Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/e7ff0e11-a69b-4dd9-9e51-fbc021c000db?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1cbc9a37-4697-4c48-8733-502aa2a119c8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "259", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e1fd90b5-1384-482c-bc2f-75456444783e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:56Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:00Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..e8daa85ae5d2e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "45e76f86-c80b-4311-aa6c-93953a06c87a", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "351", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bb1cf3e4-29fe-4ac8-9753-347ac82ba283", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:35 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..6cfa42465bf12 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d9bd530e-2055-4cf9-9746-7601220abe03", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1106", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "16cf1e38-ea75-4209-b99f-3b82ba5906cc", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrlWithPngFile[1].json new file mode 100644 index 0000000000000..2e2a51081a076 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrlWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "25307a1f-e595-419b-8162-d8822eb95167", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1001", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9d4781ff-603f-44f4-b3d7-1938aa94e465", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/9d4781ff-603f-44f4-b3d7-1938aa94e465?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:56:49 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/9d4781ff-603f-44f4-b3d7-1938aa94e465?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c5c8b8d0-9879-4092-aaee-d736353e902f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "134", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "eb80bc5a-a328-44c1-9673-481f4b06779e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:54Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/9d4781ff-603f-44f4-b3d7-1938aa94e465?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5c7229db-7b1e-4eda-85c0-4a773e29aeec" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "149", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4962f3de-9935-4efc-affc-6d1b451b1ca3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:56:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:56:54Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:56:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrl[1].json new file mode 100644 index 0000000000000..bd72d29b478fd --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.analyzeReceiptSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "857d7aab-93b8-49e8-9018-b198ba368bbb", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "461", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b3443f1d-5b5a-4a63-a376-9d1a63e0ca0b", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/b3443f1d-5b5a-4a63-a376-9d1a63e0ca0b?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:09 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/b3443f1d-5b5a-4a63-a376-9d1a63e0ca0b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e464501d-fd0c-40fe-b8e4-eb9d1e9e1cfb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4f5eee5e-22a5-45b1-9294-5a9ba779ea70", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:09Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:11Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:14 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/b3443f1d-5b5a-4a63-a376-9d1a63e0ca0b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b355fe75-d840-4a7a-995a-1455aa634ce2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "130", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "442ac030-598b-4c91-aef7-cfc7e6a59275", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:09Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:11Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:14 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.businessCardWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.businessCardWithPage[1].json new file mode 100644 index 0000000000000..a89590125c932 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.businessCardWithPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?pages=1&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e6fefcef-0500-4e9b-84ff-5c0818ea367c", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2628", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d37bd7a5-9123-464a-9751-8167a5cca2c7", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/d37bd7a5-9123-464a-9751-8167a5cca2c7?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:48:05 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/d37bd7a5-9123-464a-9751-8167a5cca2c7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "61167a04-76aa-456c-9814-f1e0a7de6443" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e97f4f3a-d981-4ba6-8db9-1dba7008f0c7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:48:04Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:48:09Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:48:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/d37bd7a5-9123-464a-9751-8167a5cca2c7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ff541b6c-3c17-48ac-a0f4-819f6a110583" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "121", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fb5a9770-9a58-4943-8124-c38af2597ec0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:48:04Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:48:09Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:48:12 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.invoiceValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.invoiceValidLocale[1].json new file mode 100644 index 0000000000000..67b73175f5db8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.invoiceValidLocale[1].json @@ -0,0 +1,84 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?locale=en-US&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "be641a77-32cd-43a9-a7fe-07f645528667", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "346", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ed8eded2-8243-4d71-8af0-db46856b019d", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/ed8eded2-8243-4d71-8af0-db46856b019d?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 17:57:01 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/ed8eded2-8243-4d71-8af0-db46856b019d?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "98b2bc61-4c11-4658-895e-476adb961dac" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "164", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "421b9993-e2d8-443f-aadd-be5c5d282976", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/ed8eded2-8243-4d71-8af0-db46856b019d?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aac40abd-9671-4a8f-904b-3fbe897042f9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "128", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "65c3af6a-b4de-41b4-8182-e9571ddb644f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/ed8eded2-8243-4d71-8af0-db46856b019d?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "301681a5-01f0-4899-ba9a-7a616f1f7470" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "152", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e15277b3-cdb1-4732-b05f-56ab48439cf6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T17:57:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T17:57:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 17:57:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.receiptWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.receiptWithPage[1].json new file mode 100644 index 0000000000000..8aa1991fab878 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisAsyncClientTest.receiptWithPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?pages=1&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cf211e83-f674-4d98-8588-7884a52e3e37", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1664", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "06ad0088-2d7b-44f5-9364-dddab9b98e73", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/06ad0088-2d7b-44f5-9364-dddab9b98e73?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:49:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/06ad0088-2d7b-44f5-9364-dddab9b98e73?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2b681430-0bc1-4f46-8914-ffdb4d3d1584" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "64", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "68af75b0-8e6c-4fcc-a120-d59e2d9226b5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:49:02Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:49:08Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:49:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/06ad0088-2d7b-44f5-9364-dddab9b98e73?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fb8d80af-6df7-4591-b59b-4cb3e1887c24" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "116", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d8a4b823-dd40-485c-8c72-425cca788827", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:49:02Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:49:08Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:49:10 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..428de52abb19c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithBlankPdf[1].json @@ -0,0 +1,88 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aa1449dd-3fbc-47e8-b1aa-46f6cd9b628f", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "188", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1f032775-8260-46bf-850b-c8ce5479f474", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1f032775-8260-46bf-850b-c8ce5479f474?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:00 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1f032775-8260-46bf-850b-c8ce5479f474?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d530a580-1931-4849-b8f4-91e5c9d2293e" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.util.concurrent.TimeoutException", + "ErrorMessage" : "Channel response timed out after 60000 milliseconds." + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1f032775-8260-46bf-850b-c8ce5479f474?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d530a580-1931-4849-b8f4-91e5c9d2293e" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.io.IOException", + "ErrorMessage" : "An existing connection was forcibly closed by the remote host" + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1f032775-8260-46bf-850b-c8ce5479f474?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d530a580-1931-4849-b8f4-91e5c9d2293e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "159", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b66b2e0b-6954-4d28-afcc-7af90d0578a8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:01Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:54:30 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/1f032775-8260-46bf-850b-c8ce5479f474?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8076d351-b437-4808-ac02-9dd9ed7eaf10" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3858e76d-1932-4150-9375-a150390cd266", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:01Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:03Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:54:30 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..a075592e044ce --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4b0c2be8-113b-4715-b823-129c94828bfc", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "778", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "15698f5a-bf3c-4607-be0c-0ab0871153ba", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/15698f5a-bf3c-4607-be0c-0ab0871153ba?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:40 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/15698f5a-bf3c-4607-be0c-0ab0871153ba?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b904454c-ad96-4253-bbb1-52c0028811c5" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bb466136-6308-4d26-8c89-8000902f6309", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:40Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:42Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:46 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/15698f5a-bf3c-4607-be0c-0ab0871153ba?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cd00a155-973e-4501-909d-13502826e290" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "174", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4e5b705e-1583-42bf-9671-b309deee06ab", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:40Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:42Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:46 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithPngFile[1].json new file mode 100644 index 0000000000000..35e86eddac6c2 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardDataWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3df10608-85df-4eb0-9334-e83c0fcb8e95", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1433", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0f306d47-1524-4256-b6f3-436ad3055a26", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/0f306d47-1524-4256-b6f3-436ad3055a26?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:35 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/0f306d47-1524-4256-b6f3-436ad3055a26?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "883219b3-4834-4fc5-85f1-ff056ffb94d4" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "156", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "08e3be2a-c3d3-48f7-bf99-7bec5cbc487d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:40 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/0f306d47-1524-4256-b6f3-436ad3055a26?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "39cd6fb0-539d-4192-a607-d3d70be0835e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b461cf53-89f0-49fe-96e3-ca034182a54b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:35Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:38Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardData[1].json new file mode 100644 index 0000000000000..c2c51b72b78b4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8d32dc48-c53a-4f90-a6ae-641677a36df9", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "645", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "93d14a4f-a521-468c-9ab3-e3ef8ec65ec7", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/93d14a4f-a521-468c-9ab3-e3ef8ec65ec7?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:32 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/93d14a4f-a521-468c-9ab3-e3ef8ec65ec7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e5e79929-a8f6-4ba2-b630-db866b1fafa3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "176", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8ca77843-7175-49c5-9999-8a23f0c61776", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:36Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:38 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/93d14a4f-a521-468c-9ab3-e3ef8ec65ec7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "49a6af81-8953-4f57-b5a3-e381984d0417" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "318229f4-4369-4d1d-b077-7df484b45318", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:36Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:38 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromDamagedPdf[1].json new file mode 100644 index 0000000000000..b46d8aaa22f5a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5b979fa8-4b32-438a-be1e-9a1ab7924931", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "3", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8ec3909a-123e-4a34-94a3-07a57305f4ee", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..04d1b34e93148 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "281c4789-ea9e-4563-aaa0-04cd767a20c3", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "2424", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e4e31d6e-ebdc-4b62-b4bb-1a1f0e2c1db5", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:40 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..a6d13f60b7328 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7e7fea03-5f35-4b2b-a59c-b544b7d49334", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1071", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5eddc643-becf-4411-9622-e3536a189237", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:10 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json new file mode 100644 index 0000000000000..8981b1861b1ff --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrlWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b1ab870a-1867-4dd6-a4db-e5df3a69734a", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1233", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "13d3f69a-5108-413f-9e02-a1b1a96f69e7", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/13d3f69a-5108-413f-9e02-a1b1a96f69e7?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/13d3f69a-5108-413f-9e02-a1b1a96f69e7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e5d2d12c-c416-467d-bb5c-9fb630854d0a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "170", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1563cf5e-6bfd-4558-b23e-b39841e915c4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/13d3f69a-5108-413f-9e02-a1b1a96f69e7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7ff1334a-6a9a-48ed-8831-2327ab0dd49e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "152", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "cee05fb1-06e3-4e67-a321-de8efc76fdd7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-16.2216,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1305,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1423,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1015,1358,905,1385],\"confidence\":0.704,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1208,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2901,714,2915,762,2119,984],\"confidence\":0.983,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070],\"confidence\":0.991,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1008,2563,1072,2444,1108],\"confidence\":0.988,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2674,1039,2575,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2670,970,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2835,919,3062,852,3078,914,2851,984],\"confidence\":0.993,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2451,1128,2468,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2602,1150,2481,1185],\"confidence\":0.983,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2598,1080,2692,1051,2708,1119,2614,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2704,1047,2782,1023,2798,1091,2720,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2798,1018,2958,969,2973,1035,2814,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2970,966,3126,920,3141,978,2985,1031],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.983,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1315,2209,1261,2224],\"confidence\":0.984,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1685,1991,1713,2074,1331,2204],\"confidence\":0.997,\"span\":{\"offset\":192,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1738,1973,2023,1873,2051,1942,1766,2054],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2350],\"confidence\":0.995,\"span\":{\"offset\":207,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1860,2063,2220,1936,2247,2019,1888,2152],\"confidence\":0.997,\"span\":{\"offset\":219,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2236,1930,2380,1879,2408,1958,2264,2013],\"confidence\":0.998,\"span\":{\"offset\":227,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2396,1873,2556,1814,2584,1888,2424,1951],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1158,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1592,1139,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,704,2952,754,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,762,3004,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3196,985,3216,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1144,1902,2319,1577,2373,1749,1204,2106],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1263,2224],\"spans\":[{\"offset\":190,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1276,2263,2572,1807,2601,1894,1307,2350],\"spans\":[{\"offset\":207,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1230,2142,2509,1680,2588,1899,1309,2361]}],\"confidence\":0.959,\"spans\":[{\"offset\":190,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1144,1902,2246,1596,2302,1747,1206,2107]}],\"confidence\":0.61,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1128,1113,682,1212]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1159,992,1566,888,1591,993,1182,1100]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1149,1567,888,1594,1007,443,1269]}],\"confidence\":0.977,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1486]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2901,714,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1314,1305,1106,1322,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1045,3061,849,3081,914,2444,1109]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3004,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2462,1122,3125,917,3146,984,2482,1189]}],\"confidence\":0.987,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrl[1].json new file mode 100644 index 0000000000000..f2cc0fecee878 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeBusinessCardSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3b6c7a9e-9021-4148-9e36-26faefb45969", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1427", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7e79f81a-162c-4fea-9854-cff1f77a1162", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/7e79f81a-162c-4fea-9854-cff1f77a1162?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/7e79f81a-162c-4fea-9854-cff1f77a1162?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "96e009d6-14d5-4a55-8182-5424f8fc20fb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "140", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "17c8de2f-eee3-4e09-a37c-f2fecdab6bb1", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/7e79f81a-162c-4fea-9854-cff1f77a1162?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3a6d2704-5ab9-458b-ae9d-de81ac40b9b7" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "135", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8d221bc2-5d00-4f0d-8b76-a775d3abab5e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:03Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:06Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Dr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\nO\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":-15.8319,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[422,1161,641,1114,661,1216,441,1258],\"confidence\":0.998,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211],\"confidence\":0.995,\"span\":{\"offset\":4,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099],\"confidence\":0.995,\"span\":{\"offset\":10,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[450,1317,757,1240,773,1310,465,1383],\"confidence\":0.997,\"span\":{\"offset\":16,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[771,1236,1304,1108,1321,1175,786,1307],\"confidence\":0.993,\"span\":{\"offset\":23,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[475,1414,732,1351,749,1422,493,1483],\"confidence\":0.995,\"span\":{\"offset\":34,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[778,1340,819,1330,836,1401,795,1411],\"confidence\":0.994,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[888,1313,998,1286,1014,1358,904,1385],\"confidence\":0.773,\"span\":{\"offset\":42,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[1012,1282,1585,1142,1600,1209,1028,1354],\"confidence\":0.996,\"span\":{\"offset\":45,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,938,2902,713,2915,762,2119,984],\"confidence\":0.988,\"span\":{\"offset\":56,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070],\"confidence\":0.992,\"span\":{\"offset\":80,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[2243,1103,2415,1048,2432,1112,2259,1163],\"confidence\":0.993,\"span\":{\"offset\":105,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2428,1045,2547,1007,2563,1072,2444,1108],\"confidence\":0.994,\"span\":{\"offset\":110,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2559,1004,2658,973,2675,1039,2576,1069],\"confidence\":0.997,\"span\":{\"offset\":114,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[2671,969,2823,923,2839,988,2687,1035],\"confidence\":0.989,\"span\":{\"offset\":118,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[2836,919,3063,851,3079,913,2852,984],\"confidence\":0.983,\"span\":{\"offset\":123,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[2338,1165,2452,1127,2469,1189,2355,1219],\"confidence\":0.991,\"span\":{\"offset\":130,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2464,1124,2586,1084,2603,1150,2481,1185],\"confidence\":0.989,\"span\":{\"offset\":135,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2599,1080,2693,1050,2709,1119,2615,1147],\"confidence\":0.997,\"span\":{\"offset\":139,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2705,1047,2783,1022,2799,1091,2721,1115],\"confidence\":0.983,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[2799,1017,2959,969,2975,1034,2815,1086],\"confidence\":0.991,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[2972,965,3128,919,3143,977,2987,1030],\"confidence\":0.992,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[2375,1244,2510,1202,2527,1267,2392,1304],\"confidence\":0.983,\"span\":{\"offset\":156,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[2522,1198,2640,1161,2658,1228,2540,1263],\"confidence\":0.997,\"span\":{\"offset\":161,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[2652,1157,2749,1127,2767,1194,2670,1224],\"confidence\":0.997,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[2761,1123,2841,1098,2860,1165,2780,1190],\"confidence\":0.988,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[2858,1093,3017,1042,3036,1107,2876,1160],\"confidence\":0.983,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[3030,1038,3185,989,3204,1050,3049,1103],\"confidence\":0.961,\"span\":{\"offset\":177,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106],\"confidence\":0.997,\"span\":{\"offset\":182,\"length\":7}},{\"content\":\"O\",\"boundingBox\":[631,2075,855,2032,926,2430,687,2472],\"confidence\":0.907,\"span\":{\"offset\":190,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[1234,2141,1287,2124,1314,2208,1260,2224],\"confidence\":0.984,\"span\":{\"offset\":192,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[1303,2119,1683,1992,1711,2074,1330,2203],\"confidence\":0.997,\"span\":{\"offset\":194,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[1736,1974,2020,1874,2049,1943,1764,2055],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[1277,2262,1843,2069,1871,2158,1305,2349],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[1859,2063,2219,1936,2247,2020,1887,2152],\"confidence\":0.997,\"span\":{\"offset\":221,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[2235,1930,2379,1879,2407,1958,2263,2013],\"confidence\":0.998,\"span\":{\"offset\":229,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[2395,1873,2555,1815,2583,1889,2423,1952],\"confidence\":0.997,\"span\":{\"offset\":232,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[421,1157,1612,875,1638,989,444,1258],\"spans\":[{\"offset\":0,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[450,1315,1316,1105,1333,1172,465,1383],\"spans\":[{\"offset\":16,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[475,1414,1593,1140,1609,1209,492,1483],\"spans\":[{\"offset\":34,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[2107,932,2937,703,2952,753,2120,984],\"spans\":[{\"offset\":56,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1006,2988,761,3003,822,2136,1069],\"spans\":[{\"offset\":80,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2242,1101,3076,846,3094,908,2259,1163],\"spans\":[{\"offset\":105,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2337,1160,3134,917,3151,979,2356,1219],\"spans\":[{\"offset\":130,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2375,1244,3195,985,3215,1051,2394,1304],\"spans\":[{\"offset\":156,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[1145,1901,2319,1578,2372,1749,1205,2105],\"spans\":[{\"offset\":182,\"length\":7}]},{\"content\":\"O\",\"boundingBox\":[631,2072,1063,2006,1106,2387,688,2473],\"spans\":[{\"offset\":190,\"length\":1}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[1233,2141,2024,1872,2051,1953,1262,2224],\"spans\":[{\"offset\":192,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1277,2263,2572,1808,2601,1894,1307,2349],\"spans\":[{\"offset\":209,\"length\":26}]}],\"spans\":[{\"offset\":0,\"length\":235}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,4032,0,4032,3024,0,3024]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1231,2142,2509,1682,2587,1900,1309,2360]}],\"confidence\":0.97,\"spans\":[{\"offset\":192,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1145,1900,2243,1597,2298,1748,1206,2106]}],\"confidence\":0.681,\"spans\":[{\"offset\":182,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[661,1109,1104,1006,1127,1113,682,1211]}],\"spans\":[{\"offset\":4,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1158,992,1565,888,1591,994,1182,1099]}],\"spans\":[{\"offset\":10,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[416,1148,1567,888,1594,1007,443,1268]}],\"confidence\":0.978,\"spans\":[{\"offset\":0,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[475,1413,1585,1142,1603,1215,492,1485]}],\"confidence\":0.989,\"spans\":[{\"offset\":34,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2107,938,2902,713,2915,762,2119,984]}],\"confidence\":0.99,\"spans\":[{\"offset\":56,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2519,1197,3185,989,3206,1057,2541,1265]}],\"confidence\":0.99,\"spans\":[{\"offset\":161,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[448,1315,1304,1106,1321,1177,465,1385]}],\"confidence\":0.99,\"spans\":[{\"offset\":16,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2425,1044,3062,849,3082,914,2444,1110]}],\"confidence\":0.99,\"spans\":[{\"offset\":110,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2121,1006,2990,762,3003,822,2137,1070]}],\"confidence\":0.99,\"spans\":[{\"offset\":80,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2461,1122,3127,915,3148,982,2483,1190]}],\"confidence\":0.989,\"spans\":[{\"offset\":135,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":235}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDamagedPdf[1].json new file mode 100644 index 0000000000000..22b4001e70ee7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c24d5cd5-2334-4fd8-a7e4-9cd57037fe64", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "3", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6c7757d6-4aa4-4ad8-aa3d-23b2ecba34c1", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDataMultiPage[1].json new file mode 100644 index 0000000000000..7cd35efdc5e29 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromDataMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "87234326-5847-4b16-b3d8-83ddf6832a77", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "375", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "43ef7c45-7a27-4aaf-b77a-9640874a52ff", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/43ef7c45-7a27-4aaf-b77a-9640874a52ff?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:45 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/43ef7c45-7a27-4aaf-b77a-9640874a52ff?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9b1775af-4839-4ca4-914f-0846ca6c238d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "299", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e8001d8c-18af-4a3d-b0fc-30bea7869c27", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:46Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/43ef7c45-7a27-4aaf-b77a-9640874a52ff?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "83bc8ea0-b3a0-449f-929b-523ef9c2bac3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "316", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "936aeea5-eb9f-440f-b5c3-fc741e69e2bb", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:46Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:48Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlMultiPage[1].json new file mode 100644 index 0000000000000..0a78b09efbb32 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fe6ae883-31a4-4403-8c0e-d2f0099e9362", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "534", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4f657bf9-c1ee-41da-8cf0-7f221797b1fb", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/4f657bf9-c1ee-41da-8cf0-7f221797b1fb?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:48 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/4f657bf9-c1ee-41da-8cf0-7f221797b1fb?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b887b6f5-7404-43c8-8075-b8f473aa451e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "266", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "31d11bcf-7a7a-4a33-afab-161e0e578d9f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:47Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:51Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:53 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/4f657bf9-c1ee-41da-8cf0-7f221797b1fb?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8c9c5086-cfc3-46fb-90f6-dd685cd63cf4" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "246", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6b0c73f3-3967-479c-95c4-9e1cb09da451", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:47Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:51Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:53 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..b9a88048b493f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4597c8f6-9c11-4a6c-b005-f8e1461cd5a5", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "215", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "25e7ba6d-292b-46a3-a796-cd5ca167153b", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithPdf[1].json new file mode 100644 index 0000000000000..82b62e3f42efa --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrlWithPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fa0256cd-b06a-4383-b6a2-40dcee07643f", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "569", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9e422a3e-597c-4cc4-af1e-a8aee4bdeefe", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/9e422a3e-597c-4cc4-af1e-a8aee4bdeefe?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:24 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/9e422a3e-597c-4cc4-af1e-a8aee4bdeefe?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "686947c0-3e61-4136-854e-b6b3004cfcb8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "127", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6f527063-86bf-4667-964c-0b6727e6df9d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:24Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso Suites\\nAddress:\\n14564 Main St.\\nSaratoga, CA 94588\\nInvoice For: First Up Consultants\\n1234 King St\\nRedmond, WA 97624\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n7689302\\n3/09/2015\\n6/29/2016\\n$22,123.24\\nQR\\nPage\\n1 of\\n1\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.354,0.5375,1.354],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Suites\",\"boundingBox\":[1.758,1.1349,2.6064,1.1349,2.6064,1.3534,1.758,1.3534],\"confidence\":1,\"span\":{\"offset\":8,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"confidence\":1,\"span\":{\"offset\":15,\"length\":8}},{\"content\":\"14564\",\"boundingBox\":[0.8107,1.705,1.1733,1.705,1.1733,1.8075,0.8107,1.8075],\"confidence\":1,\"span\":{\"offset\":24,\"length\":5}},{\"content\":\"Main\",\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"confidence\":1,\"span\":{\"offset\":30,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"confidence\":1,\"span\":{\"offset\":35,\"length\":3}},{\"content\":\"Saratoga,\",\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"CA\",\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"confidence\":1,\"span\":{\"offset\":49,\"length\":2}},{\"content\":\"94588\",\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"confidence\":1,\"span\":{\"offset\":52,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":58,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":66,\"length\":4}},{\"content\":\"First\",\"boundingBox\":[5.2048,1.513,5.4927,1.513,5.4927,1.6151,5.2048,1.6151],\"confidence\":1,\"span\":{\"offset\":71,\"length\":5}},{\"content\":\"Up\",\"boundingBox\":[5.5427,1.513,5.712,1.513,5.712,1.6407,5.5427,1.6407],\"confidence\":1,\"span\":{\"offset\":77,\"length\":2}},{\"content\":\"Consultants\",\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"confidence\":1,\"span\":{\"offset\":80,\"length\":11}},{\"content\":\"1234\",\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.817,5.2043,1.817],\"confidence\":1,\"span\":{\"offset\":92,\"length\":4}},{\"content\":\"King\",\"boundingBox\":[5.5499,1.7149,5.838,1.7149,5.838,1.8444,5.5499,1.8444],\"confidence\":1,\"span\":{\"offset\":97,\"length\":4}},{\"content\":\"St\",\"boundingBox\":[5.8903,1.7133,6.022,1.7133,6.022,1.8172,5.8903,1.8172],\"confidence\":1,\"span\":{\"offset\":102,\"length\":2}},{\"content\":\"Redmond,\",\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"confidence\":1,\"span\":{\"offset\":105,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"confidence\":1,\"span\":{\"offset\":114,\"length\":2}},{\"content\":\"97624\",\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"confidence\":1,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":123,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":131,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":138,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":151,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":163,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":168,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":180,\"length\":2}},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"confidence\":1,\"span\":{\"offset\":183,\"length\":7}},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"confidence\":1,\"span\":{\"offset\":191,\"length\":9}},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":201,\"length\":9}},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"confidence\":1,\"span\":{\"offset\":211,\"length\":10}},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"confidence\":1,\"span\":{\"offset\":222,\"length\":2}},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"confidence\":1,\"span\":{\"offset\":230,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"confidence\":1,\"span\":{\"offset\":232,\"length\":2}},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"confidence\":1,\"span\":{\"offset\":235,\"length\":1}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso Suites\",\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.354,0.5375,1.354],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"spans\":[{\"offset\":15,\"length\":8}]},{\"content\":\"14564 Main St.\",\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"spans\":[{\"offset\":24,\"length\":14}]},{\"content\":\"Saratoga, CA 94588\",\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"spans\":[{\"offset\":39,\"length\":18}]},{\"content\":\"Invoice For: First Up Consultants\",\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"spans\":[{\"offset\":58,\"length\":33}]},{\"content\":\"1234 King St\",\"boundingBox\":[5.2043,1.7133,6.022,1.7133,6.022,1.8444,5.2043,1.8444],\"spans\":[{\"offset\":92,\"length\":12}]},{\"content\":\"Redmond, WA 97624\",\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"spans\":[{\"offset\":105,\"length\":17}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":123,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":138,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":151,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":176,\"length\":6}]},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"spans\":[{\"offset\":183,\"length\":7}]},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"spans\":[{\"offset\":191,\"length\":9}]},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"spans\":[{\"offset\":201,\"length\":9}]},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"spans\":[{\"offset\":211,\"length\":10}]},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"spans\":[{\"offset\":222,\"length\":2}]},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"spans\":[{\"offset\":225,\"length\":4}]},{\"content\":\"1 of\",\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"spans\":[{\"offset\":230,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"spans\":[{\"offset\":235,\"length\":1}]}],\"spans\":[{\"offset\":0,\"length\":236}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5108,2.7887,1.8852,2.7887,1.8924,3.3133,0.5037,3.3133]}],\"spans\":[{\"offset\":123,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8852,2.7887,3.2954,2.7887,3.3026,3.3205,1.8924,3.3133]}],\"spans\":[{\"offset\":138,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2954,2.7887,4.7056,2.7887,4.7056,3.3133,3.3026,3.3205]}],\"spans\":[{\"offset\":151,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,2.7887,6.1014,2.7887,6.1014,3.3133,4.7056,3.3133]}],\"spans\":[{\"offset\":168,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,2.7887,7.4973,2.7887,7.4973,3.3205,6.1014,3.3133]}],\"spans\":[{\"offset\":176,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"7689302\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5037,3.3133,1.8924,3.3133,1.8995,3.8523,0.5037,3.8523]}],\"spans\":[{\"offset\":183,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"3/09/2015\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8924,3.3133,3.3026,3.3205,3.3097,3.8523,1.8995,3.8523]}],\"spans\":[{\"offset\":191,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/29/2016\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3026,3.3205,4.7056,3.3133,4.7056,3.8523,3.3097,3.8523]}],\"spans\":[{\"offset\":201,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$22,123.24\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,3.3133,6.1014,3.3133,6.1014,3.8523,4.7056,3.8523]}],\"spans\":[{\"offset\":211,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"QR\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,3.3133,7.4973,3.3205,7.4973,3.8523,6.1014,3.8523]}],\"spans\":[{\"offset\":222,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.515,2.7835,7.4987,2.7841,7.498,3.8596,0.5141,3.8592]}],\"spans\":[{\"offset\":123,\"length\":101}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:29 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/9e422a3e-597c-4cc4-af1e-a8aee4bdeefe?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "16b16beb-5c27-4226-8efc-0a8ed553149d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "417959ef-9deb-41da-ac8d-7480d826c2a4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:24Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso Suites\\nAddress:\\n14564 Main St.\\nSaratoga, CA 94588\\nInvoice For: First Up Consultants\\n1234 King St\\nRedmond, WA 97624\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n7689302\\n3/09/2015\\n6/29/2016\\n$22,123.24\\nQR\\nPage\\n1 of\\n1\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.354,0.5375,1.354],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Suites\",\"boundingBox\":[1.758,1.1349,2.6064,1.1349,2.6064,1.3534,1.758,1.3534],\"confidence\":1,\"span\":{\"offset\":8,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"confidence\":1,\"span\":{\"offset\":15,\"length\":8}},{\"content\":\"14564\",\"boundingBox\":[0.8107,1.705,1.1733,1.705,1.1733,1.8075,0.8107,1.8075],\"confidence\":1,\"span\":{\"offset\":24,\"length\":5}},{\"content\":\"Main\",\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"confidence\":1,\"span\":{\"offset\":30,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"confidence\":1,\"span\":{\"offset\":35,\"length\":3}},{\"content\":\"Saratoga,\",\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"CA\",\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"confidence\":1,\"span\":{\"offset\":49,\"length\":2}},{\"content\":\"94588\",\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"confidence\":1,\"span\":{\"offset\":52,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":58,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":66,\"length\":4}},{\"content\":\"First\",\"boundingBox\":[5.2048,1.513,5.4927,1.513,5.4927,1.6151,5.2048,1.6151],\"confidence\":1,\"span\":{\"offset\":71,\"length\":5}},{\"content\":\"Up\",\"boundingBox\":[5.5427,1.513,5.712,1.513,5.712,1.6407,5.5427,1.6407],\"confidence\":1,\"span\":{\"offset\":77,\"length\":2}},{\"content\":\"Consultants\",\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"confidence\":1,\"span\":{\"offset\":80,\"length\":11}},{\"content\":\"1234\",\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.817,5.2043,1.817],\"confidence\":1,\"span\":{\"offset\":92,\"length\":4}},{\"content\":\"King\",\"boundingBox\":[5.5499,1.7149,5.838,1.7149,5.838,1.8444,5.5499,1.8444],\"confidence\":1,\"span\":{\"offset\":97,\"length\":4}},{\"content\":\"St\",\"boundingBox\":[5.8903,1.7133,6.022,1.7133,6.022,1.8172,5.8903,1.8172],\"confidence\":1,\"span\":{\"offset\":102,\"length\":2}},{\"content\":\"Redmond,\",\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"confidence\":1,\"span\":{\"offset\":105,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"confidence\":1,\"span\":{\"offset\":114,\"length\":2}},{\"content\":\"97624\",\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"confidence\":1,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":123,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":131,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":138,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":146,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":151,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":163,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":168,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":180,\"length\":2}},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"confidence\":1,\"span\":{\"offset\":183,\"length\":7}},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"confidence\":1,\"span\":{\"offset\":191,\"length\":9}},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":201,\"length\":9}},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"confidence\":1,\"span\":{\"offset\":211,\"length\":10}},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"confidence\":1,\"span\":{\"offset\":222,\"length\":2}},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"confidence\":1,\"span\":{\"offset\":230,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"confidence\":1,\"span\":{\"offset\":232,\"length\":2}},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"confidence\":1,\"span\":{\"offset\":235,\"length\":1}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso Suites\",\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.354,0.5375,1.354],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Address:\",\"boundingBox\":[0.7984,1.515,1.3826,1.515,1.3826,1.6161,0.7984,1.6161],\"spans\":[{\"offset\":15,\"length\":8}]},{\"content\":\"14564 Main St.\",\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"spans\":[{\"offset\":24,\"length\":14}]},{\"content\":\"Saratoga, CA 94588\",\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"spans\":[{\"offset\":39,\"length\":18}]},{\"content\":\"Invoice For: First Up Consultants\",\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"spans\":[{\"offset\":58,\"length\":33}]},{\"content\":\"1234 King St\",\"boundingBox\":[5.2043,1.7133,6.022,1.7133,6.022,1.8444,5.2043,1.8444],\"spans\":[{\"offset\":92,\"length\":12}]},{\"content\":\"Redmond, WA 97624\",\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"spans\":[{\"offset\":105,\"length\":17}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":123,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":138,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":151,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":176,\"length\":6}]},{\"content\":\"7689302\",\"boundingBox\":[0.5415,3.411,1.0661,3.411,1.0661,3.5136,0.5415,3.5136],\"spans\":[{\"offset\":183,\"length\":7}]},{\"content\":\"3/09/2015\",\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"spans\":[{\"offset\":191,\"length\":9}]},{\"content\":\"6/29/2016\",\"boundingBox\":[3.346,3.4097,3.9496,3.4097,3.9496,3.5144,3.346,3.5144],\"spans\":[{\"offset\":201,\"length\":9}]},{\"content\":\"$22,123.24\",\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"spans\":[{\"offset\":211,\"length\":10}]},{\"content\":\"QR\",\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"spans\":[{\"offset\":222,\"length\":2}]},{\"content\":\"Page\",\"boundingBox\":[6.2429,9.667,6.5489,9.667,6.5489,9.7966,6.2429,9.7966],\"spans\":[{\"offset\":225,\"length\":4}]},{\"content\":\"1 of\",\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"spans\":[{\"offset\":230,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"spans\":[{\"offset\":235,\"length\":1}]}],\"spans\":[{\"offset\":0,\"length\":236}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5108,2.7887,1.8852,2.7887,1.8924,3.3133,0.5037,3.3133]}],\"spans\":[{\"offset\":123,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8852,2.7887,3.2954,2.7887,3.3026,3.3205,1.8924,3.3133]}],\"spans\":[{\"offset\":138,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2954,2.7887,4.7056,2.7887,4.7056,3.3133,3.3026,3.3205]}],\"spans\":[{\"offset\":151,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,2.7887,6.1014,2.7887,6.1014,3.3133,4.7056,3.3133]}],\"spans\":[{\"offset\":168,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,2.7887,7.4973,2.7887,7.4973,3.3205,6.1014,3.3133]}],\"spans\":[{\"offset\":176,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"7689302\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5037,3.3133,1.8924,3.3133,1.8995,3.8523,0.5037,3.8523]}],\"spans\":[{\"offset\":183,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"3/09/2015\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8924,3.3133,3.3026,3.3205,3.3097,3.8523,1.8995,3.8523]}],\"spans\":[{\"offset\":191,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/29/2016\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3026,3.3205,4.7056,3.3133,4.7056,3.8523,3.3097,3.8523]}],\"spans\":[{\"offset\":201,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$22,123.24\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7056,3.3133,6.1014,3.3133,6.1014,3.8523,4.7056,3.8523]}],\"spans\":[{\"offset\":211,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"QR\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1014,3.3133,7.4973,3.3205,7.4973,3.8523,6.1014,3.8523]}],\"spans\":[{\"offset\":222,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.515,2.7835,7.4987,2.7841,7.498,3.8596,0.5141,3.8592]}],\"spans\":[{\"offset\":123,\"length\":101}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:30 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrl[1].json new file mode 100644 index 0000000000000..141f8b5c9c53d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ba3bf9d1-e061-4ce5-aa45-eaa04236588d", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "549", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "659e3dff-809f-4b3d-abca-a306f7546050", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/659e3dff-809f-4b3d-abca-a306f7546050?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:27 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/659e3dff-809f-4b3d-abca-a306f7546050?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "222e31ba-9fe4-42b6-bd00-501911a371c2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "162", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b34fbcfd-9e6a-42d8-81c1-f88c06b79575", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:26Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:28Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:32 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/659e3dff-809f-4b3d-abca-a306f7546050?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "934b441f-2694-4b21-902a-889004d784a2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bbebae58-8e69-41df-8fd7-1b67c687dc88", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:26Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:28Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:31 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..5beb88b9095f9 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6b74a998-477a-4c9a-95d9-3f153b2eafb4", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "998", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "00643e4b-290c-4293-a5b9-e86771ba61ac", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithBlankPdf[1].json new file mode 100644 index 0000000000000..f206ec37fd831 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1325057c-1069-4523-8115-8abf7815cc91", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "197", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "04df3f1d-0cfe-433a-a005-d73522f34623", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/04df3f1d-0cfe-433a-a005-d73522f34623?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:53 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/04df3f1d-0cfe-433a-a005-d73522f34623?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "abe2eec4-e440-4fdb-b3b3-3339d6327188" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "178", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "67cc7af4-2697-479c-8cf2-5597ade6d36f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:53Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:58 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/04df3f1d-0cfe-433a-a005-d73522f34623?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "807d3b2d-78d0-4f01-a893-21b697a8f484" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "124", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "17fa5062-e0ad-4e39-85a3-bc5f54e93bc3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:53Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..3eb9079e002b8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "09cb7568-2b32-41ad-93c7-06eec94edcdf", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "516", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "77954b98-b3cd-433d-93d1-8d04d09efb8e", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/77954b98-b3cd-433d-93d1-8d04d09efb8e?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:22 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/77954b98-b3cd-433d-93d1-8d04d09efb8e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "189a02be-b1d8-413f-88aa-6b98f5d89986" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "127", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e32bcd2c-b1c6-4691-85a4-e247b41150d6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:22Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:25Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:28 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/77954b98-b3cd-433d-93d1-8d04d09efb8e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d4eb4f65-1317-4652-ab99-950cd7418866" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "156", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "dbeda4e4-b2cc-4825-828c-1cb220b4c063", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:22Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:25Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:29 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentResultWithNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPageRange[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPageRange[1].json new file mode 100644 index 0000000000000..f31e244a707b0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPageRange[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f76f8625-fab7-4bce-b176-400d48f2c6c4", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "374", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "12fa979a-1832-4373-b51c-13a2c9be43f3", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12fa979a-1832-4373-b51c-13a2c9be43f3?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12fa979a-1832-4373-b51c-13a2c9be43f3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "afc520fb-c2ee-4e91-bdfa-90fe29838d89" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "339", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "62bd9734-da52-4c4b-9af3-a7203fd4747a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:26Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:30Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:32 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12fa979a-1832-4373-b51c-13a2c9be43f3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b0aa28b6-8541-4ea1-a14c-077e1fc4fec2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "292", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f33c84cf-2090-47ef-9e54-9837e65ab583", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:26Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:30Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:32 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPage[1].json new file mode 100644 index 0000000000000..29078cad6357d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?pages=1&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "160ee746-69ee-4237-9c79-9e63ea6f0ffb", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1139", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "047755d5-460f-4f6b-9bd4-e37b671be73c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/047755d5-460f-4f6b-9bd4-e37b671be73c?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:44:13 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/047755d5-460f-4f6b-9bd4-e37b671be73c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f3eeb334-8663-4149-b27d-57a3c94a5636" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "839", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9ba47015-5b56-4136-af29-5e076f04b745", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:44:13Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:44:17Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:44:21 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/047755d5-460f-4f6b-9bd4-e37b671be73c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2a9d591f-badd-4acf-be4d-df63ae30a8ee" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "416", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c870e72a-8e8f-48fb-b318-2f8347a56c77", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:44:13Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:44:17Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:44:22 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPages[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPages[1].json new file mode 100644 index 0000000000000..f573cab6ff364 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithPages[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?pages=1%2C2&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "188c16a7-8424-43d8-8d7e-0f174e7bd09f", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "965", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b97ecd70-0262-4d00-afa6-7a236458e074", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://formrecognizerfrtest.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/b97ecd70-0262-4d00-afa6-7a236458e074?api-version=2021-09-30-preview", + "Date" : "Fri, 01 Oct 2021 18:45:18 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/b97ecd70-0262-4d00-afa6-7a236458e074?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ba32165-d9a8-43f7-83a4-4177e1cdab35" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "497", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ecf53a73-4568-4649-be76-691efd4a7894", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:45:18Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:45:22Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:45:24 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/b97ecd70-0262-4d00-afa6-7a236458e074?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "71b410c7-b7d6-4936-accc-5f75996dcc1a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "493", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "24934cdf-dfe7-4b1c-ab06-8b2c00268e78", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-10-01T18:45:18Z\",\"lastUpdatedDateTime\":\"2021-10-01T18:45:22Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]}]}}", + "Date" : "Fri, 01 Oct 2021 18:45:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarksFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarksFromUrl[1].json new file mode 100644 index 0000000000000..39c10a19a6f3d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarksFromUrl[1].json @@ -0,0 +1,100 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7d017819-c0b1-4f6d-938a-dc29e69e2d46", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "948", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ce004ef-149c-4d5b-b65d-1d65243ae205" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.util.concurrent.TimeoutException", + "ErrorMessage" : "Channel response timed out after 60000 milliseconds." + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ce004ef-149c-4d5b-b65d-1d65243ae205" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.io.IOException", + "ErrorMessage" : "An existing connection was forcibly closed by the remote host" + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ce004ef-149c-4d5b-b65d-1d65243ae205" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.io.IOException", + "ErrorMessage" : "An existing connection was forcibly closed by the remote host" + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ce004ef-149c-4d5b-b65d-1d65243ae205" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "09453c51-17a8-4db6-81a5-986754ff3231", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:54:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/0bc3e7c4-5a0a-445b-8f38-d8be3278d5bd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a0962c21-604f-4b5a-8f56-8d76ffa848db" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "159", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2231a927-77c3-485e-864b-f220c42261d2", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:54:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarks[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarks[1].json new file mode 100644 index 0000000000000..29cf8bdb9216e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContentWithSelectionMarks[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f2f76784-9888-4639-997c-150e5eaa0ade", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "417", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3c7a52f8-fb00-475c-834c-4d90a9e1008c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/3c7a52f8-fb00-475c-834c-4d90a9e1008c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:53 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/3c7a52f8-fb00-475c-834c-4d90a9e1008c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fa5ef14f-c2ec-484d-81db-e8e2a5053d83" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "164", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "71ffe144-4bb6-4aff-9e8c-feb9f6639819", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:53Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/3c7a52f8-fb00-475c-834c-4d90a9e1008c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f17db089-4da3-4fbc-a517-392dd4af4f33" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "141", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "26e5f2fb-2dae-4b05-8e0a-d8ba11692dd0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:53Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:56Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"STATE OF CALIFORNIA: CONTOSO\\nBUREAU OF INSURANCE\\n124 Main Street Palo Alto CA 842325\\n(650)768-2322\\nAUTHORIZATION OF CREDIT CARD PAYMENT\\nFees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\\nwith your credit card, please complete this form and send it with your paperwork. Payment through\\ncredit cards will not be processed without this authorization form. Please print or type clearly.\\nName (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\\nContoso Insurance 54353T7A, 36-1222985\\nPurpose of Payment:\\nBalance on Account\\nCard Type: ❑Visa\\n❑x AMEX\\n❑Master Card\\nI authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\\nto charge my: Visa\\n4872876432425423\\n____________________________\\nExpiration date:\\n09\\n/\\n21\\nin the amount of: $__________________\\n(Card number – Please print clearly)\\n263.00\\nSignature: ___________________________________________\\n(must be signed by authorized person to validate)\\n08\\n23\\n2018\\n______\\nForm is available on our website: www.contoso.com/insurance You may fax the form to:\\n650-768-2322 or e-mail to: insurance@contoso.com\\nOFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\\nwww.contoso.com/insurance\\nContoso\\nCONTOSO BANK\\nName of Cardholder:\\nContact persons phone #, if questions with this\\nJohn Singer\\nform. Telephone #: (\\n425\\n)\\n779 3479\\n-\\nEmail Address:\\njohnsinger@hotmail.com\\nMailing Address:\\n472 SE 74th ST\\nCity:\\nLakewood\\nState:\\nWA\\nZip Code:\\n98712\\nJohn Singer\\n:unselected:\\n:selected:\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"STATE\",\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"confidence\":1,\"span\":{\"offset\":0,\"length\":5}},{\"content\":\"OF\",\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"confidence\":1,\"span\":{\"offset\":6,\"length\":2}},{\"content\":\"CALIFORNIA:\",\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"confidence\":1,\"span\":{\"offset\":9,\"length\":11}},{\"content\":\"CONTOSO\",\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"confidence\":1,\"span\":{\"offset\":21,\"length\":7}},{\"content\":\"BUREAU\",\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"confidence\":1,\"span\":{\"offset\":29,\"length\":6}},{\"content\":\"OF\",\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"confidence\":1,\"span\":{\"offset\":36,\"length\":2}},{\"content\":\"INSURANCE\",\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"confidence\":1,\"span\":{\"offset\":39,\"length\":9}},{\"content\":\"124\",\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"confidence\":1,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"confidence\":1,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"confidence\":1,\"span\":{\"offset\":75,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"confidence\":1,\"span\":{\"offset\":78,\"length\":6}},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"confidence\":1,\"span\":{\"offset\":85,\"length\":13}},{\"content\":\"AUTHORIZATION\",\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"confidence\":1,\"span\":{\"offset\":99,\"length\":13}},{\"content\":\"OF\",\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"confidence\":1,\"span\":{\"offset\":113,\"length\":2}},{\"content\":\"CREDIT\",\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"confidence\":1,\"span\":{\"offset\":116,\"length\":6}},{\"content\":\"CARD\",\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"confidence\":1,\"span\":{\"offset\":123,\"length\":4}},{\"content\":\"PAYMENT\",\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"confidence\":1,\"span\":{\"offset\":128,\"length\":7}},{\"content\":\"Fees\",\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"confidence\":1,\"span\":{\"offset\":136,\"length\":4}},{\"content\":\"owed\",\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"confidence\":1,\"span\":{\"offset\":141,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"confidence\":1,\"span\":{\"offset\":146,\"length\":2}},{\"content\":\"this\",\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"confidence\":1,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Department\",\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"confidence\":1,\"span\":{\"offset\":154,\"length\":10}},{\"content\":\"may\",\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"confidence\":1,\"span\":{\"offset\":165,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"confidence\":1,\"span\":{\"offset\":169,\"length\":2}},{\"content\":\"paid\",\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"confidence\":1,\"span\":{\"offset\":172,\"length\":4}},{\"content\":\"by\",\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"confidence\":1,\"span\":{\"offset\":177,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"confidence\":1,\"span\":{\"offset\":180,\"length\":3}},{\"content\":\"use\",\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"confidence\":1,\"span\":{\"offset\":184,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"confidence\":1,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"a\",\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"confidence\":1,\"span\":{\"offset\":191,\"length\":1}},{\"content\":\"credit\",\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"confidence\":1,\"span\":{\"offset\":193,\"length\":6}},{\"content\":\"card.\",\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"confidence\":1,\"span\":{\"offset\":200,\"length\":5}},{\"content\":\"If\",\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"confidence\":1,\"span\":{\"offset\":206,\"length\":2}},{\"content\":\"you\",\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"confidence\":1,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"wish\",\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"confidence\":1,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"to\",\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"confidence\":1,\"span\":{\"offset\":218,\"length\":2}},{\"content\":\"pay\",\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"confidence\":1,\"span\":{\"offset\":221,\"length\":3}},{\"content\":\"your\",\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"confidence\":1,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"fee(s)\",\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"confidence\":1,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"with\",\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"confidence\":1,\"span\":{\"offset\":237,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"confidence\":1,\"span\":{\"offset\":242,\"length\":4}},{\"content\":\"credit\",\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"confidence\":1,\"span\":{\"offset\":247,\"length\":6}},{\"content\":\"card,\",\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"confidence\":1,\"span\":{\"offset\":254,\"length\":5}},{\"content\":\"please\",\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"confidence\":1,\"span\":{\"offset\":260,\"length\":6}},{\"content\":\"complete\",\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"confidence\":1,\"span\":{\"offset\":267,\"length\":8}},{\"content\":\"this\",\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"confidence\":1,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"form\",\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"confidence\":1,\"span\":{\"offset\":281,\"length\":4}},{\"content\":\"and\",\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"confidence\":1,\"span\":{\"offset\":286,\"length\":3}},{\"content\":\"send\",\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"confidence\":1,\"span\":{\"offset\":290,\"length\":4}},{\"content\":\"it\",\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"confidence\":1,\"span\":{\"offset\":295,\"length\":2}},{\"content\":\"with\",\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"confidence\":1,\"span\":{\"offset\":298,\"length\":4}},{\"content\":\"your\",\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"confidence\":1,\"span\":{\"offset\":303,\"length\":4}},{\"content\":\"paperwork.\",\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"confidence\":1,\"span\":{\"offset\":308,\"length\":10}},{\"content\":\"Payment\",\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"confidence\":1,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"through\",\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"confidence\":1,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"credit\",\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"confidence\":1,\"span\":{\"offset\":335,\"length\":6}},{\"content\":\"cards\",\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"confidence\":1,\"span\":{\"offset\":342,\"length\":5}},{\"content\":\"will\",\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"confidence\":1,\"span\":{\"offset\":348,\"length\":4}},{\"content\":\"not\",\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"confidence\":1,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"be\",\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"confidence\":1,\"span\":{\"offset\":357,\"length\":2}},{\"content\":\"processed\",\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"confidence\":1,\"span\":{\"offset\":360,\"length\":9}},{\"content\":\"without\",\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"confidence\":1,\"span\":{\"offset\":370,\"length\":7}},{\"content\":\"this\",\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"confidence\":1,\"span\":{\"offset\":378,\"length\":4}},{\"content\":\"authorization\",\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"confidence\":1,\"span\":{\"offset\":383,\"length\":13}},{\"content\":\"form.\",\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"confidence\":1,\"span\":{\"offset\":397,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"confidence\":1,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"confidence\":1,\"span\":{\"offset\":410,\"length\":5}},{\"content\":\"or\",\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"confidence\":1,\"span\":{\"offset\":416,\"length\":2}},{\"content\":\"type\",\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"confidence\":1,\"span\":{\"offset\":419,\"length\":4}},{\"content\":\"clearly.\",\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"confidence\":1,\"span\":{\"offset\":424,\"length\":8}},{\"content\":\"Name\",\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"confidence\":1,\"span\":{\"offset\":433,\"length\":4}},{\"content\":\"(company/individual\",\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"confidence\":1,\"span\":{\"offset\":438,\"length\":19}},{\"content\":\"for\",\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"confidence\":1,\"span\":{\"offset\":458,\"length\":3}},{\"content\":\"whom\",\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"payment\",\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"confidence\":1,\"span\":{\"offset\":467,\"length\":7}},{\"content\":\"is\",\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"confidence\":1,\"span\":{\"offset\":475,\"length\":2}},{\"content\":\"being\",\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"confidence\":1,\"span\":{\"offset\":478,\"length\":5}},{\"content\":\"made)\",\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"confidence\":1,\"span\":{\"offset\":484,\"length\":5}},{\"content\":\"(Please\",\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"confidence\":1,\"span\":{\"offset\":490,\"length\":7}},{\"content\":\"Include\",\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"confidence\":1,\"span\":{\"offset\":498,\"length\":7}},{\"content\":\"License\",\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"confidence\":1,\"span\":{\"offset\":506,\"length\":7}},{\"content\":\"#\",\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"confidence\":1,\"span\":{\"offset\":514,\"length\":1}},{\"content\":\"and\",\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"confidence\":1,\"span\":{\"offset\":516,\"length\":3}},{\"content\":\"SSN/FEIN):\",\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"confidence\":1,\"span\":{\"offset\":520,\"length\":10}},{\"content\":\"Contoso\",\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"confidence\":1,\"span\":{\"offset\":531,\"length\":7}},{\"content\":\"Insurance\",\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"confidence\":1,\"span\":{\"offset\":539,\"length\":9}},{\"content\":\"54353T7A,\",\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"confidence\":1,\"span\":{\"offset\":549,\"length\":9}},{\"content\":\"36-1222985\",\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"confidence\":1,\"span\":{\"offset\":559,\"length\":10}},{\"content\":\"Purpose\",\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"confidence\":1,\"span\":{\"offset\":570,\"length\":7}},{\"content\":\"of\",\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"confidence\":1,\"span\":{\"offset\":578,\"length\":2}},{\"content\":\"Payment:\",\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"confidence\":1,\"span\":{\"offset\":581,\"length\":8}},{\"content\":\"Balance\",\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"confidence\":1,\"span\":{\"offset\":590,\"length\":7}},{\"content\":\"on\",\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"confidence\":1,\"span\":{\"offset\":598,\"length\":2}},{\"content\":\"Account\",\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"confidence\":1,\"span\":{\"offset\":609,\"length\":4}},{\"content\":\"Type:\",\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"confidence\":1,\"span\":{\"offset\":614,\"length\":5}},{\"content\":\"❑Visa\",\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":620,\"length\":5}},{\"content\":\"❑x\",\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"confidence\":1,\"span\":{\"offset\":626,\"length\":2}},{\"content\":\"AMEX\",\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"confidence\":1,\"span\":{\"offset\":629,\"length\":4}},{\"content\":\"❑Master\",\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":634,\"length\":7}},{\"content\":\"Card\",\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"confidence\":1,\"span\":{\"offset\":642,\"length\":4}},{\"content\":\"I\",\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"confidence\":1,\"span\":{\"offset\":647,\"length\":1}},{\"content\":\"authorize\",\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"confidence\":1,\"span\":{\"offset\":649,\"length\":9}},{\"content\":\"Contoso\",\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"confidence\":1,\"span\":{\"offset\":659,\"length\":7}},{\"content\":\"Department\",\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"confidence\":1,\"span\":{\"offset\":667,\"length\":10}},{\"content\":\"of\",\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"confidence\":1,\"span\":{\"offset\":678,\"length\":2}},{\"content\":\"Professional\",\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"confidence\":1,\"span\":{\"offset\":681,\"length\":12}},{\"content\":\"and\",\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"confidence\":1,\"span\":{\"offset\":694,\"length\":3}},{\"content\":\"Financial\",\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"confidence\":1,\"span\":{\"offset\":698,\"length\":9}},{\"content\":\"Regulation,\",\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"confidence\":1,\"span\":{\"offset\":708,\"length\":11}},{\"content\":\"Bureau\",\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"confidence\":1,\"span\":{\"offset\":720,\"length\":6}},{\"content\":\"of\",\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"confidence\":1,\"span\":{\"offset\":727,\"length\":2}},{\"content\":\"Insurance\",\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"confidence\":1,\"span\":{\"offset\":730,\"length\":9}},{\"content\":\"to\",\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"confidence\":1,\"span\":{\"offset\":740,\"length\":2}},{\"content\":\"charge\",\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"confidence\":1,\"span\":{\"offset\":743,\"length\":6}},{\"content\":\"my:\",\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"Visa\",\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"confidence\":1,\"span\":{\"offset\":754,\"length\":4}},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"confidence\":1,\"span\":{\"offset\":759,\"length\":16}},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"confidence\":1,\"span\":{\"offset\":776,\"length\":28}},{\"content\":\"Expiration\",\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"confidence\":1,\"span\":{\"offset\":805,\"length\":10}},{\"content\":\"date:\",\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"confidence\":1,\"span\":{\"offset\":816,\"length\":5}},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"confidence\":1,\"span\":{\"offset\":822,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"confidence\":1,\"span\":{\"offset\":825,\"length\":1}},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"confidence\":1,\"span\":{\"offset\":827,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"confidence\":1,\"span\":{\"offset\":830,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"confidence\":1,\"span\":{\"offset\":833,\"length\":3}},{\"content\":\"amount\",\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"confidence\":1,\"span\":{\"offset\":837,\"length\":6}},{\"content\":\"of:\",\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"confidence\":1,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"$__________________\",\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"confidence\":1,\"span\":{\"offset\":848,\"length\":19}},{\"content\":\"(Card\",\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"confidence\":1,\"span\":{\"offset\":868,\"length\":5}},{\"content\":\"number\",\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"confidence\":1,\"span\":{\"offset\":874,\"length\":6}},{\"content\":\"–\",\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"confidence\":1,\"span\":{\"offset\":881,\"length\":1}},{\"content\":\"Please\",\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"confidence\":1,\"span\":{\"offset\":883,\"length\":6}},{\"content\":\"print\",\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"confidence\":1,\"span\":{\"offset\":890,\"length\":5}},{\"content\":\"clearly)\",\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"confidence\":1,\"span\":{\"offset\":896,\"length\":8}},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"confidence\":1,\"span\":{\"offset\":905,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"confidence\":1,\"span\":{\"offset\":912,\"length\":10}},{\"content\":\"___________________________________________\",\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"confidence\":1,\"span\":{\"offset\":923,\"length\":43}},{\"content\":\"(must\",\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"confidence\":1,\"span\":{\"offset\":967,\"length\":5}},{\"content\":\"be\",\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"confidence\":1,\"span\":{\"offset\":973,\"length\":2}},{\"content\":\"signed\",\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"confidence\":1,\"span\":{\"offset\":976,\"length\":6}},{\"content\":\"by\",\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"confidence\":1,\"span\":{\"offset\":983,\"length\":2}},{\"content\":\"authorized\",\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"confidence\":1,\"span\":{\"offset\":986,\"length\":10}},{\"content\":\"person\",\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"confidence\":1,\"span\":{\"offset\":997,\"length\":6}},{\"content\":\"to\",\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"confidence\":1,\"span\":{\"offset\":1004,\"length\":2}},{\"content\":\"validate)\",\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":2}},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"confidence\":1,\"span\":{\"offset\":1020,\"length\":2}},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"confidence\":1,\"span\":{\"offset\":1023,\"length\":4}},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"confidence\":1,\"span\":{\"offset\":1028,\"length\":6}},{\"content\":\"Form\",\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"confidence\":1,\"span\":{\"offset\":1035,\"length\":4}},{\"content\":\"is\",\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"confidence\":1,\"span\":{\"offset\":1040,\"length\":2}},{\"content\":\"available\",\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"confidence\":1,\"span\":{\"offset\":1043,\"length\":9}},{\"content\":\"on\",\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"confidence\":1,\"span\":{\"offset\":1053,\"length\":2}},{\"content\":\"our\",\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"confidence\":1,\"span\":{\"offset\":1056,\"length\":3}},{\"content\":\"website:\",\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"confidence\":1,\"span\":{\"offset\":1060,\"length\":8}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"confidence\":1,\"span\":{\"offset\":1069,\"length\":25}},{\"content\":\"You\",\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"confidence\":1,\"span\":{\"offset\":1095,\"length\":3}},{\"content\":\"may\",\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"confidence\":1,\"span\":{\"offset\":1099,\"length\":3}},{\"content\":\"fax\",\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"confidence\":1,\"span\":{\"offset\":1103,\"length\":3}},{\"content\":\"the\",\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"confidence\":1,\"span\":{\"offset\":1107,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"confidence\":1,\"span\":{\"offset\":1111,\"length\":4}},{\"content\":\"to:\",\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"confidence\":1,\"span\":{\"offset\":1116,\"length\":3}},{\"content\":\"650-768-2322\",\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"confidence\":1,\"span\":{\"offset\":1120,\"length\":12}},{\"content\":\"or\",\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"confidence\":1,\"span\":{\"offset\":1133,\"length\":2}},{\"content\":\"e-mail\",\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"confidence\":1,\"span\":{\"offset\":1136,\"length\":6}},{\"content\":\"to:\",\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"confidence\":1,\"span\":{\"offset\":1143,\"length\":3}},{\"content\":\"insurance@contoso.com\",\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"confidence\":1,\"span\":{\"offset\":1147,\"length\":21}},{\"content\":\"OFFICES\",\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"confidence\":1,\"span\":{\"offset\":1169,\"length\":7}},{\"content\":\"LOCATED\",\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"confidence\":1,\"span\":{\"offset\":1177,\"length\":7}},{\"content\":\"AT\",\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"confidence\":1,\"span\":{\"offset\":1185,\"length\":2}},{\"content\":\"24\",\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"confidence\":1,\"span\":{\"offset\":1188,\"length\":2}},{\"content\":\"Main\",\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"confidence\":1,\"span\":{\"offset\":1191,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"confidence\":1,\"span\":{\"offset\":1196,\"length\":6}},{\"content\":\"Palo\",\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"confidence\":1,\"span\":{\"offset\":1203,\"length\":4}},{\"content\":\"Alto\",\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"confidence\":1,\"span\":{\"offset\":1208,\"length\":4}},{\"content\":\"CA\",\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"confidence\":1,\"span\":{\"offset\":1213,\"length\":2}},{\"content\":\"842325\",\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"confidence\":1,\"span\":{\"offset\":1216,\"length\":6}},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"confidence\":1,\"span\":{\"offset\":1223,\"length\":25}},{\"content\":\"Contoso\",\"boundingBox\":[0.5683,0.7066,2.3399,0.8212,2.3303,1.1936,0.5921,1.3034],\"confidence\":0.977,\"span\":{\"offset\":1249,\"length\":7}},{\"content\":\"CONTOSO\",\"boundingBox\":[3.357,3.0317,4.4124,3.0269,4.4124,3.2274,3.3618,3.2322],\"confidence\":0.993,\"span\":{\"offset\":1257,\"length\":7}},{\"content\":\"BANK\",\"boundingBox\":[4.5222,3.0269,5.1287,3.0317,5.1239,3.2274,4.5174,3.2274],\"confidence\":0.991,\"span\":{\"offset\":1265,\"length\":4}},{\"content\":\"Name\",\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"confidence\":1,\"span\":{\"offset\":1270,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"confidence\":1,\"span\":{\"offset\":1275,\"length\":2}},{\"content\":\"Cardholder:\",\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"confidence\":1,\"span\":{\"offset\":1278,\"length\":11}},{\"content\":\"Contact\",\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"confidence\":1,\"span\":{\"offset\":1290,\"length\":7}},{\"content\":\"persons\",\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"confidence\":1,\"span\":{\"offset\":1298,\"length\":7}},{\"content\":\"phone\",\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"confidence\":1,\"span\":{\"offset\":1306,\"length\":5}},{\"content\":\"#,\",\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"confidence\":1,\"span\":{\"offset\":1312,\"length\":2}},{\"content\":\"if\",\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"confidence\":1,\"span\":{\"offset\":1315,\"length\":2}},{\"content\":\"questions\",\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"confidence\":1,\"span\":{\"offset\":1318,\"length\":9}},{\"content\":\"with\",\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"confidence\":1,\"span\":{\"offset\":1328,\"length\":4}},{\"content\":\"this\",\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"confidence\":1,\"span\":{\"offset\":1333,\"length\":4}},{\"content\":\"John\",\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"confidence\":1,\"span\":{\"offset\":1338,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"confidence\":1,\"span\":{\"offset\":1343,\"length\":6}},{\"content\":\"form.\",\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"confidence\":1,\"span\":{\"offset\":1350,\"length\":5}},{\"content\":\"Telephone\",\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"confidence\":1,\"span\":{\"offset\":1356,\"length\":9}},{\"content\":\"#:\",\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"confidence\":1,\"span\":{\"offset\":1366,\"length\":2}},{\"content\":\"(\",\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"confidence\":1,\"span\":{\"offset\":1369,\"length\":1}},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"confidence\":1,\"span\":{\"offset\":1371,\"length\":3}},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"confidence\":1,\"span\":{\"offset\":1375,\"length\":1}},{\"content\":\"779\",\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"confidence\":1,\"span\":{\"offset\":1377,\"length\":3}},{\"content\":\"3479\",\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"confidence\":1,\"span\":{\"offset\":1381,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"confidence\":1,\"span\":{\"offset\":1386,\"length\":1}},{\"content\":\"Email\",\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"confidence\":1,\"span\":{\"offset\":1388,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"confidence\":1,\"span\":{\"offset\":1394,\"length\":8}},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"confidence\":1,\"span\":{\"offset\":1403,\"length\":22}},{\"content\":\"Mailing\",\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"confidence\":1,\"span\":{\"offset\":1426,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"confidence\":1,\"span\":{\"offset\":1434,\"length\":8}},{\"content\":\"472\",\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"confidence\":1,\"span\":{\"offset\":1443,\"length\":3}},{\"content\":\"SE\",\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"confidence\":1,\"span\":{\"offset\":1447,\"length\":2}},{\"content\":\"74th\",\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"confidence\":1,\"span\":{\"offset\":1450,\"length\":4}},{\"content\":\"ST\",\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"confidence\":1,\"span\":{\"offset\":1455,\"length\":2}},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"confidence\":1,\"span\":{\"offset\":1458,\"length\":5}},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"confidence\":1,\"span\":{\"offset\":1464,\"length\":8}},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"confidence\":1,\"span\":{\"offset\":1473,\"length\":6}},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"confidence\":1,\"span\":{\"offset\":1480,\"length\":2}},{\"content\":\"Zip\",\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"confidence\":1,\"span\":{\"offset\":1483,\"length\":3}},{\"content\":\"Code:\",\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"confidence\":1,\"span\":{\"offset\":1487,\"length\":5}},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"confidence\":1,\"span\":{\"offset\":1493,\"length\":5}},{\"content\":\"John\",\"boundingBox\":[1.891,8.2595,2.4115,8.2786,2.4115,8.5412,1.891,8.5556],\"confidence\":0.898,\"span\":{\"offset\":1499,\"length\":4}},{\"content\":\"Singer\",\"boundingBox\":[2.464,8.2834,3.2138,8.3025,3.2138,8.5317,2.464,8.5412],\"confidence\":0.993,\"span\":{\"offset\":1504,\"length\":6}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"span\":{\"offset\":1511,\"length\":12}},{\"state\":\"selected\",\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"span\":{\"offset\":1524,\"length\":10}},{\"state\":\"unselected\",\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"span\":{\"offset\":1535,\"length\":12}}],\"lines\":[{\"content\":\"STATE OF CALIFORNIA: CONTOSO\",\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"spans\":[{\"offset\":0,\"length\":28}]},{\"content\":\"BUREAU OF INSURANCE\",\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"spans\":[{\"offset\":29,\"length\":19}]},{\"content\":\"124 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"spans\":[{\"offset\":49,\"length\":35}]},{\"content\":\"(650)768-2322\",\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"spans\":[{\"offset\":85,\"length\":13}]},{\"content\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"spans\":[{\"offset\":99,\"length\":36}]},{\"content\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"spans\":[{\"offset\":136,\"length\":100}]},{\"content\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"spans\":[{\"offset\":237,\"length\":97}]},{\"content\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"spans\":[{\"offset\":335,\"length\":97}]},{\"content\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"spans\":[{\"offset\":433,\"length\":97}]},{\"content\":\"Contoso Insurance 54353T7A, 36-1222985\",\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"spans\":[{\"offset\":531,\"length\":38}]},{\"content\":\"Purpose of Payment:\",\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"spans\":[{\"offset\":570,\"length\":19}]},{\"content\":\"Balance on Account\",\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"spans\":[{\"offset\":590,\"length\":18}]},{\"content\":\"Card Type: ❑Visa\",\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"spans\":[{\"offset\":609,\"length\":16}]},{\"content\":\"❑x AMEX\",\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"spans\":[{\"offset\":626,\"length\":7}]},{\"content\":\"❑Master Card\",\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"spans\":[{\"offset\":634,\"length\":12}]},{\"content\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"spans\":[{\"offset\":647,\"length\":92}]},{\"content\":\"to charge my: Visa\",\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"spans\":[{\"offset\":740,\"length\":18}]},{\"content\":\"4872876432425423\",\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"spans\":[{\"offset\":759,\"length\":16}]},{\"content\":\"____________________________\",\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"spans\":[{\"offset\":776,\"length\":28}]},{\"content\":\"Expiration date:\",\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"spans\":[{\"offset\":805,\"length\":16}]},{\"content\":\"09\",\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"spans\":[{\"offset\":822,\"length\":2}]},{\"content\":\"/\",\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"spans\":[{\"offset\":825,\"length\":1}]},{\"content\":\"21\",\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"spans\":[{\"offset\":827,\"length\":2}]},{\"content\":\"in the amount of: $__________________\",\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"spans\":[{\"offset\":830,\"length\":37}]},{\"content\":\"(Card number – Please print clearly)\",\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"spans\":[{\"offset\":868,\"length\":36}]},{\"content\":\"263.00\",\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"spans\":[{\"offset\":905,\"length\":6}]},{\"content\":\"Signature: ___________________________________________\",\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"spans\":[{\"offset\":912,\"length\":54}]},{\"content\":\"(must be signed by authorized person to validate)\",\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"spans\":[{\"offset\":967,\"length\":49}]},{\"content\":\"08\",\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"spans\":[{\"offset\":1017,\"length\":2}]},{\"content\":\"23\",\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"spans\":[{\"offset\":1020,\"length\":2}]},{\"content\":\"2018\",\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"spans\":[{\"offset\":1023,\"length\":4}]},{\"content\":\"______\",\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"spans\":[{\"offset\":1028,\"length\":6}]},{\"content\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"spans\":[{\"offset\":1035,\"length\":84}]},{\"content\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"spans\":[{\"offset\":1120,\"length\":48}]},{\"content\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"spans\":[{\"offset\":1169,\"length\":53}]},{\"content\":\"www.contoso.com/insurance\",\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"spans\":[{\"offset\":1223,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"spans\":[{\"offset\":1249,\"length\":7}]},{\"content\":\"CONTOSO BANK\",\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"spans\":[{\"offset\":1257,\"length\":12}]},{\"content\":\"Name of Cardholder:\",\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"spans\":[{\"offset\":1270,\"length\":19}]},{\"content\":\"Contact persons phone #, if questions with this\",\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"spans\":[{\"offset\":1290,\"length\":47}]},{\"content\":\"John Singer\",\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"spans\":[{\"offset\":1338,\"length\":11}]},{\"content\":\"form. Telephone #: (\",\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"spans\":[{\"offset\":1350,\"length\":20}]},{\"content\":\"425\",\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"spans\":[{\"offset\":1371,\"length\":3}]},{\"content\":\")\",\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"spans\":[{\"offset\":1375,\"length\":1}]},{\"content\":\"779 3479\",\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"spans\":[{\"offset\":1377,\"length\":8}]},{\"content\":\"-\",\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"spans\":[{\"offset\":1386,\"length\":1}]},{\"content\":\"Email Address:\",\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"spans\":[{\"offset\":1388,\"length\":14}]},{\"content\":\"johnsinger@hotmail.com\",\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"spans\":[{\"offset\":1403,\"length\":22}]},{\"content\":\"Mailing Address:\",\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"spans\":[{\"offset\":1426,\"length\":16}]},{\"content\":\"472 SE 74th ST\",\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"spans\":[{\"offset\":1443,\"length\":14}]},{\"content\":\"City:\",\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"spans\":[{\"offset\":1458,\"length\":5}]},{\"content\":\"Lakewood\",\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"spans\":[{\"offset\":1464,\"length\":8}]},{\"content\":\"State:\",\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"spans\":[{\"offset\":1473,\"length\":6}]},{\"content\":\"WA\",\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"spans\":[{\"offset\":1480,\"length\":2}]},{\"content\":\"Zip Code:\",\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"spans\":[{\"offset\":1483,\"length\":9}]},{\"content\":\"98712\",\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"spans\":[{\"offset\":1493,\"length\":5}]},{\"content\":\"John Singer\",\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"spans\":[{\"offset\":1499,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":1547}]}],\"tables\":[],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":1499,\"length\":11}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContent[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContent[1].json new file mode 100644 index 0000000000000..a8dda2218494b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeContent[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cbba6d58-626e-4c84-a45c-fb4bf08c1a9b", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "557", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "34ff9960-f77b-4bf4-a8cf-f8135db645ad", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/34ff9960-f77b-4bf4-a8cf-f8135db645ad?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:04 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/34ff9960-f77b-4bf4-a8cf-f8135db645ad?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "07ab089d-3c61-4004-b4ce-7bafb062db22" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "146", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5e9f0bb1-e229-45b2-953a-ef8c48f3f316", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:04Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:07Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:10 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/34ff9960-f77b-4bf4-a8cf-f8135db645ad?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "58d62f99-b93f-416b-8f4c-2dd86cf0f7fc" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "187", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "015e1786-1075-4255-ad97-885047bdcdec", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:04Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:07Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentBlankPdf[1].json new file mode 100644 index 0000000000000..1b1ca60d04f9c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentBlankPdf[1].json @@ -0,0 +1,124 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "550024e6-c6c2-49b0-8ba5-fdec0793630c", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2590", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666108_bdf38a9d-51f9-4256-b4a4-fece15f7d0fa?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bdf38a9d-51f9-4256-b4a4-fece15f7d0fa", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:13 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666108_bdf38a9d-51f9-4256-b4a4-fece15f7d0fa?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c1ed2eb3-fba1-4b68-b11c-418e7032cd96" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4996d568-d9a0-4f01-96d4-5eed7eb9905a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666108_bdf38a9d-51f9-4256-b4a4-fece15f7d0fa\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:11Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:16Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3b9e14f2-af0f-4ec2-b327-5861a834e885\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\n \"createdDateTime\": \"2021-09-27T00:18:16Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:19 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666108_bdf38a9d-51f9-4256-b4a4-fece15f7d0fa?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d2df1eae-2683-4516-9328-6fb6c95f5c88" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8cc200e0-b4b7-4601-8708-490aeeb77192", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666108_bdf38a9d-51f9-4256-b4a4-fece15f7d0fa\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:11Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:16Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3b9e14f2-af0f-4ec2-b327-5861a834e885\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\n \"createdDateTime\": \"2021-09-27T00:18:16Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:19 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d09a9f07-5cbb-4b4d-9470-475db407950f", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "408", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "820098ab-1dd7-42f5-8f61-ac9309ac4ab8", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885/analyzeResults/820098ab-1dd7-42f5-8f61-ac9309ac4ab8?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:18:20 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885/analyzeResults/820098ab-1dd7-42f5-8f61-ac9309ac4ab8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8ff78112-67d0-45c5-90c1-dad627f3ed1e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "144", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "19ab39a8-3bac-4a0c-b3ae-56c511de6bdc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:20Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:24Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[{\"docType\":\"3b9e14f2-af0f-4ec2-b327-5861a834e885:3b9e14f2-af0f-4ec2-b327-5861a834e885\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.95},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.95},\"Merchant\":{\"type\":\"string\",\"confidence\":0.95},\"Signature\":{\"type\":\"string\",\"confidence\":0.95},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.95},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.95},\"VendorName\":{\"type\":\"string\",\"confidence\":0.95},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.95},\"Tax\":{\"type\":\"string\",\"confidence\":0.95},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.95},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.95},\"Total\":{\"type\":\"string\",\"confidence\":0.95},\"Email\":{\"type\":\"string\",\"confidence\":0.95},\"Quantity\":{\"type\":\"number\",\"confidence\":0.95},\"Website\":{\"type\":\"string\",\"confidence\":0.95}},\"confidence\":0.001,\"spans\":[]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3b9e14f2-af0f-4ec2-b327-5861a834e885/analyzeResults/820098ab-1dd7-42f5-8f61-ac9309ac4ab8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "df798eb3-7c94-4aab-ad36-0889727c306b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e8a2df71-ab45-4b76-b54a-733ad172e982", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:20Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:24Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[{\"docType\":\"3b9e14f2-af0f-4ec2-b327-5861a834e885:3b9e14f2-af0f-4ec2-b327-5861a834e885\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.95},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.95},\"Merchant\":{\"type\":\"string\",\"confidence\":0.95},\"Signature\":{\"type\":\"string\",\"confidence\":0.95},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.95},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.95},\"VendorName\":{\"type\":\"string\",\"confidence\":0.95},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.95},\"Tax\":{\"type\":\"string\",\"confidence\":0.95},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.95},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.95},\"Total\":{\"type\":\"string\",\"confidence\":0.95},\"Email\":{\"type\":\"string\",\"confidence\":0.95},\"Quantity\":{\"type\":\"number\",\"confidence\":0.95},\"Website\":{\"type\":\"string\",\"confidence\":0.95}},\"confidence\":0.001,\"spans\":[]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentDamagedPdf[1].json new file mode 100644 index 0000000000000..fcfe36bcaf833 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentDamagedPdf[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4993ca4b-749d-4898-9343-eeddf8c5c7a6", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2531", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666075_587cda63-77c7-4bfe-8fbe-0b93f4beefd8?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "587cda63-77c7-4bfe-8fbe-0b93f4beefd8", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:47 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666075_587cda63-77c7-4bfe-8fbe-0b93f4beefd8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d459f47-9c18-4119-a604-e6b0b821b57e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "48", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1fb203b5-06f6-49db-b07e-6c1f78f7884f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666075_587cda63-77c7-4bfe-8fbe-0b93f4beefd8\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-27T00:18:45Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:47Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/881dff36-c224-41e2-a689-6d404377edb5?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..efaf0f6c902f1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/00000000-0000-0000-0000-000000000000:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aefee748-9341-4242-8e6b-de37cf4873a8", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "416", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b4293eec-cf41-426e-8145-0089caff4f73", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..414d2ea085420 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidSourceUrl[1].json @@ -0,0 +1,115 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d02ca6f5-8d4e-4dbb-8ee7-747bab206c97", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2853", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "836c99c7-8c54-476e-ae58-471b5fa54d77", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 03:42:57 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c81e920a-8d01-489a-bb63-b58f22475f03" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.util.concurrent.TimeoutException", + "ErrorMessage" : "Channel response timed out after 60000 milliseconds." + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c81e920a-8d01-489a-bb63-b58f22475f03" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a85407aa-4567-4890-94ad-942618f6cadc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T03:42:54Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T03:42:59Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc\",\n \"createdDateTime\": \"2021-09-27T03:42:59Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 03:44:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "02deee64-61a8-436d-b0f4-fd56a7600285" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0d5bbee5-55a5-44e1-ba0f-7e8d9c7f9a06", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533653825_836c99c7-8c54-476e-ae58-471b5fa54d77\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T03:42:54Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T03:42:59Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc\",\n \"createdDateTime\": \"2021-09-27T03:42:59Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 03:44:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "51899a1f-414a-4bb0-b356-751689ed799a", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "10", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c8799fc1-a500-4546-b21a-931e72fa6554", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidArgument\",\"message\":\"Invalid argument.\",\"innererror\":{\"code\":\"InvalidContentSourceFormat\",\"message\":\"Invalid content source: Url must be http or https.\"}}}", + "Date" : "Mon, 27 Sep 2021 03:44:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/c5d6182b-d7be-4c2b-bbd1-4a887cb87ecc?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "65993158-2841-4ab7-925d-13b55798e75c" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "204", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "729f9b2f-a19a-4ea8-a24e-b8734b4f141a", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Mon, 27 Sep 2021 03:44:06 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidStatus[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidStatus[1].json new file mode 100644 index 0000000000000..345c44dd75f91 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentInvalidStatus[1].json @@ -0,0 +1,85 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0b618a34-b654-4962-912a-7cc670fa58df", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2686", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666102_309d6eb8-5ca5-4be7-8219-b2488cfc62ba?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "309d6eb8-5ca5-4be7-8219-b2488cfc62ba", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:20 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666102_309d6eb8-5ca5-4be7-8219-b2488cfc62ba?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "28138124-6b49-49b0-a409-b9a237841e62" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "45", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6475247f-4b05-4897-983f-cd44a23712e8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666102_309d6eb8-5ca5-4be7-8219-b2488cfc62ba\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:18Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:22Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/fea1122f-3bda-4bbb-aa5d-8301e7b02128?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\",\n \"createdDateTime\": \"2021-09-27T00:18:22Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:25 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666102_309d6eb8-5ca5-4be7-8219-b2488cfc62ba?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e631ce9b-8f46-4b61-90c3-73ead1b37373" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "47c86a75-85dd-40f4-a3c6-e4d7452235f5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666102_309d6eb8-5ca5-4be7-8219-b2488cfc62ba\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:18Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:22Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/fea1122f-3bda-4bbb-aa5d-8301e7b02128?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\",\n \"createdDateTime\": \"2021-09-27T00:18:22Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:25 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/fea1122f-3bda-4bbb-aa5d-8301e7b02128:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "68b7a839-7ef9-481b-ab3e-b8f10238b3a3", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1046", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "05864377-f55d-4495-a894-249b51de2c03", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentMultiPage[1].json new file mode 100644 index 0000000000000..b68490f9390b5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentMultiPage[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "512aa265-f2b7-432d-bf55-9d57e574fbc4", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2671", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666113_94810d3e-a6d7-4165-a0d8-34e0945c1215?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "94810d3e-a6d7-4165-a0d8-34e0945c1215", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:08 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666113_94810d3e-a6d7-4165-a0d8-34e0945c1215?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b071e52b-8b06-47d8-8cea-09bd36cf403b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "44", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "77766625-9a41-4a24-aaae-7c288e7f3ab4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666113_94810d3e-a6d7-4165-a0d8-34e0945c1215\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-27T00:18:06Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:09Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/e8327183-d3c9-49f5-acd0-261419c21631?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:14 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlMultiPage[1].json new file mode 100644 index 0000000000000..11d42823d9e04 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlMultiPage[1].json @@ -0,0 +1,142 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ce7493a9-7086-4233-9fbf-d7bfd2d04eb3", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2517", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533653972_cc3c7ad4-fd2d-47a2-9786-5c4fab5164af?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "cc3c7ad4-fd2d-47a2-9786-5c4fab5164af", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 03:40:29 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533653972_cc3c7ad4-fd2d-47a2-9786-5c4fab5164af?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "df19e956-9c2f-4970-a706-4842b1254715" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "51f875b9-7dd2-4900-8179-c67244e8493b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533653972_cc3c7ad4-fd2d-47a2-9786-5c4fab5164af\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T03:40:28Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T03:40:32Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"MerchantAddress\": {\n \"type\": \"string\"\n },\n \"MerchantPhoneNumber\": {\n \"type\": \"string\"\n },\n \"CustomerName\": {\n \"type\": \"string\"\n },\n \"CustomerAddress\": {\n \"type\": \"string\"\n },\n \"CustomerPhoneNumber\": {\n \"type\": \"string\"\n },\n \"FirstItem\": {\n \"type\": \"string\"\n },\n \"FirstQuantity\": {\n \"type\": \"string\"\n },\n \"FirstPrice\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Tip\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Merchant2\": {\n \"type\": \"string\"\n },\n \"Customer2\": {\n \"type\": \"string\"\n },\n \"Total2\": {\n \"type\": \"string\"\n },\n \"Signature2\": {\n \"type\": \"string\"\n }\n },\n \"fieldConfidence\": {\n \"Customer2\": 0.95,\n \"CustomerAddress\": 0.95,\n \"CustomerName\": 0.95,\n \"CustomerPhoneNumber\": 0.95,\n \"FirstItem\": 0.95,\n \"FirstPrice\": 0.95,\n \"FirstQuantity\": 0.95,\n \"Merchant\": 0,\n \"Merchant2\": 0,\n \"MerchantAddress\": 0.95,\n \"MerchantPhoneNumber\": 0.95,\n \"Signature\": 0.95,\n \"Signature2\": 0.95,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Tip\": 0.95,\n \"Total\": 0.95,\n \"Total2\": 0.95\n }\n }\n },\n \"modelId\": \"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\n \"createdDateTime\": \"2021-09-27T03:40:32Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 03:40:35 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533653972_cc3c7ad4-fd2d-47a2-9786-5c4fab5164af?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6b745b06-05cf-453a-8b2a-4356b63daad6" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "47", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e3dc7544-4c49-4f2c-bb31-ece9ccbb154a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533653972_cc3c7ad4-fd2d-47a2-9786-5c4fab5164af\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T03:40:28Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T03:40:32Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"MerchantAddress\": {\n \"type\": \"string\"\n },\n \"MerchantPhoneNumber\": {\n \"type\": \"string\"\n },\n \"CustomerName\": {\n \"type\": \"string\"\n },\n \"CustomerAddress\": {\n \"type\": \"string\"\n },\n \"CustomerPhoneNumber\": {\n \"type\": \"string\"\n },\n \"FirstItem\": {\n \"type\": \"string\"\n },\n \"FirstQuantity\": {\n \"type\": \"string\"\n },\n \"FirstPrice\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Tip\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Merchant2\": {\n \"type\": \"string\"\n },\n \"Customer2\": {\n \"type\": \"string\"\n },\n \"Total2\": {\n \"type\": \"string\"\n },\n \"Signature2\": {\n \"type\": \"string\"\n }\n },\n \"fieldConfidence\": {\n \"Customer2\": 0.95,\n \"CustomerAddress\": 0.95,\n \"CustomerName\": 0.95,\n \"CustomerPhoneNumber\": 0.95,\n \"FirstItem\": 0.95,\n \"FirstPrice\": 0.95,\n \"FirstQuantity\": 0.95,\n \"Merchant\": 0,\n \"Merchant2\": 0,\n \"MerchantAddress\": 0.95,\n \"MerchantPhoneNumber\": 0.95,\n \"Signature\": 0.95,\n \"Signature2\": 0.95,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Tip\": 0.95,\n \"Total\": 0.95,\n \"Total2\": 0.95\n }\n }\n },\n \"modelId\": \"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\n \"createdDateTime\": \"2021-09-27T03:40:32Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 03:40:37 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d9bd9651-99ff-47f4-af4b-36be13ce1220", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1144", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "745618e0-0d32-47e5-9381-36e0a50fe9d9", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd/analyzeResults/745618e0-0d32-47e5-9381-36e0a50fe9d9?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 03:40:51 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd/analyzeResults/745618e0-0d32-47e5-9381-36e0a50fe9d9?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "711c344b-a486-48c1-8681-07736527efda" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "376", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e5dc7816-d8e1-47d6-8ad5-9f4298c90aa7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T03:40:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T03:40:55Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}],\"documents\":[{\"docType\":\"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd:3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":3,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.67,1.125,1.7750000000000001,1.125,1.7750000000000001,1.245,1.67,1.245]}],\"confidence\":0.059,\"spans\":[{\"offset\":8,\"length\":1}]},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.3200000000000003,1.085,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":153,\"length\":1}]},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"content\":\"Frodo Baggins\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[6.015000000000001,1.45,6.95,1.45,6.95,1.595,6.015000000000001,1.595]}],\"confidence\":0.95,\"spans\":[{\"offset\":407,\"length\":13}]},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"content\":\"30.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235]}],\"confidence\":0.95,\"spans\":[{\"offset\":245,\"length\":5}]},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"content\":\"430.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675]}],\"confidence\":0.95,\"spans\":[{\"offset\":270,\"length\":6}]},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"content\":\"4300.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675]}],\"confidence\":0.95,\"spans\":[{\"offset\":616,\"length\":7}]},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8100000000000005,5.345,6.26,5.345,6.26,5.455,5.8100000000000005,5.455]}],\"confidence\":0.95,\"spans\":[{\"offset\":256,\"length\":6}]},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"content\":\"555-555-5555\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395]}],\"confidence\":0.95,\"spans\":[{\"offset\":65,\"length\":12}]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"content\":\"Bilbo Baggins\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8]}],\"confidence\":0.95,\"spans\":[{\"offset\":288,\"length\":27}]},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2600000000000002,3.21,3.3200000000000003,3.21,3.3200000000000003,3.3200000000000003,3.2600000000000002,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":155,\"length\":1}]},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"content\":\"123 Hobbit Lane Redmond, WA\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.015000000000001,1.67,7.1000000000000005,1.67,7.1000000000000005,2.0300000000000002,6.015000000000001,2.0300000000000002]}],\"confidence\":0.95,\"spans\":[{\"offset\":92,\"length\":27}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"content\":\"567 Main St. Redmond, WA\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2]}],\"confidence\":0.95,\"spans\":[{\"offset\":40,\"length\":24}]},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"content\":\"Company\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28]}],\"confidence\":0.024,\"spans\":[{\"offset\":0,\"length\":7}]},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.3200000000000003,5.425,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":157,\"length\":5}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"content\":\"Bilbo Baggins\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.015000000000001,1.45,6.8950000000000005,1.45,6.8950000000000005,1.595,6.015000000000001,1.595]}],\"confidence\":0.95,\"spans\":[{\"offset\":78,\"length\":13}]},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"content\":\"555-555-5555\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.01,2.12,6.9350000000000005,2.12,6.9350000000000005,2.225,6.01,2.225]}],\"confidence\":0.95,\"spans\":[{\"offset\":120,\"length\":12}]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"content\":\"Frodo Baggins\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8]}],\"confidence\":0.95,\"spans\":[{\"offset\":635,\"length\":27}]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"content\":\"300.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015]}],\"confidence\":0.95,\"spans\":[{\"offset\":233,\"length\":6}]}},\"confidence\":0.885,\"spans\":[{\"offset\":0,\"length\":662}]}]}}", + "Date" : "Mon, 27 Sep 2021 03:40:57 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "52a4718d-0e02-481a-b5d0-57826e9616ee" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "308", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "785c629e-36d4-44cb-8256-610300c29a45", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Mon, 27 Sep 2021 03:41:01 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd/analyzeResults/745618e0-0d32-47e5-9381-36e0a50fe9d9?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e7b9db7e-9277-4da2-9013-81d1041f54f8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1477", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "587e2417-aeea-4550-842e-48984c3afe4e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T03:40:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T03:40:55Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Company A Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nBilbo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nSubtotal: 300.00\\nTax: 30.00\\nTip: 100.00\\nTotal: 430.00\\nSignature: ____Bilbo Baggins__________\\n:unselected:\\nCompany B Invoice\\nInvoice For:\\nAddress:\\n567 Main St.\\nRedmond, WA\\n555-555-5555\\nFrodo Baggins\\n123 Hobbit Lane\\nRedmond, WA\\n555-555-5555\\nItem\\nQuantity\\nPrice\\nA\\n10\\n100.99\\nB\\n20\\n140.67\\nC\\n40\\n150.66\\nD\\n10\\n120.00\\nE\\n40\\n100.00\\nF\\n60\\n120.00\\nG\\n80\\n220.00\\nSubtotal: 3000.00\\nTax: 300.00\\nTip: 1000.00\\nTotal: 4300.00\\nSignature: ____Frodo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"A\",\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"confidence\":1,\"span\":{\"offset\":8,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"confidence\":1,\"span\":{\"offset\":10,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":18,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":40,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":44,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":53,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":65,\"length\":12}},{\"content\":\"Bilbo\",\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":78,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"confidence\":1,\"span\":{\"offset\":84,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":96,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":103,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":108,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":117,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":120,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":133,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":138,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":153,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":223,\"length\":9}},{\"content\":\"300.00\",\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"30.00\",\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":245,\"length\":5}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":256,\"length\":6}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":263,\"length\":6}},{\"content\":\"430.00\",\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":270,\"length\":6}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":277,\"length\":10}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":288,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"confidence\":1,\"span\":{\"offset\":298,\"length\":17}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1.7276,6.649,2.0719,6.649,2.0719,6.804,1.7276,6.804],\"confidence\":0.292,\"span\":{\"offset\":316,\"length\":12}}],\"lines\":[{\"content\":\"Company A Invoice\",\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":0,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":18,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":40,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":53,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":65,\"length\":12}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":78,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":92,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":108,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":120,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":133,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":138,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":153,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Subtotal: 300.00\",\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":223,\"length\":16}]},{\"content\":\"Tax: 30.00\",\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":240,\"length\":10}]},{\"content\":\"Tip: 100.00\",\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"spans\":[{\"offset\":251,\"length\":11}]},{\"content\":\"Total: 430.00\",\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":263,\"length\":13}]},{\"content\":\"Signature: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":277,\"length\":38}]}],\"spans\":[{\"offset\":0,\"length\":328}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":328,\"length\":0}]},{\"pageNumber\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Company\",\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"confidence\":1,\"span\":{\"offset\":329,\"length\":7}},{\"content\":\"B\",\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"confidence\":1,\"span\":{\"offset\":337,\"length\":1}},{\"content\":\"Invoice\",\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"confidence\":1,\"span\":{\"offset\":339,\"length\":7}},{\"content\":\"Invoice\",\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"confidence\":1,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"confidence\":1,\"span\":{\"offset\":355,\"length\":4}},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"confidence\":1,\"span\":{\"offset\":360,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"confidence\":1,\"span\":{\"offset\":369,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"confidence\":1,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"confidence\":1,\"span\":{\"offset\":378,\"length\":3}},{\"content\":\"Redmond,\",\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"confidence\":1,\"span\":{\"offset\":382,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"confidence\":1,\"span\":{\"offset\":391,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"confidence\":1,\"span\":{\"offset\":394,\"length\":12}},{\"content\":\"Frodo\",\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"confidence\":1,\"span\":{\"offset\":407,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"confidence\":1,\"span\":{\"offset\":413,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"confidence\":1,\"span\":{\"offset\":421,\"length\":3}},{\"content\":\"Hobbit\",\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"confidence\":1,\"span\":{\"offset\":425,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"confidence\":1,\"span\":{\"offset\":432,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"confidence\":1,\"span\":{\"offset\":437,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"confidence\":1,\"span\":{\"offset\":446,\"length\":2}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"confidence\":1,\"span\":{\"offset\":449,\"length\":12}},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"confidence\":1,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"confidence\":1,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"confidence\":1,\"span\":{\"offset\":476,\"length\":5}},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"confidence\":1,\"span\":{\"offset\":482,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"confidence\":1,\"span\":{\"offset\":484,\"length\":2}},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"confidence\":1,\"span\":{\"offset\":487,\"length\":6}},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"confidence\":1,\"span\":{\"offset\":494,\"length\":1}},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"confidence\":1,\"span\":{\"offset\":496,\"length\":2}},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"confidence\":1,\"span\":{\"offset\":499,\"length\":6}},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"confidence\":1,\"span\":{\"offset\":506,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"confidence\":1,\"span\":{\"offset\":508,\"length\":2}},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"confidence\":1,\"span\":{\"offset\":511,\"length\":6}},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"confidence\":1,\"span\":{\"offset\":518,\"length\":1}},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"confidence\":1,\"span\":{\"offset\":520,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"confidence\":1,\"span\":{\"offset\":523,\"length\":6}},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"confidence\":1,\"span\":{\"offset\":530,\"length\":1}},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"confidence\":1,\"span\":{\"offset\":532,\"length\":2}},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"confidence\":1,\"span\":{\"offset\":535,\"length\":6}},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"confidence\":1,\"span\":{\"offset\":542,\"length\":1}},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"confidence\":1,\"span\":{\"offset\":544,\"length\":2}},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"confidence\":1,\"span\":{\"offset\":547,\"length\":6}},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"confidence\":1,\"span\":{\"offset\":554,\"length\":1}},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"confidence\":1,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"confidence\":1,\"span\":{\"offset\":559,\"length\":6}},{\"content\":\"Subtotal:\",\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"confidence\":1,\"span\":{\"offset\":566,\"length\":9}},{\"content\":\"3000.00\",\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"confidence\":1,\"span\":{\"offset\":576,\"length\":7}},{\"content\":\"Tax:\",\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"confidence\":1,\"span\":{\"offset\":584,\"length\":4}},{\"content\":\"300.00\",\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"confidence\":1,\"span\":{\"offset\":589,\"length\":6}},{\"content\":\"Tip:\",\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"confidence\":1,\"span\":{\"offset\":596,\"length\":4}},{\"content\":\"1000.00\",\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"confidence\":1,\"span\":{\"offset\":601,\"length\":7}},{\"content\":\"Total:\",\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"confidence\":1,\"span\":{\"offset\":609,\"length\":6}},{\"content\":\"4300.00\",\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"Signature:\",\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"confidence\":1,\"span\":{\"offset\":624,\"length\":10}},{\"content\":\"____Frodo\",\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"confidence\":1,\"span\":{\"offset\":635,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"confidence\":1,\"span\":{\"offset\":645,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Company B Invoice\",\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"spans\":[{\"offset\":329,\"length\":17}]},{\"content\":\"Invoice For:\",\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"spans\":[{\"offset\":347,\"length\":12}]},{\"content\":\"Address:\",\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"spans\":[{\"offset\":360,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"spans\":[{\"offset\":369,\"length\":12}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"spans\":[{\"offset\":382,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"spans\":[{\"offset\":394,\"length\":12}]},{\"content\":\"Frodo Baggins\",\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"spans\":[{\"offset\":407,\"length\":13}]},{\"content\":\"123 Hobbit Lane\",\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"spans\":[{\"offset\":421,\"length\":15}]},{\"content\":\"Redmond, WA\",\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"spans\":[{\"offset\":437,\"length\":11}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"spans\":[{\"offset\":449,\"length\":12}]},{\"content\":\"Item\",\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"spans\":[{\"offset\":462,\"length\":4}]},{\"content\":\"Quantity\",\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"spans\":[{\"offset\":476,\"length\":5}]},{\"content\":\"A\",\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"spans\":[{\"offset\":482,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"spans\":[{\"offset\":484,\"length\":2}]},{\"content\":\"100.99\",\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"spans\":[{\"offset\":487,\"length\":6}]},{\"content\":\"B\",\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"spans\":[{\"offset\":494,\"length\":1}]},{\"content\":\"20\",\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"spans\":[{\"offset\":496,\"length\":2}]},{\"content\":\"140.67\",\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"spans\":[{\"offset\":499,\"length\":6}]},{\"content\":\"C\",\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"spans\":[{\"offset\":506,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"spans\":[{\"offset\":508,\"length\":2}]},{\"content\":\"150.66\",\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"spans\":[{\"offset\":511,\"length\":6}]},{\"content\":\"D\",\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"spans\":[{\"offset\":518,\"length\":1}]},{\"content\":\"10\",\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"spans\":[{\"offset\":520,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"spans\":[{\"offset\":523,\"length\":6}]},{\"content\":\"E\",\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"spans\":[{\"offset\":530,\"length\":1}]},{\"content\":\"40\",\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"spans\":[{\"offset\":532,\"length\":2}]},{\"content\":\"100.00\",\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"spans\":[{\"offset\":535,\"length\":6}]},{\"content\":\"F\",\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"spans\":[{\"offset\":542,\"length\":1}]},{\"content\":\"60\",\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"spans\":[{\"offset\":544,\"length\":2}]},{\"content\":\"120.00\",\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"spans\":[{\"offset\":547,\"length\":6}]},{\"content\":\"G\",\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"spans\":[{\"offset\":554,\"length\":1}]},{\"content\":\"80\",\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"220.00\",\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"spans\":[{\"offset\":559,\"length\":6}]},{\"content\":\"Subtotal: 3000.00\",\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"spans\":[{\"offset\":566,\"length\":17}]},{\"content\":\"Tax: 300.00\",\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"spans\":[{\"offset\":584,\"length\":11}]},{\"content\":\"Tip: 1000.00\",\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"spans\":[{\"offset\":596,\"length\":12}]},{\"content\":\"Total: 4300.00\",\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"spans\":[{\"offset\":609,\"length\":14}]},{\"content\":\"Signature: ____Frodo Baggins__________\",\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"spans\":[{\"offset\":624,\"length\":38}]}],\"spans\":[{\"offset\":328,\"length\":334}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,2.9412,3.1638,2.9412,3.1638,3.1475,0.9971,3.1537]}],\"spans\":[{\"offset\":133,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,2.9412,5.3238,2.9412,5.3238,3.1537,3.1638,3.1475]}],\"spans\":[{\"offset\":138,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,2.9412,7.5038,2.9474,7.5038,3.1537,5.3238,3.1537]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.1537,3.1638,3.1475,3.1638,3.36,0.9971,3.36]}],\"spans\":[{\"offset\":153,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.1475,5.3238,3.1537,5.3305,3.36,3.1638,3.36]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3238,3.1537,7.5038,3.1537,7.4971,3.36,5.3305,3.36]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.36,3.1638,3.36,3.1638,3.5726,0.9971,3.5726]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.36,5.3305,3.36,5.3305,3.5726,3.1638,3.5726]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.36,7.4971,3.36,7.4971,3.5726,5.3305,3.5726]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.5726,3.1638,3.5726,3.1638,3.7789,0.9971,3.7851]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.5726,5.3305,3.5726,5.3305,3.7789,3.1638,3.7789]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.5726,7.4971,3.5726,7.4971,3.7789,5.3305,3.7789]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.7851,3.1638,3.7789,3.1638,3.9914,0.9971,3.9914]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.7789,5.3305,3.7789,5.3305,3.9914,3.1638,3.9914]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.7789,7.4971,3.7789,7.4971,3.9914,5.3305,3.9914]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,3.9914,3.1638,3.9914,3.1638,4.204,0.9971,4.204]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,3.9914,5.3305,3.9914,5.3305,4.204,3.1638,4.204]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,3.9914,7.4971,3.9914,7.4971,4.204,5.3305,4.204]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9971,4.204,3.1638,4.204,3.1638,4.4103,0.9904,4.4165]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.204,5.3305,4.204,5.3305,4.4103,3.1638,4.4103]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.204,7.4971,4.204,7.4971,4.4165,5.3305,4.4103]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9904,4.4165,3.1638,4.4103,3.1638,4.6228,0.9904,4.6228]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1638,4.4103,5.3305,4.4103,5.3305,4.6228,3.1638,4.6228]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3305,4.4103,7.4971,4.4165,7.4971,4.6228,5.3305,4.6228]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.983,2.9323,7.5022,2.9324,7.5016,4.6275,0.9822,4.6276]}],\"spans\":[{\"offset\":133,\"length\":89}]},{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,2.9412,3.1599,2.9412,3.1599,3.1475,0.9977,3.1537]}],\"spans\":[{\"offset\":462,\"length\":4}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,2.9412,5.3287,2.9412,5.3287,3.1537,3.1599,3.1475]}],\"spans\":[{\"offset\":467,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,2.9412,7.5042,2.9474,7.5042,3.1537,5.3287,3.1537]}],\"spans\":[{\"offset\":476,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9977,3.1537,3.1599,3.1475,3.1599,3.36,0.9911,3.36]}],\"spans\":[{\"offset\":482,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.1475,5.3287,3.1537,5.3287,3.36,3.1599,3.36]}],\"spans\":[{\"offset\":484,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.99\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.1537,7.5042,3.1537,7.4975,3.36,5.3287,3.36]}],\"spans\":[{\"offset\":487,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.36,3.1599,3.36,3.1599,3.5726,0.9911,3.5726]}],\"spans\":[{\"offset\":494,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.36,5.3287,3.36,5.3287,3.5726,3.1599,3.5726]}],\"spans\":[{\"offset\":496,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"140.67\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.36,7.4975,3.36,7.4975,3.5726,5.3287,3.5726]}],\"spans\":[{\"offset\":499,\"length\":6}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.5726,3.1599,3.5726,3.1599,3.7789,0.9911,3.7789]}],\"spans\":[{\"offset\":506,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.5726,5.3287,3.5726,5.3287,3.7789,3.1599,3.7789]}],\"spans\":[{\"offset\":508,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"150.66\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.5726,7.4975,3.5726,7.4975,3.7789,5.3287,3.7789]}],\"spans\":[{\"offset\":511,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.7789,3.1599,3.7789,3.1599,3.9914,0.9911,3.9914]}],\"spans\":[{\"offset\":518,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.7789,5.3287,3.7789,5.3287,3.9914,3.1599,3.9914]}],\"spans\":[{\"offset\":520,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.7789,7.4975,3.7789,7.4975,3.9914,5.3287,3.9914]}],\"spans\":[{\"offset\":523,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,3.9914,3.1599,3.9914,3.1599,4.204,0.9911,4.204]}],\"spans\":[{\"offset\":530,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"40\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,3.9914,5.3287,3.9914,5.3287,4.204,3.1599,4.204]}],\"spans\":[{\"offset\":532,\"length\":2}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,3.9914,7.4975,3.9914,7.4975,4.204,5.3287,4.204]}],\"spans\":[{\"offset\":535,\"length\":6}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.204,3.1599,4.204,3.1599,4.4103,0.9911,4.4103]}],\"spans\":[{\"offset\":542,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"60\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.204,5.3287,4.204,5.3287,4.4103,3.1599,4.4103]}],\"spans\":[{\"offset\":544,\"length\":2}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"120.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.204,7.4975,4.204,7.4975,4.4165,5.3287,4.4103]}],\"spans\":[{\"offset\":547,\"length\":6}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9911,4.4103,3.1599,4.4103,3.1599,4.6228,0.9911,4.6228]}],\"spans\":[{\"offset\":554,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"80\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[3.1599,4.4103,5.3287,4.4103,5.3287,4.6228,3.1599,4.6228]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"220.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.3287,4.4103,7.4975,4.4165,7.4975,4.6228,5.3287,4.6228]}],\"spans\":[{\"offset\":559,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[0.9942,2.9332,7.5018,2.9333,7.5015,4.6271,0.9938,4.6273]}],\"spans\":[{\"offset\":462,\"length\":103}]}],\"documents\":[{\"docType\":\"3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd:3c3983c9-1e5e-4b1c-a01c-7f8d2e1599dd\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":3,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.67,1.125,1.7750000000000001,1.125,1.7750000000000001,1.245,1.67,1.245]}],\"confidence\":0.059,\"spans\":[{\"offset\":8,\"length\":1}]},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"content\":\"A\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.3200000000000003,1.085,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":153,\"length\":1}]},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"content\":\"Frodo Baggins\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[6.015000000000001,1.45,6.95,1.45,6.95,1.595,6.015000000000001,1.595]}],\"confidence\":0.95,\"spans\":[{\"offset\":407,\"length\":13}]},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"content\":\"30.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235]}],\"confidence\":0.95,\"spans\":[{\"offset\":245,\"length\":5}]},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"content\":\"430.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675]}],\"confidence\":0.95,\"spans\":[{\"offset\":270,\"length\":6}]},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"content\":\"4300.00\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675]}],\"confidence\":0.95,\"spans\":[{\"offset\":616,\"length\":7}]},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8100000000000005,5.345,6.26,5.345,6.26,5.455,5.8100000000000005,5.455]}],\"confidence\":0.95,\"spans\":[{\"offset\":256,\"length\":6}]},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"content\":\"555-555-5555\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395]}],\"confidence\":0.95,\"spans\":[{\"offset\":65,\"length\":12}]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"content\":\"Bilbo Baggins\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8]}],\"confidence\":0.95,\"spans\":[{\"offset\":288,\"length\":27}]},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2600000000000002,3.21,3.3200000000000003,3.21,3.3200000000000003,3.3200000000000003,3.2600000000000002,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":155,\"length\":1}]},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"content\":\"123 Hobbit Lane Redmond, WA\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.015000000000001,1.67,7.1000000000000005,1.67,7.1000000000000005,2.0300000000000002,6.015000000000001,2.0300000000000002]}],\"confidence\":0.95,\"spans\":[{\"offset\":92,\"length\":27}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"content\":\"567 Main St. Redmond, WA\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2]}],\"confidence\":0.95,\"spans\":[{\"offset\":40,\"length\":24}]},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"content\":\"Company\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28]}],\"confidence\":0.024,\"spans\":[{\"offset\":0,\"length\":7}]},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.3200000000000003,5.425,3.3200000000000003]}],\"confidence\":0.95,\"spans\":[{\"offset\":157,\"length\":5}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"content\":\"Bilbo Baggins\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.015000000000001,1.45,6.8950000000000005,1.45,6.8950000000000005,1.595,6.015000000000001,1.595]}],\"confidence\":0.95,\"spans\":[{\"offset\":78,\"length\":13}]},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"content\":\"555-555-5555\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.01,2.12,6.9350000000000005,2.12,6.9350000000000005,2.225,6.01,2.225]}],\"confidence\":0.95,\"spans\":[{\"offset\":120,\"length\":12}]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"content\":\"Frodo Baggins\",\"boundingRegions\":[{\"pageNumber\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8]}],\"confidence\":0.95,\"spans\":[{\"offset\":635,\"length\":27}]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"content\":\"300.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015]}],\"confidence\":0.95,\"spans\":[{\"offset\":233,\"length\":6}]}},\"confidence\":0.885,\"spans\":[{\"offset\":0,\"length\":662}]}]}}", + "Date" : "Mon, 27 Sep 2021 03:41:02 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlNonExistModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlNonExistModelId[1].json new file mode 100644 index 0000000000000..197b65b72284f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlNonExistModelId[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/00000000-0000-0000-0000-000000000000:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0b84832c-1975-4dc4-8585-a46e6cd5b1c1", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "563", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b3f33b91-4008-48e8-adf4-8c9bc83faf08", + "retry-after" : "0", + "StatusCode" : "404", + "Body" : "{\"error\":{\"code\":\"NotFound\",\"message\":\"Resource not found.\",\"innererror\":{\"code\":\"ModelNotFound\",\"message\":\"The requested model was not found.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlWithSelectionMark[1].json new file mode 100644 index 0000000000000..747d817e9c560 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrlWithSelectionMark[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "07ff8eec-9e24-41e4-9566-f27b9ffb7141", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "45", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "84895795-4ee3-4587-94c6-2a1503e2ff19", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\n \"error\": {\n \"code\": \"InvalidArgument\",\n \"message\": \"Invalid argument.\",\n \"innererror\": {\n \"code\": \"InvalidSasToken\",\n \"message\": \"The shared access signature (SAS) is invalid: SAS \\u0027list\\u0027 authorization is missing. Permissions: r\"\n }\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:17:53 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrl[1].json new file mode 100644 index 0000000000000..8d3f06c0a1d54 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentUrl[1].json @@ -0,0 +1,142 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "150e84fb-88c9-40ec-bc69-098055e2fb66", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2603", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533514149_86d76cbf-5a54-41a6-92cc-643cb6f06494?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "86d76cbf-5a54-41a6-92cc-643cb6f06494", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 18:30:53 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533514149_86d76cbf-5a54-41a6-92cc-643cb6f06494?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f375ead2-2352-4164-9377-857ca7316b0c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "40", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "cbe7a5b3-3e26-46eb-a2de-4dcce78dbdfc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533514149_86d76cbf-5a54-41a6-92cc-643cb6f06494\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T18:30:51Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T18:30:55Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"816b613a-4a0e-4102-b68e-9a45892512a4\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"MerchantAddress\": {\n \"type\": \"string\"\n },\n \"MerchantPhoneNumber\": {\n \"type\": \"string\"\n },\n \"CustomerName\": {\n \"type\": \"string\"\n },\n \"CustomerAddress\": {\n \"type\": \"string\"\n },\n \"CustomerPhoneNumber\": {\n \"type\": \"string\"\n },\n \"FirstItem\": {\n \"type\": \"string\"\n },\n \"FirstQuantity\": {\n \"type\": \"string\"\n },\n \"FirstPrice\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Tip\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Merchant2\": {\n \"type\": \"string\"\n },\n \"Customer2\": {\n \"type\": \"string\"\n },\n \"Total2\": {\n \"type\": \"string\"\n },\n \"Signature2\": {\n \"type\": \"string\"\n }\n },\n \"fieldConfidence\": {\n \"Customer2\": 0.95,\n \"CustomerAddress\": 0.95,\n \"CustomerName\": 0.95,\n \"CustomerPhoneNumber\": 0.95,\n \"FirstItem\": 0.95,\n \"FirstPrice\": 0.95,\n \"FirstQuantity\": 0.95,\n \"Merchant\": 0,\n \"Merchant2\": 0,\n \"MerchantAddress\": 0.95,\n \"MerchantPhoneNumber\": 0.95,\n \"Signature\": 0.95,\n \"Signature2\": 0.95,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Tip\": 0.95,\n \"Total\": 0.95,\n \"Total2\": 0.95\n }\n }\n },\n \"modelId\": \"816b613a-4a0e-4102-b68e-9a45892512a4\",\n \"createdDateTime\": \"2021-09-28T18:30:55Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 18:30:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533514149_86d76cbf-5a54-41a6-92cc-643cb6f06494?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a1a94e3f-c23b-4a7b-a638-c9080b52a025" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "54", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "cc5da3b2-aa5d-4e13-975a-89aea6871e11", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533514149_86d76cbf-5a54-41a6-92cc-643cb6f06494\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T18:30:51Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T18:30:55Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"816b613a-4a0e-4102-b68e-9a45892512a4\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"MerchantAddress\": {\n \"type\": \"string\"\n },\n \"MerchantPhoneNumber\": {\n \"type\": \"string\"\n },\n \"CustomerName\": {\n \"type\": \"string\"\n },\n \"CustomerAddress\": {\n \"type\": \"string\"\n },\n \"CustomerPhoneNumber\": {\n \"type\": \"string\"\n },\n \"FirstItem\": {\n \"type\": \"string\"\n },\n \"FirstQuantity\": {\n \"type\": \"string\"\n },\n \"FirstPrice\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Tip\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Merchant2\": {\n \"type\": \"string\"\n },\n \"Customer2\": {\n \"type\": \"string\"\n },\n \"Total2\": {\n \"type\": \"string\"\n },\n \"Signature2\": {\n \"type\": \"string\"\n }\n },\n \"fieldConfidence\": {\n \"Customer2\": 0.95,\n \"CustomerAddress\": 0.95,\n \"CustomerName\": 0.95,\n \"CustomerPhoneNumber\": 0.95,\n \"FirstItem\": 0.95,\n \"FirstPrice\": 0.95,\n \"FirstQuantity\": 0.95,\n \"Merchant\": 0,\n \"Merchant2\": 0,\n \"MerchantAddress\": 0.95,\n \"MerchantPhoneNumber\": 0.95,\n \"Signature\": 0.95,\n \"Signature2\": 0.95,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Tip\": 0.95,\n \"Total\": 0.95,\n \"Total2\": 0.95\n }\n }\n },\n \"modelId\": \"816b613a-4a0e-4102-b68e-9a45892512a4\",\n \"createdDateTime\": \"2021-09-28T18:30:55Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 18:30:59 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a6558d08-0681-45dd-92be-9d82f71a5d91", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1183", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e1212bf6-6fa1-4506-9e07-d81e33c91b52", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4/analyzeResults/e1212bf6-6fa1-4506-9e07-d81e33c91b52?api-version=2021-09-30-preview", + "Date" : "Tue, 28 Sep 2021 18:31:01 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4/analyzeResults/e1212bf6-6fa1-4506-9e07-d81e33c91b52?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b0c00cb1-221b-4452-a4ee-47f88171142d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "380", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fbd57045-8a63-40fb-9ef8-252f88b54548", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-28T18:31:01Z\",\"lastUpdatedDateTime\":\"2021-09-28T18:31:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"816b613a-4a0e-4102-b68e-9a45892512a4\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[{\"docType\":\"816b613a-4a0e-4102-b68e-9a45892512a4:816b613a-4a0e-4102-b68e-9a45892512a4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1700,0,1700,2200,0,2200]}],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Additional Notes:\",\"content\":\"Additional Notes:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[173,1796,478,1796,478,1833,173,1833]}],\"confidence\":0.95,\"spans\":[{\"offset\":644,\"length\":17}]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1426,1572,1526,1572,1526,1599,1426,1599]}],\"confidence\":0.95,\"spans\":[{\"offset\":715,\"length\":7}]},\"FirstQuantity\":{\"type\":\"string\",\"confidence\":0.612},\"Tip\":{\"type\":\"string\",\"confidence\":0.598},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"content\":\"555-348-6512\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[363,351,524,351,524,378,363,378]}],\"confidence\":0.95,\"spans\":[{\"offset\":43,\"length\":12}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Purchase Order\",\"content\":\"Purchase Order\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1113,321,1549,321,1549,370,1113,370]}],\"confidence\":0.95,\"spans\":[{\"offset\":92,\"length\":14}]},\"Total\":{\"type\":\"string\",\"confidence\":0.658},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Purchase\",\"content\":\"Purchase\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[137,139,259,139,259,167,137,167]}],\"confidence\":0.02,\"spans\":[{\"offset\":0,\"length\":8}]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Jupiter Book 25% Supply off you will refund next you 50% per book if returned within 60 days of reading and offer you total purchase.\",\"content\":\"Jupiter Book 25% Supply off you will refund next you 50% per book if returned within 60 days of reading and offer you total purchase.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,1924,1505,1924,1505,1992,169,1992]}],\"confidence\":0.114,\"spans\":[{\"offset\":747,\"length\":133}]},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.677},\"Customer2\":{\"type\":\"string\",\"confidence\":0.719},\"Merchant\":{\"type\":\"string\",\"confidence\":0.919},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"948284\",\"content\":\"948284\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1275,461,1373,461,1373,489,1275,489]}],\"confidence\":0.95,\"spans\":[{\"offset\":146,\"length\":6}]},\"CustomerAddress\":{\"type\":\"string\",\"confidence\":0.615},\"Total2\":{\"type\":\"string\",\"confidence\":0.791},\"CustomerPhoneNumber\":{\"type\":\"string\",\"confidence\":0.582},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"To Name: Name: 938 NE Burner Road Boulder City, CO 92848\",\"content\":\"To Name: Name: 938 NE Burner Road Boulder City, CO 92848\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[256,547,559,547,559,751,256,751]}],\"confidence\":0.296,\"spans\":[{\"offset\":186,\"length\":2},{\"offset\":196,\"length\":5},{\"offset\":224,\"length\":5},{\"offset\":259,\"length\":41}]},\"FirstItem\":{\"type\":\"string\",\"confidence\":0.629}},\"confidence\":0.297,\"spans\":[{\"offset\":0,\"length\":880}]}]}}", + "Date" : "Tue, 28 Sep 2021 18:31:06 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c74422a6-cb09-4317-8b5d-eccffc35aec9" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "265", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "12fa3709-146b-4b99-858a-d106eff1665b", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 28 Sep 2021 18:31:07 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/816b613a-4a0e-4102-b68e-9a45892512a4/analyzeResults/e1212bf6-6fa1-4506-9e07-d81e33c91b52?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1fb8f4de-32d2-428e-b10d-ae24876f7151" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "449", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b22b37c2-cac1-4209-b8a4-43dc96877c7e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-28T18:31:01Z\",\"lastUpdatedDateTime\":\"2021-09-28T18:31:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"816b613a-4a0e-4102-b68e-9a45892512a4\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[{\"docType\":\"816b613a-4a0e-4102-b68e-9a45892512a4:816b613a-4a0e-4102-b68e-9a45892512a4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1700,0,1700,2200,0,2200]}],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Additional Notes:\",\"content\":\"Additional Notes:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[173,1796,478,1796,478,1833,173,1833]}],\"confidence\":0.95,\"spans\":[{\"offset\":644,\"length\":17}]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1426,1572,1526,1572,1526,1599,1426,1599]}],\"confidence\":0.95,\"spans\":[{\"offset\":715,\"length\":7}]},\"FirstQuantity\":{\"type\":\"string\",\"confidence\":0.612},\"Tip\":{\"type\":\"string\",\"confidence\":0.598},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"content\":\"555-348-6512\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[363,351,524,351,524,378,363,378]}],\"confidence\":0.95,\"spans\":[{\"offset\":43,\"length\":12}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Purchase Order\",\"content\":\"Purchase Order\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1113,321,1549,321,1549,370,1113,370]}],\"confidence\":0.95,\"spans\":[{\"offset\":92,\"length\":14}]},\"Total\":{\"type\":\"string\",\"confidence\":0.658},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Purchase\",\"content\":\"Purchase\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[137,139,259,139,259,167,137,167]}],\"confidence\":0.02,\"spans\":[{\"offset\":0,\"length\":8}]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Jupiter Book 25% Supply off you will refund next you 50% per book if returned within 60 days of reading and offer you total purchase.\",\"content\":\"Jupiter Book 25% Supply off you will refund next you 50% per book if returned within 60 days of reading and offer you total purchase.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,1924,1505,1924,1505,1992,169,1992]}],\"confidence\":0.114,\"spans\":[{\"offset\":747,\"length\":133}]},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.677},\"Customer2\":{\"type\":\"string\",\"confidence\":0.719},\"Merchant\":{\"type\":\"string\",\"confidence\":0.919},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"948284\",\"content\":\"948284\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1275,461,1373,461,1373,489,1275,489]}],\"confidence\":0.95,\"spans\":[{\"offset\":146,\"length\":6}]},\"CustomerAddress\":{\"type\":\"string\",\"confidence\":0.615},\"Total2\":{\"type\":\"string\",\"confidence\":0.791},\"CustomerPhoneNumber\":{\"type\":\"string\",\"confidence\":0.582},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"To Name: Name: 938 NE Burner Road Boulder City, CO 92848\",\"content\":\"To Name: Name: 938 NE Burner Road Boulder City, CO 92848\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[256,547,559,547,559,751,256,751]}],\"confidence\":0.296,\"spans\":[{\"offset\":186,\"length\":2},{\"offset\":196,\"length\":5},{\"offset\":224,\"length\":5},{\"offset\":259,\"length\":41}]},\"FirstItem\":{\"type\":\"string\",\"confidence\":0.629}},\"confidence\":0.297,\"spans\":[{\"offset\":0,\"length\":880}]}]}}", + "Date" : "Tue, 28 Sep 2021 18:31:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..84948d6747471 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithContentTypeAutoDetection[1].json @@ -0,0 +1,124 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b2b79735-ae31-44ce-b3d7-d847f22e6276", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2026", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666085_59e02cb1-8721-4ed5-80d7-f7438f7ebcdc?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "59e02cb1-8721-4ed5-80d7-f7438f7ebcdc", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:36 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666085_59e02cb1-8721-4ed5-80d7-f7438f7ebcdc?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "74211f40-d5f6-48bd-97f9-6bb4660e7779" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "45", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e1e938a1-de34-48a0-8b06-8dee1b6c95a6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666085_59e02cb1-8721-4ed5-80d7-f7438f7ebcdc\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:34Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:38Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\n \"createdDateTime\": \"2021-09-27T00:18:38Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666085_59e02cb1-8721-4ed5-80d7-f7438f7ebcdc?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d515c51a-cfb2-4743-b8f6-e3626cdf0f15" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "38", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f8de877b-d97e-4b50-96d0-358864e6b95c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666085_59e02cb1-8721-4ed5-80d7-f7438f7ebcdc\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:34Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:38Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\n \"createdDateTime\": \"2021-09-27T00:18:38Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:41 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ac3e20f8-1442-44e2-86ea-965978d928ef", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "702", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "92a22586-b787-49ad-834d-3499a6e2b7ff", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967/analyzeResults/92a22586-b787-49ad-834d-3499a6e2b7ff?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:18:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967/analyzeResults/92a22586-b787-49ad-834d-3499a6e2b7ff?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ef70fe42-490e-417e-bcfa-68abd6b5d666" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "144", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "41baaa7c-fc43-4f0f-a1cb-bdd13b25ff47", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:18:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/281f62dd-3c16-4d0a-b597-5c05f6ef7967/analyzeResults/92a22586-b787-49ad-834d-3499a6e2b7ff?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5b030f32-4eec-4d87-951e-3d15720a0082" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "159", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4a29c468-a574-4543-8da2-ba1c209229d7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:46Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:18:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithEmptyModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithEmptyModelId[1].json new file mode 100644 index 0000000000000..5cb342a3b3762 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithEmptyModelId[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "836dba89-2cc8-488e-8481-767c792a247b", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "56", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7644aca2-4d24-49da-aeb1-f6e002340ba6", + "retry-after" : "0", + "StatusCode" : "404", + "Body" : "{\"error\":{\"code\":\"404\",\"message\": \"Resource not found\"}}", + "Date" : "Mon, 27 Sep 2021 00:18:15 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullData[1].json new file mode 100644 index 0000000000000..7ce9e37095382 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a256319d-0d2f-4f66-ac1f-059908b0b061", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2017", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666079_c10ed278-0c32-40d0-a25e-ffa63268f6f5?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c10ed278-0c32-40d0-a25e-ffa63268f6f5", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666079_c10ed278-0c32-40d0-a25e-ffa63268f6f5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "58618f4a-2207-4d89-aac2-5f6d8cd38494" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "37", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "756267f4-3fa2-4c9b-b307-8a34dcc75098", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666079_c10ed278-0c32-40d0-a25e-ffa63268f6f5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:41Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:45Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/28970dc6-0a4b-433e-898b-2e0b6a3776df?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"28970dc6-0a4b-433e-898b-2e0b6a3776df\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"28970dc6-0a4b-433e-898b-2e0b6a3776df\",\n \"createdDateTime\": \"2021-09-27T00:18:45Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666079_c10ed278-0c32-40d0-a25e-ffa63268f6f5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3709b689-3de7-4132-81e9-fdcb7b38d396" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "43", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "273ce1ff-52d3-4aa8-b7a8-82739c300756", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666079_c10ed278-0c32-40d0-a25e-ffa63268f6f5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:41Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:45Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/28970dc6-0a4b-433e-898b-2e0b6a3776df?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"28970dc6-0a4b-433e-898b-2e0b6a3776df\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"28970dc6-0a4b-433e-898b-2e0b6a3776df\",\n \"createdDateTime\": \"2021-09-27T00:18:45Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullModelId[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentDataNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithNullModelId[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithSelectionMark[1].json new file mode 100644 index 0000000000000..b9e93939e598f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocumentWithSelectionMark[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f8f603de-ebc4-4321-96ec-39e8abe40d21", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "48", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5d60fc16-7258-44ca-ba73-10021c8df576", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\n \"error\": {\n \"code\": \"InvalidArgument\",\n \"message\": \"Invalid argument.\",\n \"innererror\": {\n \"code\": \"InvalidSasToken\",\n \"message\": \"The shared access signature (SAS) is invalid: SAS \\u0027list\\u0027 authorization is missing. Permissions: r\"\n }\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocument[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocument[1].json new file mode 100644 index 0000000000000..b332803fe89cb --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeCustomDocument[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f7d5efce-2883-4b53-adcb-384b8d523109", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2588", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666127_c2779985-070d-4fed-bddd-a63e5c92b7ab?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c2779985-070d-4fed-bddd-a63e5c92b7ab", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:17:55 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666127_c2779985-070d-4fed-bddd-a63e5c92b7ab?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8d6656c7-b54b-4348-80b1-0b2a58586058" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "48", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6581717d-39d6-4636-af62-4a48fc5b49b0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666127_c2779985-070d-4fed-bddd-a63e5c92b7ab\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-27T00:17:53Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:17:56Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/e743fb9a-97aa-4705-b5fb-e5d95ea2177c?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:00 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeGermanContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeGermanContentFromUrl[1].json new file mode 100644 index 0000000000000..fce9b15929a10 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeGermanContentFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?locale=&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7d3e51d9-c410-4222-9f0e-32b80f82dd56", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "636", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "12bb72d3-622d-4126-b4d9-85816aa6be21", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12bb72d3-622d-4126-b4d9-85816aa6be21?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:41 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12bb72d3-622d-4126-b4d9-85816aa6be21?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6265d7f0-c9b0-4535-afb7-c594e12b249f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "129", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c6eaf87a-ecab-448e-b07c-f45e7f5b8a1e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:41Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:43Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:45 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/12bb72d3-622d-4126-b4d9-85816aa6be21?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "554ea5d7-3d75-4ac9-8953-a9c4969772fe" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "125", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "57b06bb4-aed5-4a1f-a5a4-d509baf195b0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:41Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:43Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:46 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentFromDamagedPdf[1].json new file mode 100644 index 0000000000000..619c930a3e9c8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "85c552ae-d5b1-414b-8773-97a2cc35809d", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "4", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1bc1836e-8cdc-451b-9fe6-ff301749f826", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:18 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..54dfddc00b10e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b87db591-3a57-46a8-ac5d-e898de1e539f", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1005", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "41721744-1dfa-4ddd-af0e-c8bab5c58ba9", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:20 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentWithBlankPdf[1].json new file mode 100644 index 0000000000000..60a5b00f3012c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeIDDocumentWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fef005ee-65cd-4f6d-a81c-25b11720e332", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "189", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "993dca76-e834-48a9-972c-917a7ae6b4d6", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/993dca76-e834-48a9-972c-917a7ae6b4d6?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:17 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/993dca76-e834-48a9-972c-917a7ae6b4d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9794a5c1-ec81-4bb8-87b0-dd031686c260" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "171", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1a3bd6bd-361c-43db-8656-9e9e9dfe786e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:17Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:19Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:23 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/993dca76-e834-48a9-972c-917a7ae6b4d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "757fe965-7915-42b2-8142-ac7084c41393" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "159", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a7a94ab8-23ae-49b5-8cdf-2c7c1b0c1650", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:17Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:19Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:23 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..9085e54e61ee8 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bc3cf83e-2c3b-4306-a477-36b7256310f0", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "207", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "56db5603-b177-449f-a531-70140a272806", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/56db5603-b177-449f-a531-70140a272806?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:45 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/56db5603-b177-449f-a531-70140a272806?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e37b2a71-21a9-475d-b532-ed8ceb698adf" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "330", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "aaa4fa1a-7533-4a42-9eb2-927f231d5d2b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:45Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/56db5603-b177-449f-a531-70140a272806?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e9ef45ec-bbb0-4b5b-8f04-2b7f2e32df2c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "130", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0a971095-41f5-46ea-8909-5da18def8ae2", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:45Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:47Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..8fe950f9641e4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e9057fa0-a842-4006-a099-6fe5a07a163d", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "496", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7d0e9a33-0c66-4c64-afa9-0e0825522ea6", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/7d0e9a33-0c66-4c64-afa9-0e0825522ea6?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:10 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/7d0e9a33-0c66-4c64-afa9-0e0825522ea6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "88f9621d-b6dc-4237-aaeb-6ad87a302c54" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "263", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ce35eedb-3d8e-4040-8aa5-360fa7cd15c7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/7d0e9a33-0c66-4c64-afa9-0e0825522ea6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "44be8137-d67c-4730-878e-84ca53bd661a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "284", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c7d406d7-7dc7-49f1-9feb-49d9f44d9133", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:17 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceData[1].json new file mode 100644 index 0000000000000..e4a6a9d231d40 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b51b90c4-0576-4a70-8323-9b1a57ea1483", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "360", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2103e430-5193-477b-bb55-f08ee9dadeaf", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/2103e430-5193-477b-bb55-f08ee9dadeaf?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/2103e430-5193-477b-bb55-f08ee9dadeaf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "efe58081-2a17-4d85-b4fc-e73d87442ef0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "140", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "70b3ad84-00fa-45f4-8972-9a7853839493", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:45Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:47 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/2103e430-5193-477b-bb55-f08ee9dadeaf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "741aacd0-7b6e-4329-b718-dbd4a9711a93" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "128", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "422d823a-7802-4b74-b5b5-9ad7d1d12161", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:42Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:45Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromDamagedPdf[1].json new file mode 100644 index 0000000000000..40bd63384da8c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "faa9dde9-a6fd-4f45-8d4b-a0034fca0c5e", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "6", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e3acfbfe-1aee-4ba4-b961-89b7118a81fb", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromUrlIncludeFieldElements[1].json new file mode 100644 index 0000000000000..e37a9d4812414 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceFromUrlIncludeFieldElements[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a1efd18d-bc07-4cb8-8819-42fc58cec01b", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "467", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "df76ac53-3e60-4628-a273-971e5a2a2b0c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/df76ac53-3e60-4628-a273-971e5a2a2b0c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:10 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/df76ac53-3e60-4628-a273-971e5a2a2b0c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "35c17543-4182-437a-bdb1-0ff172725c3a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "137", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "85ba6eb1-9e49-4913-95ec-5620a5de37c5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/df76ac53-3e60-4628-a273-971e5a2a2b0c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b4e7cd31-ff4d-4be3-a10d-d878d9c1f2f1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "185", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "15ae2341-7114-402a-a9c6-8b3f394807df", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:10Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..249a682f83706 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3494f72d-5cdc-4d2f-b6b8-5bb1a3a63680", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "232", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6ca23893-b077-4e40-b4e4-186a4ab86f64", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:52 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceSourceUrl[1].json new file mode 100644 index 0000000000000..359cd5b2d069a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeInvoiceSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "25148672-fc23-4da3-8e5a-9236b8dccbde", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "505", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "88e5638d-a740-4d40-98b9-7b7b8a4b4154", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/88e5638d-a740-4d40-98b9-7b7b8a4b4154?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:12 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/88e5638d-a740-4d40-98b9-7b7b8a4b4154?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "203c0690-51a5-4f8d-8078-c9532b73d3e3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0f570d45-dcac-471e-83ca-c1a29a87626b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:13Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:15Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:17 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/88e5638d-a740-4d40-98b9-7b7b8a4b4154?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "00042f39-170c-4b40-9226-30e1662bbde0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "268", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1acd7158-c5f3-4691-9662-6b9f29028073", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:13Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:15Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:18 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeJpgCustomDocument[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeJpgCustomDocument[1].json new file mode 100644 index 0000000000000..255773f111c86 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeJpgCustomDocument[1].json @@ -0,0 +1,124 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e0840259-167c-44f2-b33f-1552115238d8", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2241", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666078_08045d0a-a8b6-467e-8adc-97091452d5fd?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "08045d0a-a8b6-467e-8adc-97091452d5fd", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:43 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666078_08045d0a-a8b6-467e-8adc-97091452d5fd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "325358ae-55b6-40e2-b7ff-be2ae22a48e3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "36", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "92282360-339f-4cf0-af00-3b20db655446", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666078_08045d0a-a8b6-467e-8adc-97091452d5fd\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:42Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:46Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"b3f678f2-e736-4999-a3dc-32235fdc83a9\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\n \"createdDateTime\": \"2021-09-27T00:18:46Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666078_08045d0a-a8b6-467e-8adc-97091452d5fd?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5b52a91b-f316-43d8-aac1-e393a505d0ed" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "39", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1b423218-fcc6-4496-a6c4-7a4e8521da7b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666078_08045d0a-a8b6-467e-8adc-97091452d5fd\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:42Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:46Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"b3f678f2-e736-4999-a3dc-32235fdc83a9\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\n \"createdDateTime\": \"2021-09-27T00:18:46Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "949f2b28-320c-4bec-9807-31df786d9510", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "793", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e311ac28-fac8-4b91-8a65-eebde97c36e0", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9/analyzeResults/e311ac28-fac8-4b91-8a65-eebde97c36e0?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:18:51 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9/analyzeResults/e311ac28-fac8-4b91-8a65-eebde97c36e0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c3f92d1c-fd06-4d9c-b4dc-64a63a904ab9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c1f17b6b-3e1d-4b91-a076-987af436d711", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:51Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:18:57 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/b3f678f2-e736-4999-a3dc-32235fdc83a9/analyzeResults/e311ac28-fac8-4b91-8a65-eebde97c36e0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "19891ddc-2bb4-461c-b362-fe7178320300" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "138", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5da246f3-8ddd-4880-8c43-110e74e3c639", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:51Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:53Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Purchase Order\\nHero Limited\\nCompany Phone: 555-348-6512\\nWebsite: www.herolimited.com\\nEmail:\\nPurchase Order\\nDated As: 12/20/2020\\nPurchase Order #: 948284\\naccounts@herolimited.com\\nShipped To\\nVendor Name: Hillary Swank\\nCompany Name: Higgly Wiggly Books\\nAddress: 938 NE Burner Road\\nBoulder City, CO 92848\\nPhone: 938-294-2949\\nShipped From\\nName: Bernie Sanders\\nCompany Name: Jupiter Book Supply\\nAddress: 383 N Kinnick Road\\nSeattle, WA 38383\\nPhone: 932-299-0292\\nDetails\\nQuantity\\nUnit Price\\nTotal\\nBindings\\n20\\n1.00\\n20.00\\nCovers Small\\n20\\n1.00\\n20.00\\nFeather Bookmark\\n20\\n5.00\\n100.00\\nCopper Swirl Marker\\n20\\n5.00\\n100.00\\nBernie Sanders\\nBernie Sanders\\nManager\\nAdditional Notes:\\nDo not Jostle Box. Unpack carefully. Enjoy.\\nSUBTOTAL\\n$140.00\\nTAX\\n$4.00\\nTOTAL\\n$144.00\\nJupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\\noffer you 25% off you next total purchase.\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Purchase\",\"boundingBox\":[137,140,259,139,259,167,137,167],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[264,139,350,139,349,167,264,167],\"confidence\":0.995,\"span\":{\"offset\":9,\"length\":5}},{\"content\":\"Hero\",\"boundingBox\":[621,208,769,206,769,266,620,266],\"confidence\":0.983,\"span\":{\"offset\":15,\"length\":4}},{\"content\":\"Limited\",\"boundingBox\":[793,205,1058,204,1057,266,793,266],\"confidence\":0.997,\"span\":{\"offset\":20,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[163,353,270,351,270,379,164,378],\"confidence\":0.993,\"span\":{\"offset\":28,\"length\":7}},{\"content\":\"Phone:\",\"boundingBox\":[275,351,358,351,359,378,276,379],\"confidence\":0.997,\"span\":{\"offset\":36,\"length\":6}},{\"content\":\"555-348-6512\",\"boundingBox\":[363,351,524,351,524,374,364,378],\"confidence\":0.994,\"span\":{\"offset\":43,\"length\":12}},{\"content\":\"Website:\",\"boundingBox\":[167,394,265,393,265,418,167,417],\"confidence\":0.997,\"span\":{\"offset\":56,\"length\":8}},{\"content\":\"www.herolimited.com\",\"boundingBox\":[270,393,522,393,522,418,270,418],\"confidence\":0.993,\"span\":{\"offset\":65,\"length\":19}},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"confidence\":0.995,\"span\":{\"offset\":85,\"length\":6}},{\"content\":\"Purchase\",\"boundingBox\":[1113,322,1365,321,1364,370,1113,368],\"confidence\":0.997,\"span\":{\"offset\":92,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1381,321,1549,321,1548,370,1380,370],\"confidence\":0.995,\"span\":{\"offset\":101,\"length\":5}},{\"content\":\"Dated\",\"boundingBox\":[1025,421,1103,420,1103,448,1025,448],\"confidence\":0.993,\"span\":{\"offset\":107,\"length\":5}},{\"content\":\"As:\",\"boundingBox\":[1110,420,1156,420,1156,448,1110,448],\"confidence\":0.998,\"span\":{\"offset\":113,\"length\":3}},{\"content\":\"12/20/2020\",\"boundingBox\":[1162,420,1312,421,1312,449,1162,448],\"confidence\":0.992,\"span\":{\"offset\":117,\"length\":10}},{\"content\":\"Purchase\",\"boundingBox\":[1023,461,1146,461,1147,489,1023,488],\"confidence\":0.997,\"span\":{\"offset\":128,\"length\":8}},{\"content\":\"Order\",\"boundingBox\":[1152,461,1237,461,1237,489,1152,489],\"confidence\":0.995,\"span\":{\"offset\":137,\"length\":5}},{\"content\":\"#:\",\"boundingBox\":[1242,461,1270,461,1270,489,1243,489],\"confidence\":0.997,\"span\":{\"offset\":143,\"length\":2}},{\"content\":\"948284\",\"boundingBox\":[1275,461,1373,462,1373,489,1275,489],\"confidence\":0.995,\"span\":{\"offset\":146,\"length\":6}},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,481,471,479,470,503,165,503],\"confidence\":0.959,\"span\":{\"offset\":153,\"length\":24}},{\"content\":\"Shipped\",\"boundingBox\":[167,547,328,547,327,592,168,592],\"confidence\":0.997,\"span\":{\"offset\":178,\"length\":7}},{\"content\":\"To\",\"boundingBox\":[337,547,392,547,391,591,336,592],\"confidence\":0.963,\"span\":{\"offset\":186,\"length\":2}},{\"content\":\"Vendor\",\"boundingBox\":[160,611,250,610,250,638,160,637],\"confidence\":0.997,\"span\":{\"offset\":189,\"length\":6}},{\"content\":\"Name:\",\"boundingBox\":[256,610,341,609,340,639,256,638],\"confidence\":0.995,\"span\":{\"offset\":196,\"length\":5}},{\"content\":\"Hillary\",\"boundingBox\":[346,609,427,609,427,639,346,639],\"confidence\":0.997,\"span\":{\"offset\":202,\"length\":7}},{\"content\":\"Swank\",\"boundingBox\":[433,609,518,610,517,639,433,639],\"confidence\":0.995,\"span\":{\"offset\":210,\"length\":5}},{\"content\":\"Company\",\"boundingBox\":[160,649,275,647,276,678,161,676],\"confidence\":0.993,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[281,647,366,647,366,679,282,678],\"confidence\":0.995,\"span\":{\"offset\":224,\"length\":5}},{\"content\":\"Higgly\",\"boundingBox\":[372,647,449,646,449,679,372,679],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":6}},{\"content\":\"Wiggly\",\"boundingBox\":[455,646,541,646,541,678,455,679],\"confidence\":0.997,\"span\":{\"offset\":237,\"length\":6}},{\"content\":\"Books\",\"boundingBox\":[547,646,628,646,628,676,547,678],\"confidence\":0.995,\"span\":{\"offset\":244,\"length\":5}},{\"content\":\"Address:\",\"boundingBox\":[161,685,266,685,265,712,160,711],\"confidence\":0.994,\"span\":{\"offset\":250,\"length\":8}},{\"content\":\"938\",\"boundingBox\":[271,685,319,685,318,713,271,712],\"confidence\":0.993,\"span\":{\"offset\":259,\"length\":3}},{\"content\":\"NE\",\"boundingBox\":[324,685,360,685,359,713,323,713],\"confidence\":0.998,\"span\":{\"offset\":263,\"length\":2}},{\"content\":\"Burner\",\"boundingBox\":[366,685,452,685,452,713,365,713],\"confidence\":0.997,\"span\":{\"offset\":266,\"length\":6}},{\"content\":\"Road\",\"boundingBox\":[458,685,521,685,521,713,457,713],\"confidence\":0.992,\"span\":{\"offset\":273,\"length\":4}},{\"content\":\"Boulder\",\"boundingBox\":[279,722,369,722,370,751,280,750],\"confidence\":0.994,\"span\":{\"offset\":278,\"length\":7}},{\"content\":\"City,\",\"boundingBox\":[375,722,431,722,432,751,376,751],\"confidence\":0.995,\"span\":{\"offset\":286,\"length\":5}},{\"content\":\"CO\",\"boundingBox\":[437,722,473,722,473,751,437,751],\"confidence\":0.999,\"span\":{\"offset\":292,\"length\":2}},{\"content\":\"92848\",\"boundingBox\":[480,722,559,722,559,749,480,751],\"confidence\":0.995,\"span\":{\"offset\":295,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[613,722,701,722,701,749,613,749],\"confidence\":0.997,\"span\":{\"offset\":301,\"length\":6}},{\"content\":\"938-294-2949\",\"boundingBox\":[706,722,882,722,881,748,706,749],\"confidence\":0.983,\"span\":{\"offset\":308,\"length\":12}},{\"content\":\"Shipped\",\"boundingBox\":[167,784,324,785,324,830,169,830],\"confidence\":0.997,\"span\":{\"offset\":321,\"length\":7}},{\"content\":\"From\",\"boundingBox\":[333,785,431,785,431,827,333,830],\"confidence\":0.991,\"span\":{\"offset\":329,\"length\":4}},{\"content\":\"Name:\",\"boundingBox\":[166,853,246,853,245,879,166,879],\"confidence\":0.994,\"span\":{\"offset\":334,\"length\":5}},{\"content\":\"Bernie\",\"boundingBox\":[251,853,333,852,332,880,251,879],\"confidence\":0.997,\"span\":{\"offset\":340,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[338,852,444,852,444,879,338,880],\"confidence\":0.997,\"span\":{\"offset\":347,\"length\":7}},{\"content\":\"Company\",\"boundingBox\":[164,890,280,890,281,919,165,919],\"confidence\":0.994,\"span\":{\"offset\":355,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[285,890,372,889,372,919,286,919],\"confidence\":0.995,\"span\":{\"offset\":363,\"length\":5}},{\"content\":\"Jupiter\",\"boundingBox\":[377,889,464,889,464,919,378,919],\"confidence\":0.997,\"span\":{\"offset\":369,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[469,889,532,889,532,920,470,919],\"confidence\":0.992,\"span\":{\"offset\":377,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[538,889,628,890,628,920,538,920],\"confidence\":0.995,\"span\":{\"offset\":382,\"length\":6}},{\"content\":\"Address:\",\"boundingBox\":[166,926,271,926,271,953,166,953],\"confidence\":0.994,\"span\":{\"offset\":389,\"length\":8}},{\"content\":\"383\",\"boundingBox\":[277,925,325,925,325,953,276,953],\"confidence\":0.997,\"span\":{\"offset\":398,\"length\":3}},{\"content\":\"N\",\"boundingBox\":[330,925,346,926,346,953,330,953],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":1}},{\"content\":\"Kinnick\",\"boundingBox\":[355,926,444,926,444,954,355,953],\"confidence\":0.997,\"span\":{\"offset\":404,\"length\":7}},{\"content\":\"Road\",\"boundingBox\":[450,926,516,927,515,954,449,954],\"confidence\":0.983,\"span\":{\"offset\":412,\"length\":4}},{\"content\":\"Seattle,\",\"boundingBox\":[281,965,374,964,375,991,283,991],\"confidence\":0.996,\"span\":{\"offset\":417,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[380,964,424,964,425,991,381,991],\"confidence\":0.998,\"span\":{\"offset\":426,\"length\":2}},{\"content\":\"38383\",\"boundingBox\":[432,964,510,963,511,990,432,991],\"confidence\":0.995,\"span\":{\"offset\":429,\"length\":5}},{\"content\":\"Phone:\",\"boundingBox\":[760,964,847,964,846,990,760,990],\"confidence\":0.997,\"span\":{\"offset\":435,\"length\":6}},{\"content\":\"932-299-0292\",\"boundingBox\":[852,964,1029,963,1028,990,851,990],\"confidence\":0.987,\"span\":{\"offset\":442,\"length\":12}},{\"content\":\"Details\",\"boundingBox\":[447,1048,556,1048,555,1078,446,1078],\"confidence\":0.993,\"span\":{\"offset\":455,\"length\":7}},{\"content\":\"Quantity\",\"boundingBox\":[886,1048,1030,1047,1029,1084,886,1084],\"confidence\":0.997,\"span\":{\"offset\":463,\"length\":8}},{\"content\":\"Unit\",\"boundingBox\":[1112,1047,1175,1047,1175,1078,1111,1078],\"confidence\":0.992,\"span\":{\"offset\":472,\"length\":4}},{\"content\":\"Price\",\"boundingBox\":[1181,1047,1263,1048,1262,1078,1181,1078],\"confidence\":0.995,\"span\":{\"offset\":477,\"length\":5}},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1468,1077,1382,1077],\"confidence\":0.995,\"span\":{\"offset\":483,\"length\":5}},{\"content\":\"Bindings\",\"boundingBox\":[172,1094,279,1097,279,1123,173,1122],\"confidence\":0.993,\"span\":{\"offset\":489,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[859,1094,887,1094,887,1119,859,1119],\"confidence\":0.997,\"span\":{\"offset\":498,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1240,1095,1290,1094,1291,1117,1240,1118],\"confidence\":0.988,\"span\":{\"offset\":501,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1096,1526,1095,1525,1120,1459,1119],\"confidence\":0.995,\"span\":{\"offset\":506,\"length\":5}},{\"content\":\"Covers\",\"boundingBox\":[170,1136,251,1136,251,1161,170,1161],\"confidence\":0.995,\"span\":{\"offset\":512,\"length\":6}},{\"content\":\"Small\",\"boundingBox\":[256,1136,332,1135,331,1161,256,1161],\"confidence\":0.995,\"span\":{\"offset\":519,\"length\":5}},{\"content\":\"20\",\"boundingBox\":[859,1135,889,1135,889,1160,859,1160],\"confidence\":0.997,\"span\":{\"offset\":525,\"length\":2}},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1290,1135,1291,1160,1239,1160],\"confidence\":0.984,\"span\":{\"offset\":528,\"length\":4}},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1526,1135,1526,1160,1458,1160],\"confidence\":0.995,\"span\":{\"offset\":533,\"length\":5}},{\"content\":\"Feather\",\"boundingBox\":[173,1180,265,1179,265,1206,174,1206],\"confidence\":0.997,\"span\":{\"offset\":539,\"length\":7}},{\"content\":\"Bookmark\",\"boundingBox\":[270,1179,399,1178,400,1206,271,1206],\"confidence\":0.997,\"span\":{\"offset\":547,\"length\":8}},{\"content\":\"20\",\"boundingBox\":[860,1179,888,1179,888,1204,860,1203],\"confidence\":0.995,\"span\":{\"offset\":556,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1290,1178,1291,1203,1239,1204],\"confidence\":0.994,\"span\":{\"offset\":559,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"confidence\":0.067,\"span\":{\"offset\":564,\"length\":6}},{\"content\":\"Copper\",\"boundingBox\":[170,1223,257,1222,257,1253,170,1253],\"confidence\":0.995,\"span\":{\"offset\":571,\"length\":6}},{\"content\":\"Swirl\",\"boundingBox\":[263,1222,325,1222,325,1251,262,1252],\"confidence\":0.995,\"span\":{\"offset\":578,\"length\":5}},{\"content\":\"Marker\",\"boundingBox\":[331,1222,429,1223,429,1248,330,1251],\"confidence\":0.997,\"span\":{\"offset\":584,\"length\":6}},{\"content\":\"20\",\"boundingBox\":[860,1223,887,1223,887,1247,860,1247],\"confidence\":0.997,\"span\":{\"offset\":591,\"length\":2}},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1291,1221,1291,1247,1239,1247],\"confidence\":0.988,\"span\":{\"offset\":594,\"length\":4}},{\"content\":\"100.00\",\"boundingBox\":[1444,1224,1525,1223,1524,1247,1444,1248],\"confidence\":0.995,\"span\":{\"offset\":599,\"length\":6}},{\"content\":\"Bernie\",\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"confidence\":0.997,\"span\":{\"offset\":606,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[602,1671,762,1670,763,1708,602,1706],\"confidence\":0.997,\"span\":{\"offset\":613,\"length\":7}},{\"content\":\"Bernie\",\"boundingBox\":[542,1719,614,1719,615,1742,544,1742],\"confidence\":0.995,\"span\":{\"offset\":621,\"length\":6}},{\"content\":\"Sanders\",\"boundingBox\":[618,1719,716,1719,716,1743,619,1742],\"confidence\":0.997,\"span\":{\"offset\":628,\"length\":7}},{\"content\":\"Manager\",\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"confidence\":0.994,\"span\":{\"offset\":636,\"length\":7}},{\"content\":\"Additional\",\"boundingBox\":[173,1796,350,1796,349,1832,173,1831],\"confidence\":0.993,\"span\":{\"offset\":644,\"length\":10}},{\"content\":\"Notes:\",\"boundingBox\":[357,1796,478,1797,477,1833,356,1832],\"confidence\":0.997,\"span\":{\"offset\":655,\"length\":6}},{\"content\":\"Do\",\"boundingBox\":[175,1881,201,1881,202,1907,175,1907],\"confidence\":0.988,\"span\":{\"offset\":662,\"length\":2}},{\"content\":\"not\",\"boundingBox\":[207,1881,251,1880,252,1908,208,1907],\"confidence\":0.998,\"span\":{\"offset\":665,\"length\":3}},{\"content\":\"Jostle\",\"boundingBox\":[257,1880,330,1880,330,1909,257,1908],\"confidence\":0.997,\"span\":{\"offset\":669,\"length\":6}},{\"content\":\"Box.\",\"boundingBox\":[336,1880,397,1880,397,1909,336,1909],\"confidence\":0.991,\"span\":{\"offset\":676,\"length\":4}},{\"content\":\"Unpack\",\"boundingBox\":[403,1880,497,1880,497,1910,403,1909],\"confidence\":0.997,\"span\":{\"offset\":681,\"length\":6}},{\"content\":\"carefully.\",\"boundingBox\":[503,1880,620,1880,620,1911,503,1910],\"confidence\":0.996,\"span\":{\"offset\":688,\"length\":10}},{\"content\":\"Enjoy.\",\"boundingBox\":[626,1880,706,1881,706,1912,626,1911],\"confidence\":0.995,\"span\":{\"offset\":699,\"length\":6}},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1147,1575,1293,1575,1293,1600,1147,1600],\"confidence\":0.993,\"span\":{\"offset\":706,\"length\":8}},{\"content\":\"$140.00\",\"boundingBox\":[1426,1572,1526,1572,1525,1597,1427,1599],\"confidence\":0.993,\"span\":{\"offset\":715,\"length\":7}},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1288,1618,1288,1643,1236,1643],\"confidence\":0.994,\"span\":{\"offset\":723,\"length\":3}},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"confidence\":0.988,\"span\":{\"offset\":727,\"length\":5}},{\"content\":\"TOTAL\",\"boundingBox\":[1204,1674,1292,1674,1292,1699,1205,1699],\"confidence\":0.994,\"span\":{\"offset\":733,\"length\":5}},{\"content\":\"$144.00\",\"boundingBox\":[1427,1671,1527,1669,1527,1697,1429,1698],\"confidence\":0.983,\"span\":{\"offset\":739,\"length\":7}},{\"content\":\"Jupiter\",\"boundingBox\":[169,1924,265,1924,265,1959,169,1959],\"confidence\":0.994,\"span\":{\"offset\":747,\"length\":7}},{\"content\":\"Book\",\"boundingBox\":[272,1924,350,1924,351,1958,272,1959],\"confidence\":0.992,\"span\":{\"offset\":755,\"length\":4}},{\"content\":\"Supply\",\"boundingBox\":[357,1924,460,1924,460,1958,357,1958],\"confidence\":0.995,\"span\":{\"offset\":760,\"length\":6}},{\"content\":\"will\",\"boundingBox\":[467,1924,516,1924,516,1958,467,1958],\"confidence\":0.991,\"span\":{\"offset\":767,\"length\":4}},{\"content\":\"refund\",\"boundingBox\":[523,1924,622,1924,621,1958,523,1958],\"confidence\":0.997,\"span\":{\"offset\":772,\"length\":6}},{\"content\":\"you\",\"boundingBox\":[629,1924,685,1924,684,1958,628,1958],\"confidence\":0.998,\"span\":{\"offset\":779,\"length\":3}},{\"content\":\"50%\",\"boundingBox\":[691,1924,761,1924,760,1958,691,1958],\"confidence\":0.988,\"span\":{\"offset\":783,\"length\":3}},{\"content\":\"per\",\"boundingBox\":[768,1924,819,1924,819,1958,767,1958],\"confidence\":0.998,\"span\":{\"offset\":787,\"length\":3}},{\"content\":\"book\",\"boundingBox\":[826,1924,900,1924,899,1958,825,1958],\"confidence\":0.992,\"span\":{\"offset\":791,\"length\":4}},{\"content\":\"if\",\"boundingBox\":[907,1924,927,1924,926,1958,906,1958],\"confidence\":0.999,\"span\":{\"offset\":796,\"length\":2}},{\"content\":\"returned\",\"boundingBox\":[933,1924,1059,1924,1058,1958,933,1958],\"confidence\":0.996,\"span\":{\"offset\":799,\"length\":8}},{\"content\":\"within\",\"boundingBox\":[1066,1924,1153,1924,1152,1958,1065,1958],\"confidence\":0.997,\"span\":{\"offset\":808,\"length\":6}},{\"content\":\"60\",\"boundingBox\":[1160,1924,1200,1924,1199,1958,1159,1958],\"confidence\":0.999,\"span\":{\"offset\":815,\"length\":2}},{\"content\":\"days\",\"boundingBox\":[1207,1924,1279,1924,1278,1958,1206,1958],\"confidence\":0.992,\"span\":{\"offset\":818,\"length\":4}},{\"content\":\"of\",\"boundingBox\":[1286,1924,1317,1924,1316,1958,1284,1958],\"confidence\":0.997,\"span\":{\"offset\":823,\"length\":2}},{\"content\":\"reading\",\"boundingBox\":[1324,1924,1438,1924,1437,1958,1322,1958],\"confidence\":0.997,\"span\":{\"offset\":826,\"length\":7}},{\"content\":\"and\",\"boundingBox\":[1445,1924,1505,1924,1504,1958,1443,1958],\"confidence\":0.998,\"span\":{\"offset\":834,\"length\":3}},{\"content\":\"offer\",\"boundingBox\":[169,1958,231,1958,231,1991,169,1991],\"confidence\":0.993,\"span\":{\"offset\":838,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[237,1958,295,1958,295,1992,237,1991],\"confidence\":0.989,\"span\":{\"offset\":844,\"length\":3}},{\"content\":\"25%\",\"boundingBox\":[303,1958,371,1958,372,1992,303,1992],\"confidence\":0.947,\"span\":{\"offset\":848,\"length\":3}},{\"content\":\"off\",\"boundingBox\":[378,1958,420,1958,420,1992,378,1992],\"confidence\":0.998,\"span\":{\"offset\":852,\"length\":3}},{\"content\":\"you\",\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"confidence\":0.998,\"span\":{\"offset\":856,\"length\":3}},{\"content\":\"next\",\"boundingBox\":[488,1958,554,1959,555,1992,489,1992],\"confidence\":0.992,\"span\":{\"offset\":860,\"length\":4}},{\"content\":\"total\",\"boundingBox\":[561,1959,627,1959,627,1991,561,1992],\"confidence\":0.994,\"span\":{\"offset\":865,\"length\":5}},{\"content\":\"purchase.\",\"boundingBox\":[633,1959,786,1961,787,1990,633,1991],\"confidence\":0.996,\"span\":{\"offset\":871,\"length\":9}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Purchase Order\",\"boundingBox\":[136,139,351,138,351,166,136,166],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"Hero Limited\",\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"spans\":[{\"offset\":15,\"length\":12}]},{\"content\":\"Company Phone: 555-348-6512\",\"boundingBox\":[163,352,528,350,528,376,163,379],\"spans\":[{\"offset\":28,\"length\":27}]},{\"content\":\"Website: www.herolimited.com\",\"boundingBox\":[166,393,533,393,533,418,166,418],\"spans\":[{\"offset\":56,\"length\":28}]},{\"content\":\"Email:\",\"boundingBox\":[165,435,237,435,237,460,165,460],\"spans\":[{\"offset\":85,\"length\":6}]},{\"content\":\"Purchase Order\",\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"spans\":[{\"offset\":92,\"length\":14}]},{\"content\":\"Dated As: 12/20/2020\",\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"spans\":[{\"offset\":107,\"length\":20}]},{\"content\":\"Purchase Order #: 948284\",\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"spans\":[{\"offset\":128,\"length\":24}]},{\"content\":\"accounts@herolimited.com\",\"boundingBox\":[164,479,482,478,483,502,164,503],\"spans\":[{\"offset\":153,\"length\":24}]},{\"content\":\"Shipped To\",\"boundingBox\":[167,547,397,546,397,591,167,592],\"spans\":[{\"offset\":178,\"length\":10}]},{\"content\":\"Vendor Name: Hillary Swank\",\"boundingBox\":[159,609,520,609,520,638,159,638],\"spans\":[{\"offset\":189,\"length\":26}]},{\"content\":\"Company Name: Higgly Wiggly Books\",\"boundingBox\":[159,647,629,646,629,677,160,679],\"spans\":[{\"offset\":216,\"length\":33}]},{\"content\":\"Address: 938 NE Burner Road\",\"boundingBox\":[160,684,526,684,526,712,160,711],\"spans\":[{\"offset\":250,\"length\":27}]},{\"content\":\"Boulder City, CO 92848\",\"boundingBox\":[279,722,566,721,566,750,279,751],\"spans\":[{\"offset\":278,\"length\":22}]},{\"content\":\"Phone: 938-294-2949\",\"boundingBox\":[612,721,885,721,885,747,612,748],\"spans\":[{\"offset\":301,\"length\":19}]},{\"content\":\"Shipped From\",\"boundingBox\":[167,784,453,784,453,829,167,830],\"spans\":[{\"offset\":321,\"length\":12}]},{\"content\":\"Name: Bernie Sanders\",\"boundingBox\":[165,852,445,851,445,878,165,879],\"spans\":[{\"offset\":334,\"length\":20}]},{\"content\":\"Company Name: Jupiter Book Supply\",\"boundingBox\":[164,889,629,889,629,919,164,919],\"spans\":[{\"offset\":355,\"length\":33}]},{\"content\":\"Address: 383 N Kinnick Road\",\"boundingBox\":[165,925,521,926,521,953,165,952],\"spans\":[{\"offset\":389,\"length\":27}]},{\"content\":\"Seattle, WA 38383\",\"boundingBox\":[280,963,514,962,514,990,281,991],\"spans\":[{\"offset\":417,\"length\":17}]},{\"content\":\"Phone: 932-299-0292\",\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"spans\":[{\"offset\":435,\"length\":19}]},{\"content\":\"Details\",\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"spans\":[{\"offset\":455,\"length\":7}]},{\"content\":\"Quantity\",\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"spans\":[{\"offset\":463,\"length\":8}]},{\"content\":\"Unit Price\",\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"spans\":[{\"offset\":472,\"length\":10}]},{\"content\":\"Total\",\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"spans\":[{\"offset\":483,\"length\":5}]},{\"content\":\"Bindings\",\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"spans\":[{\"offset\":489,\"length\":8}]},{\"content\":\"20\",\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"spans\":[{\"offset\":498,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"spans\":[{\"offset\":501,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"spans\":[{\"offset\":506,\"length\":5}]},{\"content\":\"Covers Small\",\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"spans\":[{\"offset\":512,\"length\":12}]},{\"content\":\"20\",\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"spans\":[{\"offset\":525,\"length\":2}]},{\"content\":\"1.00\",\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"spans\":[{\"offset\":528,\"length\":4}]},{\"content\":\"20.00\",\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"spans\":[{\"offset\":533,\"length\":5}]},{\"content\":\"Feather Bookmark\",\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"spans\":[{\"offset\":539,\"length\":16}]},{\"content\":\"20\",\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"spans\":[{\"offset\":556,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"spans\":[{\"offset\":559,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"spans\":[{\"offset\":564,\"length\":6}]},{\"content\":\"Copper Swirl Marker\",\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"spans\":[{\"offset\":571,\"length\":19}]},{\"content\":\"20\",\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"spans\":[{\"offset\":591,\"length\":2}]},{\"content\":\"5.00\",\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"spans\":[{\"offset\":594,\"length\":4}]},{\"content\":\"100.00\",\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"spans\":[{\"offset\":599,\"length\":6}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"spans\":[{\"offset\":606,\"length\":14}]},{\"content\":\"Bernie Sanders\",\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"spans\":[{\"offset\":621,\"length\":14}]},{\"content\":\"Manager\",\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"spans\":[{\"offset\":636,\"length\":7}]},{\"content\":\"Additional Notes:\",\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"spans\":[{\"offset\":644,\"length\":17}]},{\"content\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"spans\":[{\"offset\":662,\"length\":43}]},{\"content\":\"SUBTOTAL\",\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"spans\":[{\"offset\":706,\"length\":8}]},{\"content\":\"$140.00\",\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"spans\":[{\"offset\":715,\"length\":7}]},{\"content\":\"TAX\",\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"spans\":[{\"offset\":723,\"length\":3}]},{\"content\":\"$4.00\",\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"spans\":[{\"offset\":727,\"length\":5}]},{\"content\":\"TOTAL\",\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"spans\":[{\"offset\":733,\"length\":5}]},{\"content\":\"$144.00\",\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"spans\":[{\"offset\":739,\"length\":7}]},{\"content\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"spans\":[{\"offset\":747,\"length\":90}]},{\"content\":\"offer you 25% off you next total purchase.\",\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"spans\":[{\"offset\":838,\"length\":42}]}],\"spans\":[{\"offset\":0,\"length\":880}]}],\"tables\":[{\"rowCount\":5,\"columnCount\":4,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Details\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,1037,847,1038,847,1086,155,1086]}],\"spans\":[{\"offset\":455,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Quantity\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1038,1069,1038,1070,1086,847,1086]}],\"spans\":[{\"offset\":463,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1069,1038,1309,1038,1309,1086,1070,1086]}],\"spans\":[{\"offset\":472,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086]}],\"spans\":[{\"offset\":483,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Bindings\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1086,847,1086,847,1127,155,1127]}],\"spans\":[{\"offset\":489,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1086,1070,1086,1070,1127,847,1127]}],\"spans\":[{\"offset\":498,\"length\":2}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1086,1309,1086,1309,1127,1070,1127]}],\"spans\":[{\"offset\":501,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127]}],\"spans\":[{\"offset\":506,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Covers Small\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1127,847,1127,847,1171,155,1171]}],\"spans\":[{\"offset\":512,\"length\":12}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1127,1070,1127,1070,1171,847,1171]}],\"spans\":[{\"offset\":525,\"length\":2}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1127,1309,1127,1309,1171,1070,1171]}],\"spans\":[{\"offset\":528,\"length\":4}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171]}],\"spans\":[{\"offset\":533,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Feather Bookmark\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1171,847,1171,847,1214,155,1214]}],\"spans\":[{\"offset\":539,\"length\":16}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1171,1070,1171,1070,1214,847,1214]}],\"spans\":[{\"offset\":556,\"length\":2}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1171,1309,1171,1309,1214,1070,1214]}],\"spans\":[{\"offset\":559,\"length\":4}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214]}],\"spans\":[{\"offset\":564,\"length\":6}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Copper Swirl Marker\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1214,847,1214,847,1258,155,1258]}],\"spans\":[{\"offset\":571,\"length\":19}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[847,1214,1070,1214,1070,1258,847,1258]}],\"spans\":[{\"offset\":591,\"length\":2}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"5.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1214,1309,1214,1309,1258,1070,1258]}],\"spans\":[{\"offset\":594,\"length\":4}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"100.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258]}],\"spans\":[{\"offset\":599,\"length\":6}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1036,1548,1036,1547,1265,153,1265]}],\"spans\":[{\"offset\":455,\"length\":150}]},{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"SUBTOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1070,1565,1309,1565,1309,1609,1071,1609]}],\"spans\":[{\"offset\":706,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$140.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1565,1544,1564,1544,1609,1309,1609]}],\"spans\":[{\"offset\":715,\"length\":7}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TAX\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1609,1309,1609,1309,1652,1071,1652]}],\"spans\":[{\"offset\":723,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$4.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1609,1544,1609,1544,1652,1309,1652]}],\"spans\":[{\"offset\":727,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1652,1309,1652,1309,1664,1071,1664]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1652,1544,1652,1544,1664,1309,1664]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"TOTAL\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,1664,1309,1664,1309,1707,1071,1706]}],\"spans\":[{\"offset\":733,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$144.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1309,1664,1544,1664,1544,1707,1309,1707]}],\"spans\":[{\"offset\":739,\"length\":7}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1062,1563,1560,1563,1560,1709,1062,1709]}],\"spans\":[{\"offset\":706,\"length\":40}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":606,\"length\":14}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:18:57 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseCardData[1].json new file mode 100644 index 0000000000000..e0d4bcf07332a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseCardData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "878a595b-a40f-4707-bc5b-c262c9711b6e", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "290", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fa1dc4de-b94d-42a6-974b-d40fcddacdc8", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/fa1dc4de-b94d-42a6-974b-d40fcddacdc8?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:39 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/fa1dc4de-b94d-42a6-974b-d40fcddacdc8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c47f21f6-ab58-478a-a0aa-a9c98246fcd9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "176", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "dd1dc91c-68be-4066-8e1f-828fb46ef66b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:39Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:41Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:44 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/fa1dc4de-b94d-42a6-974b-d40fcddacdc8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5262e31a-9c79-410e-900d-cb18df0ff76d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "164", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5ab9f257-e2f5-44dc-a39a-56860162e914", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:39Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:41Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:44 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..c5f18dead68c1 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3b7b843e-0c5a-4680-a7d9-ebd36bfc3211", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "318", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "53ea0007-705b-4cd1-8b4d-7826a70ac727", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/53ea0007-705b-4cd1-8b4d-7826a70ac727?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:25 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/53ea0007-705b-4cd1-8b4d-7826a70ac727?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1665df35-5376-4aa0-a17f-9e78770949d2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "126", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2e16fbc3-5a3f-4d98-8e25-814834ca289c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:25Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:31 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/53ea0007-705b-4cd1-8b4d-7826a70ac727?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8478c048-c824-449a-b5ea-f4db6c72b967" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "126", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "09d9fad3-aaaf-4400-bf5e-1a109b5d7a8b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:25Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:31 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseSourceUrl[1].json new file mode 100644 index 0000000000000..645c60608b502 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeLicenseSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "702f6f6b-1d02-4394-8355-02bc11229e2e", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "509", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5d126c56-215b-4f25-b666-bffd62684f3c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5d126c56-215b-4f25-b666-bffd62684f3c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:32 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5d126c56-215b-4f25-b666-bffd62684f3c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b2f2d87c-cddf-4197-b03e-59e89641a014" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "254", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "72adba8a-782f-4852-a201-4f0638018b45", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:32Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:33Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:37 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-idDocument/analyzeResults/5d126c56-215b-4f25-b666-bffd62684f3c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "54042a3b-c7f4-4ab3-9df8-57c540283a34" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "157", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "859803f7-3e8d-421c-b168-06a50ebb022f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:32Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:33Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-idDocument\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"USA WASHINGTON\\nWA\\n20 1234567XX1101\\nDRIVER LICENSE\\nFEDERAL LIMITS APPLY\\n4dLIC#WDLABCD456DG 9CLASS\\nDONOR\\n1 TALBOT\\n2 LIAM R.\\n3 DOB 01/06/1958\\n4a ISS 01/06/2015\\n8 123 STREET ADDRESS\\nYOUR CITY WA 99999-1234\\n15 SEX M\\n16 HGT 5'-08\\\"\\n18 EYES BLU\\n17 WGT 165 lb\\n12 RESTRICTIONS 9a END L\\nB\\n4b EXP 08/12/2020\\n5 DDWDLABCD456DG 1234567XX1101\\nVeteran\\nREV 07/01/2018\",\"pages\":[{\"pageNumber\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"words\":[{\"content\":\"USA\",\"boundingBox\":[18,34,38,31,38,48,18,49],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":3}},{\"content\":\"WASHINGTON\",\"boundingBox\":[42,31,221,25,221,48,42,48],\"confidence\":0.992,\"span\":{\"offset\":4,\"length\":10}},{\"content\":\"WA\",\"boundingBox\":[18,24,36,25,36,37,17,36],\"confidence\":0.999,\"span\":{\"offset\":15,\"length\":2}},{\"content\":\"20\",\"boundingBox\":[10,173,10,162,21,161,21,173],\"confidence\":0.987,\"span\":{\"offset\":18,\"length\":2}},{\"content\":\"1234567XX1101\",\"boundingBox\":[10,155,10,82,21,82,21,155],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":13}},{\"content\":\"DRIVER\",\"boundingBox\":[275,27,328,28,328,43,275,43],\"confidence\":0.994,\"span\":{\"offset\":35,\"length\":6}},{\"content\":\"LICENSE\",\"boundingBox\":[332,28,398,28,397,43,332,43],\"confidence\":0.997,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"FEDERAL\",\"boundingBox\":[259,50,318,50,318,64,259,63],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":7}},{\"content\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,321,64],\"confidence\":0.997,\"span\":{\"offset\":58,\"length\":6}},{\"content\":\"APPLY\",\"boundingBox\":[368,50,411,49,411,63,368,63],\"confidence\":0.995,\"span\":{\"offset\":65,\"length\":5}},{\"content\":\"4dLIC#WDLABCD456DG\",\"boundingBox\":[151,70,306,68,307,84,152,85],\"confidence\":0.855,\"span\":{\"offset\":71,\"length\":18}},{\"content\":\"9CLASS\",\"boundingBox\":[316,69,363,71,363,84,316,84],\"confidence\":0.679,\"span\":{\"offset\":90,\"length\":6}},{\"content\":\"DONOR\",\"boundingBox\":[380,70,422,69,423,83,380,84],\"confidence\":0.994,\"span\":{\"offset\":97,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[150,86,156,86,156,100,150,100],\"confidence\":0.83,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"TALBOT\",\"boundingBox\":[159,86,212,85,212,99,159,100],\"confidence\":0.997,\"span\":{\"offset\":105,\"length\":6}},{\"content\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.995,\"span\":{\"offset\":112,\"length\":1}},{\"content\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.988,\"span\":{\"offset\":114,\"length\":4}},{\"content\":\"R.\",\"boundingBox\":[197,102,215,102,215,116,197,116],\"confidence\":0.997,\"span\":{\"offset\":119,\"length\":2}},{\"content\":\"3\",\"boundingBox\":[151,135,154,135,155,149,152,149],\"confidence\":0.995,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"DOB\",\"boundingBox\":[158,134,183,133,183,149,158,149],\"confidence\":0.998,\"span\":{\"offset\":124,\"length\":3}},{\"content\":\"01/06/1958\",\"boundingBox\":[186,133,272,132,272,148,186,149],\"confidence\":0.988,\"span\":{\"offset\":128,\"length\":10}},{\"content\":\"4a\",\"boundingBox\":[314,135,323,135,324,149,315,149],\"confidence\":0.995,\"span\":{\"offset\":139,\"length\":2}},{\"content\":\"ISS\",\"boundingBox\":[326,135,343,134,344,149,327,149],\"confidence\":0.806,\"span\":{\"offset\":142,\"length\":3}},{\"content\":\"01/06/2015\",\"boundingBox\":[346,133,431,132,431,148,347,149],\"confidence\":0.993,\"span\":{\"offset\":146,\"length\":10}},{\"content\":\"8\",\"boundingBox\":[151,151,155,151,156,165,152,165],\"confidence\":0.802,\"span\":{\"offset\":157,\"length\":1}},{\"content\":\"123\",\"boundingBox\":[158,151,179,151,180,165,158,165],\"confidence\":0.998,\"span\":{\"offset\":159,\"length\":3}},{\"content\":\"STREET\",\"boundingBox\":[181,151,233,151,234,164,182,165],\"confidence\":0.997,\"span\":{\"offset\":163,\"length\":6}},{\"content\":\"ADDRESS\",\"boundingBox\":[236,151,300,151,300,165,237,164],\"confidence\":0.997,\"span\":{\"offset\":170,\"length\":7}},{\"content\":\"YOUR\",\"boundingBox\":[157,164,193,164,193,177,158,176],\"confidence\":0.994,\"span\":{\"offset\":178,\"length\":4}},{\"content\":\"CITY\",\"boundingBox\":[197,164,228,164,229,177,198,177],\"confidence\":0.991,\"span\":{\"offset\":183,\"length\":4}},{\"content\":\"WA\",\"boundingBox\":[231,164,251,164,251,177,231,177],\"confidence\":0.997,\"span\":{\"offset\":188,\"length\":2}},{\"content\":\"99999-1234\",\"boundingBox\":[254,164,327,163,327,177,255,177],\"confidence\":0.993,\"span\":{\"offset\":191,\"length\":10}},{\"content\":\"15\",\"boundingBox\":[186,191,195,191,195,202,186,202],\"confidence\":0.994,\"span\":{\"offset\":202,\"length\":2}},{\"content\":\"SEX\",\"boundingBox\":[197,191,220,190,220,201,197,202],\"confidence\":0.998,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"M\",\"boundingBox\":[225,190,232,190,233,201,226,201],\"confidence\":0.995,\"span\":{\"offset\":209,\"length\":1}},{\"content\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.991,\"span\":{\"offset\":211,\"length\":2}},{\"content\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.997,\"span\":{\"offset\":214,\"length\":3}},{\"content\":\"5'-08\\\"\",\"boundingBox\":[225,202,263,200,263,213,225,214],\"confidence\":0.94,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"18\",\"boundingBox\":[294,190,303,190,304,202,294,202],\"confidence\":0.989,\"span\":{\"offset\":225,\"length\":2}},{\"content\":\"EYES\",\"boundingBox\":[306,190,335,189,335,202,306,202],\"confidence\":0.99,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"BLU\",\"boundingBox\":[337,189,362,188,362,201,337,202],\"confidence\":0.998,\"span\":{\"offset\":233,\"length\":3}},{\"content\":\"17\",\"boundingBox\":[294,203,304,203,304,215,294,215],\"confidence\":0.995,\"span\":{\"offset\":237,\"length\":2}},{\"content\":\"WGT\",\"boundingBox\":[306,203,333,202,333,214,306,215],\"confidence\":0.998,\"span\":{\"offset\":240,\"length\":3}},{\"content\":\"165\",\"boundingBox\":[335,202,357,201,357,214,335,214],\"confidence\":0.998,\"span\":{\"offset\":244,\"length\":3}},{\"content\":\"lb\",\"boundingBox\":[359,201,371,201,371,214,359,214],\"confidence\":0.63,\"span\":{\"offset\":248,\"length\":2}},{\"content\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.998,\"span\":{\"offset\":251,\"length\":2}},{\"content\":\"RESTRICTIONS\",\"boundingBox\":[197,217,280,216,280,228,197,229],\"confidence\":0.994,\"span\":{\"offset\":254,\"length\":12}},{\"content\":\"9a\",\"boundingBox\":[291,216,305,216,305,228,291,228],\"confidence\":0.909,\"span\":{\"offset\":267,\"length\":2}},{\"content\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998,\"span\":{\"offset\":270,\"length\":3}},{\"content\":\"L\",\"boundingBox\":[335,215,342,215,342,228,335,228],\"confidence\":0.994,\"span\":{\"offset\":274,\"length\":1}},{\"content\":\"B\",\"boundingBox\":[231,229,238,229,238,241,231,240],\"confidence\":0.996,\"span\":{\"offset\":276,\"length\":1}},{\"content\":\"4b\",\"boundingBox\":[294,232,303,231,303,245,294,245],\"confidence\":0.917,\"span\":{\"offset\":278,\"length\":2}},{\"content\":\"EXP\",\"boundingBox\":[306,231,327,230,327,245,306,245],\"confidence\":0.997,\"span\":{\"offset\":281,\"length\":3}},{\"content\":\"08/12/2020\",\"boundingBox\":[330,230,415,228,415,244,330,245],\"confidence\":0.996,\"span\":{\"offset\":285,\"length\":10}},{\"content\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.907,\"span\":{\"offset\":296,\"length\":1}},{\"content\":\"DDWDLABCD456DG\",\"boundingBox\":[160,262,269,261,269,274,160,274],\"confidence\":0.988,\"span\":{\"offset\":298,\"length\":14}},{\"content\":\"1234567XX1101\",\"boundingBox\":[272,261,355,261,356,274,272,274],\"confidence\":0.915,\"span\":{\"offset\":313,\"length\":13}},{\"content\":\"Veteran\",\"boundingBox\":[390,259,433,260,433,271,390,271],\"confidence\":0.997,\"span\":{\"offset\":327,\"length\":7}},{\"content\":\"REV\",\"boundingBox\":[366,275,383,275,383,285,366,285],\"confidence\":0.994,\"span\":{\"offset\":335,\"length\":3}},{\"content\":\"07/01/2018\",\"boundingBox\":[386,275,434,275,434,285,385,285],\"confidence\":0.995,\"span\":{\"offset\":339,\"length\":10}}],\"lines\":[{\"content\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"spans\":[{\"offset\":0,\"length\":14}]},{\"content\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"spans\":[{\"offset\":15,\"length\":2}]},{\"content\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"spans\":[{\"offset\":18,\"length\":16}]},{\"content\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"spans\":[{\"offset\":35,\"length\":14}]},{\"content\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"spans\":[{\"offset\":50,\"length\":20}]},{\"content\":\"4dLIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"spans\":[{\"offset\":71,\"length\":25}]},{\"content\":\"DONOR\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"spans\":[{\"offset\":97,\"length\":5}]},{\"content\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"spans\":[{\"offset\":103,\"length\":8}]},{\"content\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"spans\":[{\"offset\":112,\"length\":9}]},{\"content\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"spans\":[{\"offset\":122,\"length\":16}]},{\"content\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"spans\":[{\"offset\":139,\"length\":17}]},{\"content\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"spans\":[{\"offset\":157,\"length\":20}]},{\"content\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"spans\":[{\"offset\":178,\"length\":23}]},{\"content\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"spans\":[{\"offset\":202,\"length\":8}]},{\"content\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"spans\":[{\"offset\":211,\"length\":13}]},{\"content\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"spans\":[{\"offset\":225,\"length\":11}]},{\"content\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"spans\":[{\"offset\":237,\"length\":13}]},{\"content\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"spans\":[{\"offset\":251,\"length\":24}]},{\"content\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"spans\":[{\"offset\":276,\"length\":1}]},{\"content\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"spans\":[{\"offset\":278,\"length\":17}]},{\"content\":\"5 DDWDLABCD456DG 1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"spans\":[{\"offset\":296,\"length\":30}]},{\"content\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"spans\":[{\"offset\":327,\"length\":7}]},{\"content\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"spans\":[{\"offset\":335,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":349}]}],\"documents\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,450,0,450,294,0,294]}],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"content\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[157,151,327,151,327,177,157,177]}],\"confidence\":0.841,\"spans\":[{\"offset\":159,\"length\":42}]},\"CountryRegion\":{\"type\":\"countryRegion\",\"valueCountryRegion\":\"USA\",\"confidence\":0.995},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"content\":\"01/06/1958\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[186,133,272,132,272,148,186,149]}],\"confidence\":0.985,\"spans\":[{\"offset\":128,\"length\":10}]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"content\":\"08/12/2020\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[330,230,415,228,415,244,330,245]}],\"confidence\":0.985,\"spans\":[{\"offset\":285,\"length\":10}]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"content\":\"4dLIC#WDLABCD456DG\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,70,306,68,307,84,152,85]}],\"confidence\":0.973,\"spans\":[{\"offset\":71,\"length\":18}]},\"Endorsements\":{\"type\":\"string\",\"valueString\":\"L\",\"content\":\"L\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[335,215,342,215,342,228,335,228]}],\"confidence\":0.98,\"spans\":[{\"offset\":274,\"length\":1}]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"content\":\"LIAM R.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[158,102,215,102,215,116,158,116]}],\"confidence\":0.815,\"spans\":[{\"offset\":114,\"length\":7}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"content\":\"TALBOT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[159,86,212,85,212,99,159,100]}],\"confidence\":0.875,\"spans\":[{\"offset\":105,\"length\":6}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Restrictions\":{\"type\":\"string\",\"valueString\":\"B\",\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[231,229,238,229,238,241,231,240]}],\"confidence\":0.964,\"spans\":[{\"offset\":276,\"length\":1}]},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"content\":\"M\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[225,190,232,190,233,201,226,201]}],\"confidence\":0.988,\"spans\":[{\"offset\":209,\"length\":1}]}},\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":349}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:37 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCardUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCardUrl[1].json new file mode 100644 index 0000000000000..6643712a13898 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCardUrl[1].json @@ -0,0 +1,100 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3348c543-9afb-4330-a262-40d703261cd9", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "761", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e1b6bd08-4d45-4a27-a66a-50ff7839735b", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:01 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d3b5093-d6c3-4d4e-8bf8-9104e773f37b" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.util.concurrent.TimeoutException", + "ErrorMessage" : "Channel response timed out after 60000 milliseconds." + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d3b5093-d6c3-4d4e-8bf8-9104e773f37b" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.io.IOException", + "ErrorMessage" : "An existing connection was forcibly closed by the remote host" + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d3b5093-d6c3-4d4e-8bf8-9104e773f37b" + }, + "Response" : null, + "Exception" : { + "ClassName" : "java.io.IOException", + "ErrorMessage" : "An existing connection was forcibly closed by the remote host" + } + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6d3b5093-d6c3-4d4e-8bf8-9104e773f37b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "152", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ec4cd45d-6b0f-4689-b7fe-d71401efd226", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:54:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/e1b6bd08-4d45-4a27-a66a-50ff7839735b?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c70b51fa-764b-40ca-92c6-deb4f16d2d45" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "04a699bb-aa70-4d48-8af4-a24a4c766ae7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:02Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:54:51 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCard[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCard[1].json new file mode 100644 index 0000000000000..b6b8f5c178290 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageBusinessCard[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6362dbf5-7318-49d0-a90c-3bdfd1bd6adc", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "297", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "259de185-2128-4a09-aa52-1702d6c761f6", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/259de185-2128-4a09-aa52-1702d6c761f6?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:33 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/259de185-2128-4a09-aa52-1702d6c761f6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "dda28033-89cf-4d74-9ac1-5533f81db052" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "141", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0fce87e4-0b35-46ca-ab3d-1a947d4c7f8e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:37Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:37 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-businessCard/analyzeResults/259de185-2128-4a09-aa52-1702d6c761f6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7accad2c-d269-4905-868c-6adf0b6c4a14" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "149", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a9a22426-45c5-442b-a69b-70e09fed7ae4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:37Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-businessCard\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"JOHN\\nSINGER\\nSoftware Engineer\\n+1 (425) 779-3479 johnsinger@contoso.com\\nhttps://www.contoso.com\\nDr. Avery Smith\\nSenior Researcher\\nCloud & Al Department\\navery.smith@contoso.com\\nhttps://www.contoso.com/\\nmob: +44 (0) 7911 123456\\ntel: +44 (0) 20 9876 5432\\nfax: +44 (0) 20 6789 2345\\nContoso\\n2 Kingdom Street\\nPaddington, London, W2 6BD\",\"pages\":[{\"pageNumber\":1,\"angle\":7.15,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773],\"confidence\":0.982,\"span\":{\"offset\":0,\"length\":4}},{\"content\":\"SINGER\",\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878],\"confidence\":0.995,\"span\":{\"offset\":5,\"length\":6}},{\"content\":\"Software\",\"boundingBox\":[1.5567,5.2756,2.5118,5.3854,2.4831,5.605,1.5329,5.4666],\"confidence\":0.997,\"span\":{\"offset\":12,\"length\":8}},{\"content\":\"Engineer\",\"boundingBox\":[2.5548,5.3902,3.5862,5.543,3.5528,5.7626,2.5261,5.6098],\"confidence\":0.993,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"+1\",\"boundingBox\":[1.509,5.5334,1.7573,5.5621,1.7334,5.7721,1.4899,5.7387],\"confidence\":0.982,\"span\":{\"offset\":30,\"length\":2}},{\"content\":\"(425)\",\"boundingBox\":[1.7955,5.5668,2.4115,5.6432,2.3924,5.8628,1.7764,5.7769],\"confidence\":0.989,\"span\":{\"offset\":33,\"length\":5}},{\"content\":\"779-3479\",\"boundingBox\":[2.4545,5.648,3.4239,5.7769,3.4048,5.9965,2.4306,5.8676],\"confidence\":0.996,\"span\":{\"offset\":39,\"length\":8}},{\"content\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061],\"confidence\":0.984,\"span\":{\"offset\":48,\"length\":22}},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204],\"confidence\":0.975,\"span\":{\"offset\":71,\"length\":23}}],\"lines\":[{\"content\":\"JOHN\",\"boundingBox\":[1.7525,3.7574,2.9225,3.8815,2.889,4.1966,1.7191,4.0725],\"spans\":[{\"offset\":0,\"length\":4}]},{\"content\":\"SINGER\",\"boundingBox\":[1.6904,4.168,3.2949,4.3398,3.2615,4.6693,1.6618,4.4831],\"spans\":[{\"offset\":5,\"length\":6}]},{\"content\":\"Software Engineer\",\"boundingBox\":[1.5567,5.2756,3.6053,5.5334,3.5767,5.7578,1.5329,5.4714],\"spans\":[{\"offset\":12,\"length\":17}]},{\"content\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.509,5.5286,6.1601,6.1302,6.1362,6.3307,1.4851,5.7435],\"spans\":[{\"offset\":30,\"length\":40}]},{\"content\":\"https://www.contoso.com\",\"boundingBox\":[1.4612,5.8056,4.1449,6.1541,4.1211,6.3403,1.4374,6.0156],\"spans\":[{\"offset\":71,\"length\":23}]}],\"spans\":[{\"offset\":0,\"length\":94}]},{\"pageNumber\":2,\"angle\":-16.9316,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Dr.\",\"boundingBox\":[1.6761,2.8694,2.0247,2.793,2.0581,2.9696,1.7096,3.046],\"confidence\":0.998,\"span\":{\"offset\":95,\"length\":3}},{\"content\":\"Avery\",\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601],\"confidence\":0.995,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Smith\",\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Senior\",\"boundingBox\":[1.7239,3.1176,2.2205,2.9935,2.2492,3.1176,1.7525,3.2322],\"confidence\":0.997,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"Researcher\",\"boundingBox\":[2.2444,2.9887,3.1039,2.7786,3.1326,2.9028,2.273,3.1081],\"confidence\":0.996,\"span\":{\"offset\":118,\"length\":10}},{\"content\":\"Cloud\",\"boundingBox\":[1.7621,3.2704,2.1871,3.1654,2.2157,3.299,1.786,3.3993],\"confidence\":0.993,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.2492,3.151,2.3256,3.1319,2.3542,3.2656,2.273,3.2847],\"confidence\":0.996,\"span\":{\"offset\":135,\"length\":1}},{\"content\":\"Al\",\"boundingBox\":[2.4163,3.1081,2.5978,3.0651,2.6264,3.1988,2.4449,3.2418],\"confidence\":0.654,\"span\":{\"offset\":137,\"length\":2}},{\"content\":\"Department\",\"boundingBox\":[2.6216,3.0556,3.5528,2.8312,3.5862,2.9553,2.6503,3.194],\"confidence\":0.996,\"span\":{\"offset\":140,\"length\":10}},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972],\"confidence\":0.987,\"span\":{\"offset\":151,\"length\":23}},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261],\"confidence\":0.991,\"span\":{\"offset\":175,\"length\":24}},{\"content\":\"mob:\",\"boundingBox\":[4.6129,2.7691,4.8994,2.6784,4.9233,2.7882,4.6368,2.8741],\"confidence\":0.997,\"span\":{\"offset\":200,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9185,2.6736,5.1048,2.6163,5.1287,2.7261,4.9472,2.7834],\"confidence\":0.997,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1239,2.6115,5.2815,2.5638,5.3101,2.6736,5.1525,2.7214],\"confidence\":0.998,\"span\":{\"offset\":209,\"length\":3}},{\"content\":\"7911\",\"boundingBox\":[5.3053,2.5543,5.5537,2.4779,5.5823,2.5924,5.3292,2.6688],\"confidence\":0.988,\"span\":{\"offset\":213,\"length\":4}},{\"content\":\"123456\",\"boundingBox\":[5.5728,2.4731,5.9404,2.3633,5.9691,2.4731,5.6014,2.5877],\"confidence\":0.997,\"span\":{\"offset\":218,\"length\":6}},{\"content\":\"tel:\",\"boundingBox\":[4.7705,2.8694,4.952,2.8121,4.9854,2.9219,4.8039,2.9696],\"confidence\":0.991,\"span\":{\"offset\":225,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[4.9758,2.8025,5.1621,2.7452,5.1907,2.8598,5.0045,2.9123],\"confidence\":0.997,\"span\":{\"offset\":230,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.1812,2.7405,5.334,2.6927,5.3674,2.8073,5.2146,2.8503],\"confidence\":0.997,\"span\":{\"offset\":234,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.3579,2.6832,5.4868,2.645,5.5202,2.7595,5.3865,2.7977],\"confidence\":0.983,\"span\":{\"offset\":238,\"length\":2}},{\"content\":\"9876\",\"boundingBox\":[5.5059,2.6354,5.759,2.559,5.7924,2.6736,5.5393,2.7548],\"confidence\":0.991,\"span\":{\"offset\":241,\"length\":4}},{\"content\":\"5432\",\"boundingBox\":[5.7829,2.5543,6.036,2.4779,6.0694,2.5829,5.8163,2.6641],\"confidence\":0.992,\"span\":{\"offset\":246,\"length\":4}},{\"content\":\"fax:\",\"boundingBox\":[4.823,2.9983,5.0379,2.9314,5.0666,3.0508,4.8517,3.1081],\"confidence\":0.983,\"span\":{\"offset\":251,\"length\":4}},{\"content\":\"+44\",\"boundingBox\":[5.0618,2.9266,5.2576,2.8646,5.2862,2.9839,5.0857,3.0412],\"confidence\":0.998,\"span\":{\"offset\":256,\"length\":3}},{\"content\":\"(0)\",\"boundingBox\":[5.2815,2.8598,5.4295,2.8121,5.4581,2.9314,5.3101,2.9792],\"confidence\":0.997,\"span\":{\"offset\":260,\"length\":3}},{\"content\":\"20\",\"boundingBox\":[5.4534,2.8025,5.5823,2.7643,5.611,2.8837,5.482,2.9219],\"confidence\":0.998,\"span\":{\"offset\":264,\"length\":2}},{\"content\":\"6789\",\"boundingBox\":[5.6062,2.7548,5.8593,2.6736,5.8927,2.793,5.6348,2.8741],\"confidence\":0.988,\"span\":{\"offset\":267,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[5.8831,2.6641,6.141,2.5829,6.1744,2.6975,5.9166,2.7834],\"confidence\":0.992,\"span\":{\"offset\":272,\"length\":4}},{\"content\":\"Contoso\",\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971],\"confidence\":0.997,\"span\":{\"offset\":277,\"length\":7}},{\"content\":\"2\",\"boundingBox\":[2.975,4.4497,3.061,4.421,3.1087,4.569,3.0228,4.5977],\"confidence\":0.983,\"span\":{\"offset\":285,\"length\":1}},{\"content\":\"Kingdom\",\"boundingBox\":[3.0896,4.4115,3.7152,4.2014,3.7629,4.3494,3.1374,4.5642],\"confidence\":0.997,\"span\":{\"offset\":287,\"length\":7}},{\"content\":\"Street\",\"boundingBox\":[3.8011,4.1727,4.2596,4.02,4.3073,4.1441,3.8489,4.3207],\"confidence\":0.997,\"span\":{\"offset\":295,\"length\":6}},{\"content\":\"Paddington,\",\"boundingBox\":[3.0514,4.6406,3.9683,4.3303,4.016,4.4783,3.0992,4.803],\"confidence\":0.995,\"span\":{\"offset\":302,\"length\":11}},{\"content\":\"London,\",\"boundingBox\":[3.9969,4.316,4.5652,4.1155,4.6129,4.2635,4.0447,4.4688],\"confidence\":0.997,\"span\":{\"offset\":314,\"length\":7}},{\"content\":\"W2\",\"boundingBox\":[4.5938,4.1059,4.8326,4.02,4.8803,4.1632,4.6463,4.2491],\"confidence\":0.998,\"span\":{\"offset\":322,\"length\":2}},{\"content\":\"6BD\",\"boundingBox\":[4.8612,4.0104,5.1239,3.9102,5.1716,4.0534,4.909,4.1536],\"confidence\":0.997,\"span\":{\"offset\":325,\"length\":3}}],\"lines\":[{\"content\":\"Dr. Avery Smith\",\"boundingBox\":[1.6761,2.8646,3.5958,2.4015,3.634,2.5924,1.7143,3.046],\"spans\":[{\"offset\":95,\"length\":15}]},{\"content\":\"Senior Researcher\",\"boundingBox\":[1.7239,3.1128,3.123,2.7739,3.1517,2.8932,1.7525,3.2322],\"spans\":[{\"offset\":111,\"length\":17}]},{\"content\":\"Cloud & Al Department\",\"boundingBox\":[1.7621,3.2704,3.5671,2.8216,3.5958,2.9553,1.786,3.3993],\"spans\":[{\"offset\":129,\"length\":21}]},{\"content\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3885,2.4922,5.7256,2.1246,5.7542,2.2201,4.4124,2.5924],\"spans\":[{\"offset\":151,\"length\":23}]},{\"content\":\"https://www.contoso.com/\",\"boundingBox\":[4.4124,2.6163,5.8115,2.2201,5.8449,2.3251,4.441,2.7261],\"spans\":[{\"offset\":175,\"length\":24}]},{\"content\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6081,2.7643,5.9548,2.3537,5.9882,2.4635,4.6368,2.8741],\"spans\":[{\"offset\":200,\"length\":24}]},{\"content\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7705,2.8646,6.0503,2.4683,6.0837,2.5781,4.8039,2.9744],\"spans\":[{\"offset\":225,\"length\":25}]},{\"content\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.823,2.9983,6.1458,2.5781,6.184,2.6975,4.8517,3.1081],\"spans\":[{\"offset\":251,\"length\":25}]},{\"content\":\"Contoso\",\"boundingBox\":[2.8365,4.0725,4.7275,3.5043,4.823,3.7956,2.9368,4.3924],\"spans\":[{\"offset\":277,\"length\":7}]},{\"content\":\"2 Kingdom Street\",\"boundingBox\":[2.975,4.4497,4.2548,4.02,4.3073,4.1584,3.0228,4.5977],\"spans\":[{\"offset\":285,\"length\":16}]},{\"content\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0466,4.6406,5.1478,3.9006,5.2051,4.0486,3.0944,4.803],\"spans\":[{\"offset\":302,\"length\":26}]}],\"spans\":[{\"offset\":94,\"length\":234}]}],\"documents\":[{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"content\":\"JOHN\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7669,3.7574,2.7649,3.872,2.7219,4.1871,1.7239,4.0773]}],\"spans\":[{\"offset\":0,\"length\":4}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"content\":\"SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6952,4.168,3.1947,4.3351,3.1612,4.6645,1.6618,4.4878]}],\"spans\":[{\"offset\":5,\"length\":6}]}},\"content\":\"JOHN SINGER\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7426,3.7546,3.2458,3.9269,3.1612,4.6645,1.658,4.4922]}],\"confidence\":0.995,\"spans\":[{\"offset\":0,\"length\":11}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"content\":\"johnsinger@contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.4907,5.7817,6.0455,6.135,6.0264,6.3164,3.4716,6.0061]}],\"confidence\":0.995,\"spans\":[{\"offset\":48,\"length\":22}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"content\":\"Software Engineer\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5616,5.2424,3.5862,5.543,3.553,5.7666,1.5284,5.4659]}],\"confidence\":0.995,\"spans\":[{\"offset\":12,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"content\":\"+1 (425) 779-3479\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.5103,5.5236,3.4337,5.777,3.4048,5.9965,1.4814,5.7431]}],\"confidence\":0.995,\"spans\":[{\"offset\":30,\"length\":17}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"content\":\"https://www.contoso.com\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.466,5.8056,4.0256,6.1636,4.0017,6.326,1.4374,6.0204]}],\"confidence\":0.995,\"spans\":[{\"offset\":71,\"length\":23}]}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":94}]},{\"docType\":\"prebuilt:businesscard\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"content\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.9705,4.4513,5.0518,3.7082,5.1788,4.0639,3.0975,4.807]}],\"confidence\":0.961,\"spans\":[{\"offset\":285,\"length\":43}]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8413,4.0725,4.6034,3.5425,4.7037,3.8147,2.9416,4.3971]}],\"confidence\":0.626,\"spans\":[{\"offset\":277,\"length\":7}]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"content\":\"Avery\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0629,2.7834,2.7888,2.6068,2.827,2.793,2.0963,2.9601]}],\"spans\":[{\"offset\":99,\"length\":5}]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"content\":\"Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.8604,2.5877,3.5289,2.4206,3.5624,2.6068,2.8986,2.7786]}],\"spans\":[{\"offset\":105,\"length\":5}]}},\"content\":\"Dr. Avery Smith\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.6658,2.8602,3.5289,2.4206,3.5757,2.6188,1.7125,3.0585]}],\"confidence\":0.978,\"spans\":[{\"offset\":95,\"length\":15}]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"content\":\"Cloud & Al Department\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7534,3.2634,3.5562,2.8304,3.5895,2.969,1.7867,3.4021]}],\"confidence\":0.989,\"spans\":[{\"offset\":129,\"length\":21}]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"content\":\"avery.smith@contoso.com\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.3885,2.5017,5.6874,2.1341,5.7112,2.2344,4.4171,2.5972]}],\"confidence\":0.992,\"spans\":[{\"offset\":151,\"length\":23}]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 6789 2345\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[5.05,2.9287,6.1408,2.5823,6.1792,2.7032,5.0884,3.0497]}],\"confidence\":0.99,\"spans\":[{\"offset\":256,\"length\":20}]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"content\":\"Senior Researcher\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.7222,3.1106,3.1039,2.7786,3.1343,2.9049,1.7526,3.2369]}],\"confidence\":0.99,\"spans\":[{\"offset\":111,\"length\":17}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 7911 123456\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9135,2.6729,5.9395,2.3604,5.9742,2.4741,4.9482,2.7867]}],\"confidence\":0.99,\"spans\":[{\"offset\":205,\"length\":19}]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"content\":\"https://www.contoso.com/\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.4171,2.6163,5.8115,2.2248,5.8449,2.3251,4.441,2.7261]}],\"confidence\":0.99,\"spans\":[{\"offset\":175,\"length\":24}]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"content\":\"+44 (0) 20 9876 5432\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[4.9692,2.7937,6.0377,2.4762,6.0737,2.5974,5.0053,2.9149]}],\"confidence\":0.987,\"spans\":[{\"offset\":230,\"length\":20}]}]}},\"confidence\":1,\"spans\":[{\"offset\":94,\"length\":234}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:38 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageInvoice[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageInvoice[1].json new file mode 100644 index 0000000000000..c343e2a941fda --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeMultipageInvoice[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4a8c6855-cad6-4dd2-beb2-778aae84bd3c", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "515", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d9d1a3a5-1402-4dd5-a3f9-5b05d68c63d6", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/d9d1a3a5-1402-4dd5-a3f9-5b05d68c63d6?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:12 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/d9d1a3a5-1402-4dd5-a3f9-5b05d68c63d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f247e9f9-e32d-4f6d-98d9-11d940466a01" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "314", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c0dfd52c-038e-4c62-a197-cce1ae3d6d84", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:12Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:16Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Vendor #:121\\nVendor Registration\\nContoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\\nMaple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\\nwaitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\\nbelow, and attach a check made out to:\\nContoso Ltd.\\n2345 Dogwood Lane\\nBirch, Kansas 98123\\nRates:\\nPackage\\nIncluded\\nPrice\\nGold Sponsor\\nFull booth\\n$1,500\\nPre-keynote thank you\\nLogo on poster\\nFull page ad in program guide\\nSilver Sponsor\\nFull booth\\n$1,200\\nPost-keynote thank you\\nLogo on poster\\nHalf page ad in program guide\\nBronze Sponsor\\nFull booth\\n$1,000\\nLogo on poster\\n50% discount on program guide\\nadvertisements\\nFull Booth\\nFull booth\\n$600\\n50% discount on program guide\\nadvertisements\\nHalf Booth\\nFull booth\\n$350\\n25% discount on program guide\\nadvertisements\\n:unselected:\\nVendor #:121\\nVendor Details:\\nCompany Name: Southridge Video\\nContact: Jamie@southridgevideo.com\\nPreferred Package: Gold\\nSpecial Requests: N/a\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":0,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":7,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1,\"span\":{\"offset\":13,\"length\":6}},{\"content\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1,\"span\":{\"offset\":20,\"length\":12}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1,\"span\":{\"offset\":33,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1,\"span\":{\"offset\":41,\"length\":4}},{\"content\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1,\"span\":{\"offset\":46,\"length\":10}},{\"content\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1,\"span\":{\"offset\":57,\"length\":4}},{\"content\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1,\"span\":{\"offset\":70,\"length\":2}},{\"content\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1,\"span\":{\"offset\":73,\"length\":3}},{\"content\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1,\"span\":{\"offset\":77,\"length\":6}},{\"content\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1,\"span\":{\"offset\":84,\"length\":4}},{\"content\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1,\"span\":{\"offset\":89,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1,\"span\":{\"offset\":96,\"length\":3}},{\"content\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1,\"span\":{\"offset\":100,\"length\":10}},{\"content\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1,\"span\":{\"offset\":118,\"length\":2}},{\"content\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1,\"span\":{\"offset\":121,\"length\":5}},{\"content\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1,\"span\":{\"offset\":127,\"length\":5}},{\"content\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1,\"span\":{\"offset\":133,\"length\":14}},{\"content\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1,\"span\":{\"offset\":148,\"length\":3}},{\"content\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1,\"span\":{\"offset\":152,\"length\":10}},{\"content\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1,\"span\":{\"offset\":163,\"length\":3}},{\"content\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1,\"span\":{\"offset\":167,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1,\"span\":{\"offset\":172,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1,\"span\":{\"offset\":176,\"length\":2}},{\"content\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1,\"span\":{\"offset\":179,\"length\":3}},{\"content\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1,\"span\":{\"offset\":189,\"length\":8}},{\"content\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1,\"span\":{\"offset\":198,\"length\":4}},{\"content\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1,\"span\":{\"offset\":209,\"length\":6}},{\"content\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1,\"span\":{\"offset\":216,\"length\":9}},{\"content\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1,\"span\":{\"offset\":226,\"length\":6}},{\"content\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1,\"span\":{\"offset\":233,\"length\":12}},{\"content\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1,\"span\":{\"offset\":246,\"length\":3}},{\"content\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1,\"span\":{\"offset\":250,\"length\":5}},{\"content\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1,\"span\":{\"offset\":256,\"length\":8}},{\"content\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1,\"span\":{\"offset\":265,\"length\":7}},{\"content\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1,\"span\":{\"offset\":273,\"length\":3}},{\"content\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1,\"span\":{\"offset\":277,\"length\":3}},{\"content\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1,\"span\":{\"offset\":287,\"length\":6}},{\"content\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1,\"span\":{\"offset\":294,\"length\":4}},{\"content\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1,\"span\":{\"offset\":299,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1,\"span\":{\"offset\":302,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1,\"span\":{\"offset\":306,\"length\":4}},{\"content\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1,\"span\":{\"offset\":311,\"length\":6}},{\"content\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1,\"span\":{\"offset\":318,\"length\":3}},{\"content\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1,\"span\":{\"offset\":322,\"length\":6}},{\"content\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1,\"span\":{\"offset\":329,\"length\":1}},{\"content\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1,\"span\":{\"offset\":331,\"length\":5}},{\"content\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1,\"span\":{\"offset\":337,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1,\"span\":{\"offset\":342,\"length\":3}},{\"content\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1,\"span\":{\"offset\":346,\"length\":3}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1,\"span\":{\"offset\":350,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1,\"span\":{\"offset\":358,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1,\"span\":{\"offset\":363,\"length\":4}},{\"content\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1,\"span\":{\"offset\":368,\"length\":7}},{\"content\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1,\"span\":{\"offset\":376,\"length\":4}},{\"content\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1,\"span\":{\"offset\":381,\"length\":6}},{\"content\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1,\"span\":{\"offset\":388,\"length\":6}},{\"content\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1,\"span\":{\"offset\":401,\"length\":6}},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1,\"span\":{\"offset\":408,\"length\":7}},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1,\"span\":{\"offset\":416,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1,\"span\":{\"offset\":425,\"length\":5}},{\"content\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1,\"span\":{\"offset\":431,\"length\":4}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1,\"span\":{\"offset\":436,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1,\"span\":{\"offset\":444,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1,\"span\":{\"offset\":449,\"length\":5}},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1,\"span\":{\"offset\":455,\"length\":6}},{\"content\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1,\"span\":{\"offset\":462,\"length\":11}},{\"content\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1,\"span\":{\"offset\":474,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1,\"span\":{\"offset\":480,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1,\"span\":{\"offset\":484,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1,\"span\":{\"offset\":489,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1,\"span\":{\"offset\":492,\"length\":6}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1,\"span\":{\"offset\":499,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1,\"span\":{\"offset\":504,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1,\"span\":{\"offset\":509,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1,\"span\":{\"offset\":512,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1,\"span\":{\"offset\":515,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1,\"span\":{\"offset\":523,\"length\":5}},{\"content\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1,\"span\":{\"offset\":529,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1,\"span\":{\"offset\":536,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1,\"span\":{\"offset\":544,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1,\"span\":{\"offset\":549,\"length\":5}},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1,\"span\":{\"offset\":555,\"length\":6}},{\"content\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1,\"span\":{\"offset\":562,\"length\":12}},{\"content\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1,\"span\":{\"offset\":575,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1,\"span\":{\"offset\":581,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1,\"span\":{\"offset\":585,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1,\"span\":{\"offset\":590,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1,\"span\":{\"offset\":593,\"length\":6}},{\"content\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1,\"span\":{\"offset\":600,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1,\"span\":{\"offset\":605,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1,\"span\":{\"offset\":610,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1,\"span\":{\"offset\":613,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1,\"span\":{\"offset\":624,\"length\":5}},{\"content\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1,\"span\":{\"offset\":630,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1,\"span\":{\"offset\":637,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1,\"span\":{\"offset\":645,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1,\"span\":{\"offset\":650,\"length\":5}},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1,\"span\":{\"offset\":656,\"length\":6}},{\"content\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1,\"span\":{\"offset\":663,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1,\"span\":{\"offset\":668,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1,\"span\":{\"offset\":671,\"length\":6}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1,\"span\":{\"offset\":678,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1,\"span\":{\"offset\":682,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1,\"span\":{\"offset\":691,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1,\"span\":{\"offset\":694,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1,\"span\":{\"offset\":702,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1,\"span\":{\"offset\":708,\"length\":14}},{\"content\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1,\"span\":{\"offset\":723,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1,\"span\":{\"offset\":728,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1,\"span\":{\"offset\":734,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1,\"span\":{\"offset\":739,\"length\":5}},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1,\"span\":{\"offset\":745,\"length\":4}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1,\"span\":{\"offset\":754,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1,\"span\":{\"offset\":763,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1,\"span\":{\"offset\":766,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1,\"span\":{\"offset\":774,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1,\"span\":{\"offset\":780,\"length\":14}},{\"content\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1,\"span\":{\"offset\":795,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1,\"span\":{\"offset\":800,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1,\"span\":{\"offset\":806,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1,\"span\":{\"offset\":811,\"length\":5}},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1,\"span\":{\"offset\":817,\"length\":4}},{\"content\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1,\"span\":{\"offset\":822,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1,\"span\":{\"offset\":826,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1,\"span\":{\"offset\":835,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1,\"span\":{\"offset\":838,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1,\"span\":{\"offset\":846,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1,\"span\":{\"offset\":852,\"length\":14}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"span\":{\"offset\":867,\"length\":12}}],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":0,\"length\":12}]},{\"content\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"spans\":[{\"offset\":13,\"length\":19}]},{\"content\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"spans\":[{\"offset\":33,\"length\":87}]},{\"content\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"spans\":[{\"offset\":121,\"length\":94}]},{\"content\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"spans\":[{\"offset\":216,\"length\":94}]},{\"content\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"spans\":[{\"offset\":311,\"length\":38}]},{\"content\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"spans\":[{\"offset\":350,\"length\":12}]},{\"content\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"spans\":[{\"offset\":363,\"length\":17}]},{\"content\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"spans\":[{\"offset\":381,\"length\":19}]},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"spans\":[{\"offset\":401,\"length\":6}]},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"spans\":[{\"offset\":408,\"length\":7}]},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"spans\":[{\"offset\":416,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"spans\":[{\"offset\":425,\"length\":5}]},{\"content\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"spans\":[{\"offset\":431,\"length\":12}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"spans\":[{\"offset\":444,\"length\":10}]},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"spans\":[{\"offset\":455,\"length\":6}]},{\"content\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"spans\":[{\"offset\":462,\"length\":21}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"spans\":[{\"offset\":484,\"length\":14}]},{\"content\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"spans\":[{\"offset\":499,\"length\":29}]},{\"content\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"spans\":[{\"offset\":529,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"spans\":[{\"offset\":544,\"length\":10}]},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"spans\":[{\"offset\":555,\"length\":6}]},{\"content\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"spans\":[{\"offset\":562,\"length\":22}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"spans\":[{\"offset\":585,\"length\":14}]},{\"content\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"spans\":[{\"offset\":600,\"length\":29}]},{\"content\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"spans\":[{\"offset\":630,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"spans\":[{\"offset\":645,\"length\":10}]},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"spans\":[{\"offset\":656,\"length\":6}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"spans\":[{\"offset\":663,\"length\":14}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"spans\":[{\"offset\":678,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"spans\":[{\"offset\":708,\"length\":14}]},{\"content\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"spans\":[{\"offset\":723,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"spans\":[{\"offset\":734,\"length\":10}]},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"spans\":[{\"offset\":745,\"length\":4}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"spans\":[{\"offset\":750,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"spans\":[{\"offset\":780,\"length\":14}]},{\"content\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"spans\":[{\"offset\":795,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"spans\":[{\"offset\":806,\"length\":10}]},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"spans\":[{\"offset\":817,\"length\":4}]},{\"content\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"spans\":[{\"offset\":822,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"spans\":[{\"offset\":852,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":879}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":880,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":887,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1,\"span\":{\"offset\":893,\"length\":6}},{\"content\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1,\"span\":{\"offset\":900,\"length\":8}},{\"content\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1,\"span\":{\"offset\":909,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1,\"span\":{\"offset\":917,\"length\":5}},{\"content\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1,\"span\":{\"offset\":923,\"length\":10}},{\"content\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1,\"span\":{\"offset\":934,\"length\":5}},{\"content\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1,\"span\":{\"offset\":940,\"length\":8}},{\"content\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1,\"span\":{\"offset\":949,\"length\":25}},{\"content\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1,\"span\":{\"offset\":975,\"length\":9}},{\"content\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1,\"span\":{\"offset\":985,\"length\":8}},{\"content\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1,\"span\":{\"offset\":994,\"length\":4}},{\"content\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1,\"span\":{\"offset\":999,\"length\":7}},{\"content\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":3}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":880,\"length\":12}]},{\"content\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"spans\":[{\"offset\":893,\"length\":15}]},{\"content\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"spans\":[{\"offset\":909,\"length\":30}]},{\"content\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"spans\":[{\"offset\":940,\"length\":34}]},{\"content\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"spans\":[{\"offset\":975,\"length\":23}]},{\"content\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"spans\":[{\"offset\":999,\"length\":21}]}],\"spans\":[{\"offset\":879,\"length\":141}]}],\"tables\":[{\"rowCount\":14,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Package\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.643,2.6225,4.643,2.6225,4.858,0.9997,4.8515]}],\"spans\":[{\"offset\":408,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Included\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.643,5.7478,4.643,5.7478,4.858,2.6225,4.858]}],\"spans\":[{\"offset\":416,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.643,7.4907,4.6495,7.4907,4.858,5.7478,4.858]}],\"spans\":[{\"offset\":425,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Gold Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.8515,2.6225,4.858,2.6225,5.0927,0.9997,5.0861]}],\"spans\":[{\"offset\":431,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.858,5.7478,4.858,5.7478,5.0927,2.6225,5.0927]}],\"spans\":[{\"offset\":444,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.858,7.4907,4.858,7.4907,5.0861,5.7478,5.0927]}],\"spans\":[{\"offset\":455,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.0861,2.6225,5.0927,2.6225,5.9269,0.9997,5.9203]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.0927,5.7478,5.0927,5.7478,5.9269,2.6225,5.9269]}],\"spans\":[{\"offset\":462,\"length\":66}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.0927,7.4907,5.0861,7.4907,5.7574,5.7478,5.7509]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.7509,7.4907,5.7574,7.4907,5.9269,5.7478,5.9269]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.9203,2.6225,5.9269,2.6225,6.7806,0.9997,6.7806]}],\"spans\":[{\"offset\":529,\"length\":14}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.9269,5.7478,5.9269,5.7478,6.1615,2.6225,6.1615]}],\"spans\":[{\"offset\":544,\"length\":10}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.9269,7.4907,5.9269,7.4907,6.3831,5.7478,6.3765]}],\"spans\":[{\"offset\":555,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Post-keynote thank you\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.1615,5.7478,6.1615,5.7478,6.3765,2.6225,6.3765]}],\"spans\":[{\"offset\":562,\"length\":22}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Logo on poster\\nHalf page ad in program guide :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.3765,5.7478,6.3765,5.7478,6.7806,2.6225,6.7806]}],\"spans\":[{\"offset\":585,\"length\":44},{\"offset\":867,\"length\":12}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.3765,7.4907,6.3831,7.4907,6.7806,5.7478,6.7806]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Bronze Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,6.7806,2.6225,6.7806,2.6225,7.6279,0.9997,7.6279]}],\"spans\":[{\"offset\":630,\"length\":14}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.7806,5.7478,6.7806,5.7478,7.0152,2.6225,7.0152]}],\"spans\":[{\"offset\":645,\"length\":10}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.7806,7.4907,6.7806,7.4907,7.6344,5.7478,7.6279]}],\"spans\":[{\"offset\":656,\"length\":6}]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.0152,5.7478,7.0152,5.7478,7.6279,2.6225,7.6279]}],\"spans\":[{\"offset\":663,\"length\":59}]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,7.6279,2.6225,7.6279,2.6225,8.2665,0.9997,8.2665]}],\"spans\":[{\"offset\":723,\"length\":10}]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.6279,5.7478,7.6279,5.7478,8.2665,2.6225,8.2665]}],\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,7.6279,7.4907,7.6344,7.4907,8.2665,5.7478,8.2665]}],\"spans\":[{\"offset\":745,\"length\":4}]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Half Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,8.2665,2.6225,8.2665,2.6225,8.8987,0.9997,8.8987]}],\"spans\":[{\"offset\":795,\"length\":10}]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,8.2665,5.7478,8.2665,5.7478,8.8987,2.6225,8.8987]}],\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,8.2665,7.4907,8.2665,7.4907,8.9052,5.7478,8.8987]}],\"spans\":[{\"offset\":817,\"length\":4}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.993,4.6286,7.5046,4.6277,7.506,8.9112,0.9934,8.9116]}],\"spans\":[{\"offset\":408,\"length\":471}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468]}],\"confidence\":0.778,\"spans\":[{\"offset\":455,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"content\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994]}],\"confidence\":0.771,\"spans\":[{\"offset\":444,\"length\":10},{\"offset\":462,\"length\":66}]}},\"content\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994]}],\"confidence\":0.937,\"spans\":[{\"offset\":431,\"length\":97}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168]}],\"confidence\":0.731,\"spans\":[{\"offset\":555,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"content\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678]}],\"confidence\":0.698,\"spans\":[{\"offset\":544,\"length\":10},{\"offset\":562,\"length\":67}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228]}],\"confidence\":0,\"spans\":[{\"offset\":529,\"length\":14}]}},\"content\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678]}],\"confidence\":0.94,\"spans\":[{\"offset\":529,\"length\":100}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718]}],\"confidence\":0.698,\"spans\":[{\"offset\":656,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"content\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863]}],\"confidence\":0.669,\"spans\":[{\"offset\":645,\"length\":10},{\"offset\":663,\"length\":59}]}},\"content\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863]}],\"confidence\":0.903,\"spans\":[{\"offset\":630,\"length\":92}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165]}],\"confidence\":0.568,\"spans\":[{\"offset\":745,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213]}],\"confidence\":0.662,\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]}},\"content\":\"Full Booth Full booth 50% discount on program guide advertisements $600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213]}],\"confidence\":0.765,\"spans\":[{\"offset\":723,\"length\":71}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515]}],\"confidence\":0.696,\"spans\":[{\"offset\":817,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563]}],\"confidence\":0.773,\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"content\":\"Half\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433]}],\"confidence\":0.305,\"spans\":[{\"offset\":795,\"length\":4}]}},\"content\":\"Half Booth Full booth 25% discount on program guide advertisements $350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563]}],\"confidence\":0.931,\"spans\":[{\"offset\":795,\"length\":71}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"content\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518]}],\"confidence\":0.868,\"spans\":[{\"offset\":363,\"length\":37}]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897]}],\"confidence\":0.946,\"spans\":[{\"offset\":350,\"length\":12}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"content\":\"Elm Conference Center in\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013]}],\"confidence\":0.524,\"spans\":[{\"offset\":96,\"length\":24}]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013]}],\"confidence\":0.513,\"spans\":[{\"offset\":33,\"length\":12}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"content\":\"Southridge Video\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128]}],\"confidence\":0.951,\"spans\":[{\"offset\":923,\"length\":16}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":1020}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:17 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/d9d1a3a5-1402-4dd5-a3f9-5b05d68c63d6?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "acfcd01c-2412-47a1-8045-dc508e141c73" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "353", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "79e5b265-1d4e-4d32-8a0a-3e28a669792d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:12Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:16Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Vendor #:121\\nVendor Registration\\nContoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\\nMaple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\\nwaitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\\nbelow, and attach a check made out to:\\nContoso Ltd.\\n2345 Dogwood Lane\\nBirch, Kansas 98123\\nRates:\\nPackage\\nIncluded\\nPrice\\nGold Sponsor\\nFull booth\\n$1,500\\nPre-keynote thank you\\nLogo on poster\\nFull page ad in program guide\\nSilver Sponsor\\nFull booth\\n$1,200\\nPost-keynote thank you\\nLogo on poster\\nHalf page ad in program guide\\nBronze Sponsor\\nFull booth\\n$1,000\\nLogo on poster\\n50% discount on program guide\\nadvertisements\\nFull Booth\\nFull booth\\n$600\\n50% discount on program guide\\nadvertisements\\nHalf Booth\\nFull booth\\n$350\\n25% discount on program guide\\nadvertisements\\n:unselected:\\nVendor #:121\\nVendor Details:\\nCompany Name: Southridge Video\\nContact: Jamie@southridgevideo.com\\nPreferred Package: Gold\\nSpecial Requests: N/a\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":0,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":7,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1,\"span\":{\"offset\":13,\"length\":6}},{\"content\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1,\"span\":{\"offset\":20,\"length\":12}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1,\"span\":{\"offset\":33,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1,\"span\":{\"offset\":41,\"length\":4}},{\"content\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1,\"span\":{\"offset\":46,\"length\":10}},{\"content\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1,\"span\":{\"offset\":57,\"length\":4}},{\"content\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1,\"span\":{\"offset\":62,\"length\":2}},{\"content\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1,\"span\":{\"offset\":65,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1,\"span\":{\"offset\":70,\"length\":2}},{\"content\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1,\"span\":{\"offset\":73,\"length\":3}},{\"content\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1,\"span\":{\"offset\":77,\"length\":6}},{\"content\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1,\"span\":{\"offset\":84,\"length\":4}},{\"content\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1,\"span\":{\"offset\":89,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1,\"span\":{\"offset\":92,\"length\":3}},{\"content\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1,\"span\":{\"offset\":96,\"length\":3}},{\"content\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1,\"span\":{\"offset\":100,\"length\":10}},{\"content\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1,\"span\":{\"offset\":111,\"length\":6}},{\"content\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1,\"span\":{\"offset\":118,\"length\":2}},{\"content\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1,\"span\":{\"offset\":121,\"length\":5}},{\"content\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1,\"span\":{\"offset\":127,\"length\":5}},{\"content\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1,\"span\":{\"offset\":133,\"length\":14}},{\"content\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1,\"span\":{\"offset\":148,\"length\":3}},{\"content\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1,\"span\":{\"offset\":152,\"length\":10}},{\"content\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1,\"span\":{\"offset\":163,\"length\":3}},{\"content\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1,\"span\":{\"offset\":167,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1,\"span\":{\"offset\":172,\"length\":3}},{\"content\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1,\"span\":{\"offset\":176,\"length\":2}},{\"content\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1,\"span\":{\"offset\":179,\"length\":3}},{\"content\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1,\"span\":{\"offset\":189,\"length\":8}},{\"content\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1,\"span\":{\"offset\":198,\"length\":4}},{\"content\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1,\"span\":{\"offset\":205,\"length\":3}},{\"content\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1,\"span\":{\"offset\":209,\"length\":6}},{\"content\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1,\"span\":{\"offset\":216,\"length\":9}},{\"content\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1,\"span\":{\"offset\":226,\"length\":6}},{\"content\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1,\"span\":{\"offset\":233,\"length\":12}},{\"content\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1,\"span\":{\"offset\":246,\"length\":3}},{\"content\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1,\"span\":{\"offset\":250,\"length\":5}},{\"content\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1,\"span\":{\"offset\":256,\"length\":8}},{\"content\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1,\"span\":{\"offset\":265,\"length\":7}},{\"content\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1,\"span\":{\"offset\":273,\"length\":3}},{\"content\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1,\"span\":{\"offset\":277,\"length\":3}},{\"content\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1,\"span\":{\"offset\":287,\"length\":6}},{\"content\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1,\"span\":{\"offset\":294,\"length\":4}},{\"content\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1,\"span\":{\"offset\":299,\"length\":2}},{\"content\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1,\"span\":{\"offset\":302,\"length\":3}},{\"content\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1,\"span\":{\"offset\":306,\"length\":4}},{\"content\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1,\"span\":{\"offset\":311,\"length\":6}},{\"content\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1,\"span\":{\"offset\":318,\"length\":3}},{\"content\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1,\"span\":{\"offset\":322,\"length\":6}},{\"content\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1,\"span\":{\"offset\":329,\"length\":1}},{\"content\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1,\"span\":{\"offset\":331,\"length\":5}},{\"content\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1,\"span\":{\"offset\":337,\"length\":4}},{\"content\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1,\"span\":{\"offset\":342,\"length\":3}},{\"content\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1,\"span\":{\"offset\":346,\"length\":3}},{\"content\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1,\"span\":{\"offset\":350,\"length\":7}},{\"content\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1,\"span\":{\"offset\":358,\"length\":4}},{\"content\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1,\"span\":{\"offset\":363,\"length\":4}},{\"content\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1,\"span\":{\"offset\":368,\"length\":7}},{\"content\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1,\"span\":{\"offset\":376,\"length\":4}},{\"content\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1,\"span\":{\"offset\":381,\"length\":6}},{\"content\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1,\"span\":{\"offset\":388,\"length\":6}},{\"content\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1,\"span\":{\"offset\":401,\"length\":6}},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1,\"span\":{\"offset\":408,\"length\":7}},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1,\"span\":{\"offset\":416,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1,\"span\":{\"offset\":425,\"length\":5}},{\"content\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1,\"span\":{\"offset\":431,\"length\":4}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1,\"span\":{\"offset\":436,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1,\"span\":{\"offset\":444,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1,\"span\":{\"offset\":449,\"length\":5}},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1,\"span\":{\"offset\":455,\"length\":6}},{\"content\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1,\"span\":{\"offset\":462,\"length\":11}},{\"content\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1,\"span\":{\"offset\":474,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1,\"span\":{\"offset\":480,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1,\"span\":{\"offset\":484,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1,\"span\":{\"offset\":489,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1,\"span\":{\"offset\":492,\"length\":6}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1,\"span\":{\"offset\":499,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1,\"span\":{\"offset\":504,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1,\"span\":{\"offset\":509,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1,\"span\":{\"offset\":512,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1,\"span\":{\"offset\":515,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1,\"span\":{\"offset\":523,\"length\":5}},{\"content\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1,\"span\":{\"offset\":529,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1,\"span\":{\"offset\":536,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1,\"span\":{\"offset\":544,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1,\"span\":{\"offset\":549,\"length\":5}},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1,\"span\":{\"offset\":555,\"length\":6}},{\"content\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1,\"span\":{\"offset\":562,\"length\":12}},{\"content\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1,\"span\":{\"offset\":575,\"length\":5}},{\"content\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1,\"span\":{\"offset\":581,\"length\":3}},{\"content\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1,\"span\":{\"offset\":585,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1,\"span\":{\"offset\":590,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1,\"span\":{\"offset\":593,\"length\":6}},{\"content\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1,\"span\":{\"offset\":600,\"length\":4}},{\"content\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1,\"span\":{\"offset\":605,\"length\":4}},{\"content\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1,\"span\":{\"offset\":610,\"length\":2}},{\"content\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1,\"span\":{\"offset\":613,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1,\"span\":{\"offset\":616,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1,\"span\":{\"offset\":624,\"length\":5}},{\"content\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1,\"span\":{\"offset\":630,\"length\":6}},{\"content\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1,\"span\":{\"offset\":637,\"length\":7}},{\"content\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1,\"span\":{\"offset\":645,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1,\"span\":{\"offset\":650,\"length\":5}},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1,\"span\":{\"offset\":656,\"length\":6}},{\"content\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1,\"span\":{\"offset\":663,\"length\":4}},{\"content\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1,\"span\":{\"offset\":668,\"length\":2}},{\"content\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1,\"span\":{\"offset\":671,\"length\":6}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1,\"span\":{\"offset\":678,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1,\"span\":{\"offset\":682,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1,\"span\":{\"offset\":691,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1,\"span\":{\"offset\":694,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1,\"span\":{\"offset\":702,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1,\"span\":{\"offset\":708,\"length\":14}},{\"content\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1,\"span\":{\"offset\":723,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1,\"span\":{\"offset\":728,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1,\"span\":{\"offset\":734,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1,\"span\":{\"offset\":739,\"length\":5}},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1,\"span\":{\"offset\":745,\"length\":4}},{\"content\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1,\"span\":{\"offset\":750,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1,\"span\":{\"offset\":754,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1,\"span\":{\"offset\":763,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1,\"span\":{\"offset\":766,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1,\"span\":{\"offset\":774,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1,\"span\":{\"offset\":780,\"length\":14}},{\"content\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1,\"span\":{\"offset\":795,\"length\":4}},{\"content\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1,\"span\":{\"offset\":800,\"length\":5}},{\"content\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1,\"span\":{\"offset\":806,\"length\":4}},{\"content\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1,\"span\":{\"offset\":811,\"length\":5}},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1,\"span\":{\"offset\":817,\"length\":4}},{\"content\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1,\"span\":{\"offset\":822,\"length\":3}},{\"content\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1,\"span\":{\"offset\":826,\"length\":8}},{\"content\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1,\"span\":{\"offset\":835,\"length\":2}},{\"content\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1,\"span\":{\"offset\":838,\"length\":7}},{\"content\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1,\"span\":{\"offset\":846,\"length\":5}},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1,\"span\":{\"offset\":852,\"length\":14}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"span\":{\"offset\":867,\"length\":12}}],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":0,\"length\":12}]},{\"content\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"spans\":[{\"offset\":13,\"length\":19}]},{\"content\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"spans\":[{\"offset\":33,\"length\":87}]},{\"content\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"spans\":[{\"offset\":121,\"length\":94}]},{\"content\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"spans\":[{\"offset\":216,\"length\":94}]},{\"content\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"spans\":[{\"offset\":311,\"length\":38}]},{\"content\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"spans\":[{\"offset\":350,\"length\":12}]},{\"content\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"spans\":[{\"offset\":363,\"length\":17}]},{\"content\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"spans\":[{\"offset\":381,\"length\":19}]},{\"content\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"spans\":[{\"offset\":401,\"length\":6}]},{\"content\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"spans\":[{\"offset\":408,\"length\":7}]},{\"content\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"spans\":[{\"offset\":416,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"spans\":[{\"offset\":425,\"length\":5}]},{\"content\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"spans\":[{\"offset\":431,\"length\":12}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"spans\":[{\"offset\":444,\"length\":10}]},{\"content\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"spans\":[{\"offset\":455,\"length\":6}]},{\"content\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"spans\":[{\"offset\":462,\"length\":21}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"spans\":[{\"offset\":484,\"length\":14}]},{\"content\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"spans\":[{\"offset\":499,\"length\":29}]},{\"content\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"spans\":[{\"offset\":529,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"spans\":[{\"offset\":544,\"length\":10}]},{\"content\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"spans\":[{\"offset\":555,\"length\":6}]},{\"content\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"spans\":[{\"offset\":562,\"length\":22}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"spans\":[{\"offset\":585,\"length\":14}]},{\"content\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"spans\":[{\"offset\":600,\"length\":29}]},{\"content\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"spans\":[{\"offset\":630,\"length\":14}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"spans\":[{\"offset\":645,\"length\":10}]},{\"content\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"spans\":[{\"offset\":656,\"length\":6}]},{\"content\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"spans\":[{\"offset\":663,\"length\":14}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"spans\":[{\"offset\":678,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"spans\":[{\"offset\":708,\"length\":14}]},{\"content\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"spans\":[{\"offset\":723,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"spans\":[{\"offset\":734,\"length\":10}]},{\"content\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"spans\":[{\"offset\":745,\"length\":4}]},{\"content\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"spans\":[{\"offset\":750,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"spans\":[{\"offset\":780,\"length\":14}]},{\"content\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"spans\":[{\"offset\":795,\"length\":10}]},{\"content\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"spans\":[{\"offset\":806,\"length\":10}]},{\"content\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"spans\":[{\"offset\":817,\"length\":4}]},{\"content\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"spans\":[{\"offset\":822,\"length\":29}]},{\"content\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"spans\":[{\"offset\":852,\"length\":14}]}],\"spans\":[{\"offset\":0,\"length\":879}]},{\"pageNumber\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1,\"span\":{\"offset\":880,\"length\":6}},{\"content\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1,\"span\":{\"offset\":887,\"length\":5}},{\"content\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1,\"span\":{\"offset\":893,\"length\":6}},{\"content\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1,\"span\":{\"offset\":900,\"length\":8}},{\"content\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1,\"span\":{\"offset\":909,\"length\":7}},{\"content\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1,\"span\":{\"offset\":917,\"length\":5}},{\"content\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1,\"span\":{\"offset\":923,\"length\":10}},{\"content\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1,\"span\":{\"offset\":934,\"length\":5}},{\"content\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1,\"span\":{\"offset\":940,\"length\":8}},{\"content\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1,\"span\":{\"offset\":949,\"length\":25}},{\"content\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1,\"span\":{\"offset\":975,\"length\":9}},{\"content\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1,\"span\":{\"offset\":985,\"length\":8}},{\"content\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1,\"span\":{\"offset\":994,\"length\":4}},{\"content\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1,\"span\":{\"offset\":999,\"length\":7}},{\"content\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1,\"span\":{\"offset\":1007,\"length\":9}},{\"content\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1,\"span\":{\"offset\":1017,\"length\":3}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"spans\":[{\"offset\":880,\"length\":12}]},{\"content\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"spans\":[{\"offset\":893,\"length\":15}]},{\"content\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"spans\":[{\"offset\":909,\"length\":30}]},{\"content\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"spans\":[{\"offset\":940,\"length\":34}]},{\"content\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"spans\":[{\"offset\":975,\"length\":23}]},{\"content\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"spans\":[{\"offset\":999,\"length\":21}]}],\"spans\":[{\"offset\":879,\"length\":141}]}],\"tables\":[{\"rowCount\":14,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Package\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.643,2.6225,4.643,2.6225,4.858,0.9997,4.8515]}],\"spans\":[{\"offset\":408,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Included\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.643,5.7478,4.643,5.7478,4.858,2.6225,4.858]}],\"spans\":[{\"offset\":416,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.643,7.4907,4.6495,7.4907,4.858,5.7478,4.858]}],\"spans\":[{\"offset\":425,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Gold Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,4.8515,2.6225,4.858,2.6225,5.0927,0.9997,5.0861]}],\"spans\":[{\"offset\":431,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,4.858,5.7478,4.858,5.7478,5.0927,2.6225,5.0927]}],\"spans\":[{\"offset\":444,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,4.858,7.4907,4.858,7.4907,5.0861,5.7478,5.0927]}],\"spans\":[{\"offset\":455,\"length\":6}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.0861,2.6225,5.0927,2.6225,5.9269,0.9997,5.9203]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.0927,5.7478,5.0927,5.7478,5.9269,2.6225,5.9269]}],\"spans\":[{\"offset\":462,\"length\":66}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.0927,7.4907,5.0861,7.4907,5.7574,5.7478,5.7509]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.7509,7.4907,5.7574,7.4907,5.9269,5.7478,5.9269]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,5.9203,2.6225,5.9269,2.6225,6.7806,0.9997,6.7806]}],\"spans\":[{\"offset\":529,\"length\":14}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,5.9269,5.7478,5.9269,5.7478,6.1615,2.6225,6.1615]}],\"spans\":[{\"offset\":544,\"length\":10}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,5.9269,7.4907,5.9269,7.4907,6.3831,5.7478,6.3765]}],\"spans\":[{\"offset\":555,\"length\":6}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Post-keynote thank you\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.1615,5.7478,6.1615,5.7478,6.3765,2.6225,6.3765]}],\"spans\":[{\"offset\":562,\"length\":22}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Logo on poster\\nHalf page ad in program guide :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.3765,5.7478,6.3765,5.7478,6.7806,2.6225,6.7806]}],\"spans\":[{\"offset\":585,\"length\":44},{\"offset\":867,\"length\":12}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.3765,7.4907,6.3831,7.4907,6.7806,5.7478,6.7806]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"Bronze Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,6.7806,2.6225,6.7806,2.6225,7.6279,0.9997,7.6279]}],\"spans\":[{\"offset\":630,\"length\":14}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Full booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,6.7806,5.7478,6.7806,5.7478,7.0152,2.6225,7.0152]}],\"spans\":[{\"offset\":645,\"length\":10}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":3,\"columnSpan\":1,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,6.7806,7.4907,6.7806,7.4907,7.6344,5.7478,7.6279]}],\"spans\":[{\"offset\":656,\"length\":6}]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.0152,5.7478,7.0152,5.7478,7.6279,2.6225,7.6279]}],\"spans\":[{\"offset\":663,\"length\":59}]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,7.6279,2.6225,7.6279,2.6225,8.2665,0.9997,8.2665]}],\"spans\":[{\"offset\":723,\"length\":10}]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,7.6279,5.7478,7.6279,5.7478,8.2665,2.6225,8.2665]}],\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,7.6279,7.4907,7.6344,7.4907,8.2665,5.7478,8.2665]}],\"spans\":[{\"offset\":745,\"length\":4}]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Half Booth\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9997,8.2665,2.6225,8.2665,2.6225,8.8987,0.9997,8.8987]}],\"spans\":[{\"offset\":795,\"length\":10}]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.6225,8.2665,5.7478,8.2665,5.7478,8.8987,2.6225,8.8987]}],\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.7478,8.2665,7.4907,8.2665,7.4907,8.9052,5.7478,8.8987]}],\"spans\":[{\"offset\":817,\"length\":4}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.993,4.6286,7.5046,4.6277,7.506,8.9112,0.9934,8.9116]}],\"spans\":[{\"offset\":408,\"length\":471}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]},{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"content\":\"$1,500\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468]}],\"confidence\":0.778,\"spans\":[{\"offset\":455,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"content\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994]}],\"confidence\":0.771,\"spans\":[{\"offset\":444,\"length\":10},{\"offset\":462,\"length\":66}]}},\"content\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994]}],\"confidence\":0.937,\"spans\":[{\"offset\":431,\"length\":97}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"content\":\"$1,200\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168]}],\"confidence\":0.731,\"spans\":[{\"offset\":555,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"content\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678]}],\"confidence\":0.698,\"spans\":[{\"offset\":544,\"length\":10},{\"offset\":562,\"length\":67}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"content\":\"Silver Sponsor\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228]}],\"confidence\":0,\"spans\":[{\"offset\":529,\"length\":14}]}},\"content\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678]}],\"confidence\":0.94,\"spans\":[{\"offset\":529,\"length\":100}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"content\":\"$1,000\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718]}],\"confidence\":0.698,\"spans\":[{\"offset\":656,\"length\":6}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"content\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863]}],\"confidence\":0.669,\"spans\":[{\"offset\":645,\"length\":10},{\"offset\":663,\"length\":59}]}},\"content\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863]}],\"confidence\":0.903,\"spans\":[{\"offset\":630,\"length\":92}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"content\":\"$600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165]}],\"confidence\":0.568,\"spans\":[{\"offset\":745,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"content\":\"Full booth 50% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213]}],\"confidence\":0.662,\"spans\":[{\"offset\":734,\"length\":10},{\"offset\":750,\"length\":44}]}},\"content\":\"Full Booth Full booth 50% discount on program guide advertisements $600\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213]}],\"confidence\":0.765,\"spans\":[{\"offset\":723,\"length\":71}]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"content\":\"$350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515]}],\"confidence\":0.696,\"spans\":[{\"offset\":817,\"length\":4}]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"content\":\"Full booth 25% discount on program guide advertisements\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563]}],\"confidence\":0.773,\"spans\":[{\"offset\":806,\"length\":10},{\"offset\":822,\"length\":44}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"content\":\"Half\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433]}],\"confidence\":0.305,\"spans\":[{\"offset\":795,\"length\":4}]}},\"content\":\"Half Booth Full booth 25% discount on program guide advertisements $350\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563]}],\"confidence\":0.931,\"spans\":[{\"offset\":795,\"length\":71}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"content\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518]}],\"confidence\":0.868,\"spans\":[{\"offset\":363,\"length\":37}]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897]}],\"confidence\":0.946,\"spans\":[{\"offset\":350,\"length\":12}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"content\":\"Elm Conference Center in\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013]}],\"confidence\":0.524,\"spans\":[{\"offset\":96,\"length\":24}]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"content\":\"Contoso Ltd.\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013]}],\"confidence\":0.513,\"spans\":[{\"offset\":33,\"length\":12}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"content\":\"Southridge Video\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128]}],\"confidence\":0.951,\"spans\":[{\"offset\":923,\"length\":16}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":1020}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:19 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithHttpEndpoint[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataNullData[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithHttpEndpoint[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataNullData[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithBlankPdf[1].json new file mode 100644 index 0000000000000..f6631e8573b81 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithBlankPdf[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4370c28b-b4c7-40e0-afc9-8de76e074879", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "163", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "07a0e907-0f50-4450-9da9-4870274fd108", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/07a0e907-0f50-4450-9da9-4870274fd108?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:19 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/07a0e907-0f50-4450-9da9-4870274fd108?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aa9b83bd-ed41-466c-a394-ce1d9b8bc896" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "185", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4c6e2366-5999-4673-8366-e536fa6f4adf", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:19Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:22Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:24 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/07a0e907-0f50-4450-9da9-4870274fd108?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d07312c1-547e-4fb0-b4b2-75a8ef1ad33c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "175", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "204b88dd-44e0-43b3-9db4-345d43f1aa34", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:19Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:22Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Mon, 27 Sep 2021 00:53:24 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json new file mode 100644 index 0000000000000..ca38e5daeb120 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithContentTypeAutoDetection[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9ab1b9ec-b53d-4c9e-abda-752a0f50fef9", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "333", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "11863530-ea86-47a6-8133-9d9e9db26add", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/11863530-ea86-47a6-8133-9d9e9db26add?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:17 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/11863530-ea86-47a6-8133-9d9e9db26add?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "99672166-32f8-4518-b9e5-3eb984f1a036" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "129", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "91afad8a-9825-4273-904c-cd00d93c49a7", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:17Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:20Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:22 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/11863530-ea86-47a6-8133-9d9e9db26add?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9d7a89c4-1e51-4c39-9d2a-7b9b86d65401" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "182", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c2a739d8-055e-41db-b2c8-20e88f81c912", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:17Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:20Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:23 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithPngFile[1].json new file mode 100644 index 0000000000000..bb056d511d398 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptDataWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c246a27a-03ad-430b-94bf-68141d9cac88", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "835", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6e9aad85-59f6-45df-90b9-cf53d760589c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/6e9aad85-59f6-45df-90b9-cf53d760589c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:51 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/6e9aad85-59f6-45df-90b9-cf53d760589c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "738c2f5e-dba8-4d32-a4c3-93e11894ef05" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "142", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "99f4674f-d5ee-4cc0-9cdd-ca550b87e819", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:51Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:54Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:56 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/6e9aad85-59f6-45df-90b9-cf53d760589c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e615be52-a94c-4a7f-bbf8-d9a17d79357e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "154", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0858f732-6474-42be-888f-a5c191367d28", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:51Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:54Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:57 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptData[1].json new file mode 100644 index 0000000000000..7b0e7035d338a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptData[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "74acf6e8-b1aa-4d74-bcbd-f6d335ba9bba", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "369", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8e72aafc-fe7c-4ba0-a7ba-50bbc48da1c3", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/8e72aafc-fe7c-4ba0-a7ba-50bbc48da1c3?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:19 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/8e72aafc-fe7c-4ba0-a7ba-50bbc48da1c3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fea3010d-fcf5-46ae-bc3c-d5c54d576549" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "128", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "325caa15-e5a3-483c-9d87-a0dd1df80cc5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:19Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:23Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:24 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/8e72aafc-fe7c-4ba0-a7ba-50bbc48da1c3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5469af3c-06b0-49dd-8269-3e80e0a7b594" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "64ee950e-cf40-47fd-892a-db80e818c845", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:19Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:23Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:25 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDamagedPdf[1].json new file mode 100644 index 0000000000000..c7cf12178d6b7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDamagedPdf[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "54ce2246-371f-4916-a90c-23bad760ad3c", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "4", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "89978c0c-7b90-4f38-9124-f72cfeeb664c", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDataMultiPage[1].json new file mode 100644 index 0000000000000..3d112cd83b6ba --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromDataMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3a061635-fe73-4c3f-85e7-96830c34dba7", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "420", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4ca05250-c798-4975-8e5e-dca128ddd40e", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/4ca05250-c798-4975-8e5e-dca128ddd40e?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:13 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/4ca05250-c798-4975-8e5e-dca128ddd40e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "dd45b5db-2679-4ebc-b880-22623e2a336b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "251", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "86827e50-79ef-483c-ae71-df66a936c826", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:13Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:18Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:18 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/4ca05250-c798-4975-8e5e-dca128ddd40e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "aaa99be9-faeb-4a2a-af37-3f29e7c2b5dd" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "229", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b052e9e9-b5e7-4b05-a536-eb13b3276c6e", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:13Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:18Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:19 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlMultiPage[1].json new file mode 100644 index 0000000000000..93f6d7880da50 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlMultiPage[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fc19433d-64a2-4de1-9cb9-ceee9ec578e7", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "457", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "159bc1c4-991a-4841-b337-721e27004656", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/159bc1c4-991a-4841-b337-721e27004656?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:31 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/159bc1c4-991a-4841-b337-721e27004656?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a591cb0b-9207-480c-bb4d-7bac3ca20af2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "136", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ddd05294-3144-4097-b8d7-c20c27d3ae6d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:31Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:35Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:36 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/159bc1c4-991a-4841-b337-721e27004656?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "15dba553-e272-44d9-8dc1-0a8e9460c122" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "288", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c6c868cf-c60c-4449-94ba-3ba0294ec41a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:31Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:35Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\nSub-Total\\nTax\\nTip\\nTotal\\n--\\n$ 11.70\\n1.17\\n$ 1.63\\n$14,50\\nContoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n1 SurfacePen\\n--\\nSub-Total\\nTax\\nTotal\\n$ 999.00\\n$ 99.99\\n1098.99\\n$ 104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":1.4879,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9177,2.5352,4.1736,2.4158,4.207,2.6641,2.9129,2.793],\"confidence\":0.997,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885],\"confidence\":0.66,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9101,3.0317,2.1393,3.0842,2.0963,3.2799,1.8624,3.2274],\"confidence\":0.988,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.1775,3.0938,2.55,3.1797,2.507,3.3754,2.1346,3.2895],\"confidence\":0.992,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5882,3.1845,3.0992,3.3038,3.0562,3.49,2.5452,3.385],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.8767,3.3468,2.6264,3.4948,2.6025,3.7049,1.8433,3.5378],\"confidence\":0.96,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.6646,3.4996,2.9034,3.5282,2.8843,3.7383,2.6407,3.7096],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.9416,3.533,3.4525,3.5616,3.4382,3.7622,2.9225,3.7431],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109],\"confidence\":0.988,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.7716,5.0417,2.2205,5.0751,2.2014,5.2852,1.7525,5.247],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2587,5.0799,3.1087,5.1228,3.1039,5.3281,2.2444,5.2899],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[3.1517,5.1276,3.5815,5.1324,3.5815,5.3377,3.1469,5.3329],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156],\"confidence\":0.931,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509],\"confidence\":0.996,\"span\":{\"offset\":114,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[1.8671,6.5169,2.4927,6.5217,2.4879,6.7556,1.8624,6.7509],\"confidence\":0.995,\"span\":{\"offset\":116,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[2.5404,6.5217,2.6789,6.5217,2.6694,6.7556,2.5309,6.7556],\"confidence\":0.974,\"span\":{\"offset\":122,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[2.7219,6.5217,3.2138,6.5313,3.2042,6.7556,2.7124,6.7556],\"confidence\":0.991,\"span\":{\"offset\":124,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9323,3.2424,6.9323,3.2424,7.1758,2.0438,7.1615],\"confidence\":0.993,\"span\":{\"offset\":135,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137],\"confidence\":0.992,\"span\":{\"offset\":149,\"length\":4}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2949,7.6723,3.3045,7.9444,2.3208,7.9779],\"confidence\":0.993,\"span\":{\"offset\":154,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6694,8.1259,2.6646,8.3503,2.3256,8.3407],\"confidence\":0.993,\"span\":{\"offset\":164,\"length\":3}},{\"content\":\"Tip\",\"boundingBox\":[2.2969,8.4935,2.6312,8.4744,2.6503,8.8086,2.3208,8.8277],\"confidence\":0.998,\"span\":{\"offset\":168,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9518,2.8126,8.9375,2.8222,9.2192,2.2969,9.2335],\"confidence\":0.993,\"span\":{\"offset\":172,\"length\":5}},{\"content\":\"--\",\"boundingBox\":[4.7848,7.3906,4.909,7.3859,4.9042,7.4384,4.7801,7.4384],\"confidence\":0.99,\"span\":{\"offset\":178,\"length\":2}},{\"content\":\"$\",\"boundingBox\":[4.2834,7.6532,4.3455,7.6532,4.3264,7.9397,4.2643,7.9349],\"confidence\":0.784,\"span\":{\"offset\":181,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[4.4076,7.6532,4.9329,7.658,4.9138,7.9731,4.3885,7.9397],\"confidence\":0.994,\"span\":{\"offset\":183,\"length\":5}},{\"content\":\"1.17\",\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168],\"confidence\":0.956,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"$\",\"boundingBox\":[4.0542,8.4123,4.1211,8.4123,4.1115,8.7752,4.0447,8.7752],\"confidence\":0.99,\"span\":{\"offset\":194,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[4.1927,8.4171,4.866,8.4314,4.8565,8.7943,4.1831,8.7799],\"confidence\":0.075,\"span\":{\"offset\":196,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192],\"confidence\":0.649,\"span\":{\"offset\":201,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.9129,2.5352,4.2691,2.4015,4.2978,2.6784,2.9129,2.793],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9197,2.7118,2.55,2.8741,2.5022,3.0508,1.8719,2.8837],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9053,3.0317,3.0992,3.2943,3.0514,3.49,1.8624,3.2274],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.8671,3.3468,3.4621,3.5616,3.4334,3.7622,1.8385,3.5951],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[1.8194,4.0056,2.9607,4.1584,2.932,4.3637,1.7955,4.2109],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.7812,4.6788,3.0419,4.7743,3.0275,5.0178,1.7621,4.9319],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.7573,5.0369,3.5862,5.1324,3.5815,5.3377,1.7478,5.2613],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[1.7334,5.753,2.975,5.8103,2.9654,6.0681,1.7239,6.0109],\"spans\":[{\"offset\":101,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[1.6761,6.5169,3.2281,6.5217,3.2233,6.7556,1.6761,6.7461],\"spans\":[{\"offset\":114,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[4.3169,5.753,4.8039,5.7339,4.8135,5.9488,4.3312,5.9727],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[2.039,6.9275,3.2424,6.9323,3.2376,7.171,2.039,7.1615],\"spans\":[{\"offset\":135,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[4.3933,6.8655,4.7896,6.8559,4.7992,7.1089,4.3933,7.1137],\"spans\":[{\"offset\":149,\"length\":4}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.3112,7.701,3.2997,7.6675,3.3093,7.9397,2.316,7.9731],\"spans\":[{\"offset\":154,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.3256,8.1211,2.6885,8.1354,2.6837,8.3455,2.3303,8.3455],\"spans\":[{\"offset\":164,\"length\":3}]},{\"content\":\"Tip\",\"boundingBox\":[2.2874,8.4935,2.6503,8.4744,2.6598,8.8038,2.2969,8.8277],\"spans\":[{\"offset\":168,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.2969,8.9614,2.8317,8.9375,2.8365,9.2192,2.2969,9.2287],\"spans\":[{\"offset\":172,\"length\":5}]},{\"content\":\"--\",\"boundingBox\":[4.7705,7.3859,4.9615,7.3859,4.9615,7.4336,4.7705,7.4384],\"spans\":[{\"offset\":178,\"length\":2}]},{\"content\":\"$ 11.70\",\"boundingBox\":[4.2596,7.6532,4.9376,7.658,4.9233,7.9731,4.2596,7.9015],\"spans\":[{\"offset\":181,\"length\":7}]},{\"content\":\"1.17\",\"boundingBox\":[4.5556,8.0972,4.9233,8.1068,4.9233,8.3264,4.5556,8.3168],\"spans\":[{\"offset\":189,\"length\":4}]},{\"content\":\"$ 1.63\",\"boundingBox\":[4.0638,8.4123,4.9472,8.441,4.9329,8.7943,4.0447,8.7752],\"spans\":[{\"offset\":194,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[4.0733,8.8468,5.1669,8.9136,5.143,9.2765,4.0447,9.224],\"spans\":[{\"offset\":201,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":207}]},{\"pageNumber\":2,\"angle\":0.1314,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8413,1.8477,4.1211,1.819,4.1306,2.1723,2.8413,2.1914],\"confidence\":0.993,\"span\":{\"offset\":208,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219],\"confidence\":0.915,\"span\":{\"offset\":216,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[1.9531,3.0699,2.1346,3.0747,2.1346,3.2561,1.9579,3.2561],\"confidence\":0.988,\"span\":{\"offset\":224,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[2.168,3.0747,2.4688,3.0794,2.464,3.2609,2.168,3.2561],\"confidence\":0.991,\"span\":{\"offset\":228,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[2.5022,3.0794,2.9463,3.089,2.9416,3.2704,2.5022,3.2609],\"confidence\":0.997,\"span\":{\"offset\":233,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[1.934,3.3802,2.5452,3.3898,2.5452,3.5712,1.934,3.5616],\"confidence\":0.993,\"span\":{\"offset\":240,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[2.5834,3.3898,2.7649,3.3898,2.7649,3.5664,2.5787,3.5712],\"confidence\":0.999,\"span\":{\"offset\":249,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[2.8031,3.3898,3.2424,3.385,3.2424,3.5521,2.8031,3.5664],\"confidence\":0.995,\"span\":{\"offset\":252,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918],\"confidence\":0.988,\"span\":{\"offset\":258,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865],\"confidence\":0.989,\"span\":{\"offset\":271,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865],\"confidence\":0.995,\"span\":{\"offset\":281,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[1.8958,5.0035,2.2157,5.0035,2.211,5.1897,1.8958,5.1849],\"confidence\":0.995,\"span\":{\"offset\":287,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[2.2492,5.0035,2.9272,5.0082,2.9225,5.1992,2.2492,5.1897],\"confidence\":0.995,\"span\":{\"offset\":293,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[2.9654,5.0082,3.3093,5.0082,3.3045,5.1992,2.9607,5.1992],\"confidence\":0.991,\"span\":{\"offset\":304,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628],\"confidence\":0.909,\"span\":{\"offset\":309,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[2.0677,5.6814,2.6073,5.6814,2.6073,5.8628,2.0677,5.8628],\"confidence\":0.993,\"span\":{\"offset\":311,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[2.6455,5.6814,2.8652,5.6862,2.8604,5.8628,2.6407,5.8628],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[2.9034,5.6862,3.0084,5.6862,3.0037,5.8676,2.8986,5.8676],\"confidence\":0.995,\"span\":{\"offset\":323,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[2.1059,6.0156,2.4975,6.0156,2.4975,6.2161,2.1107,6.2161],\"confidence\":0.995,\"span\":{\"offset\":325,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[2.5357,6.0156,2.5739,6.0156,2.5787,6.2161,2.5357,6.2161],\"confidence\":0.99,\"span\":{\"offset\":331,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[2.6121,6.0156,2.9129,6.0156,2.9129,6.2161,2.6169,6.2161],\"confidence\":0.98,\"span\":{\"offset\":333,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[2.9511,6.0156,3.252,6.0204,3.2472,6.2161,2.9511,6.2161],\"confidence\":0.991,\"span\":{\"offset\":339,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[3.2902,6.0204,3.4191,6.0204,3.4143,6.2161,3.2854,6.2161],\"confidence\":0.963,\"span\":{\"offset\":344,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[3.4573,6.0204,3.548,6.0204,3.5433,6.2161,3.4525,6.2161],\"confidence\":0.988,\"span\":{\"offset\":347,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[2.082,6.3594,2.3208,6.3594,2.3256,6.5456,2.0868,6.5408],\"confidence\":0.993,\"span\":{\"offset\":349,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[2.359,6.3594,2.6646,6.3546,2.6646,6.5503,2.3638,6.5456],\"confidence\":0.997,\"span\":{\"offset\":353,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[2.7028,6.3546,3.1947,6.3546,3.1899,6.5551,2.698,6.5503],\"confidence\":0.995,\"span\":{\"offset\":357,\"length\":7}},{\"content\":\"1\",\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426],\"confidence\":0.988,\"span\":{\"offset\":365,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378],\"confidence\":0.995,\"span\":{\"offset\":367,\"length\":10}},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9197,7.5004,1.9244,7.5434,1.8289,7.553],\"confidence\":0.987,\"span\":{\"offset\":378,\"length\":2}},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4115,7.7296,3.0992,7.7392,3.0896,7.9206,2.4115,7.911],\"confidence\":0.954,\"span\":{\"offset\":381,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9463,8.0734,2.9368,8.25,2.6933,8.2357],\"confidence\":0.995,\"span\":{\"offset\":391,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,3.0037,8.9423,2.6312,8.9614],\"confidence\":0.667,\"span\":{\"offset\":395,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[3.8107,6.3928,3.8632,6.388,3.8632,6.5551,3.8059,6.5551],\"confidence\":0.989,\"span\":{\"offset\":401,\"length\":1}},{\"content\":\"999.00\",\"boundingBox\":[3.8966,6.388,4.3837,6.3976,4.3789,6.5647,3.8966,6.5551],\"confidence\":0.995,\"span\":{\"offset\":403,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.8966,7.0755,3.9492,7.0755,3.9492,7.2713,3.8966,7.2713],\"confidence\":0.996,\"span\":{\"offset\":410,\"length\":1}},{\"content\":\"99.99\",\"boundingBox\":[3.9874,7.0755,4.3789,7.0755,4.3789,7.2713,3.9874,7.2713],\"confidence\":0.994,\"span\":{\"offset\":412,\"length\":5}},{\"content\":\"1098.99\",\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588],\"confidence\":0.995,\"span\":{\"offset\":418,\"length\":7}},{\"content\":\"$\",\"boundingBox\":[3.8107,8.1115,3.8775,8.1115,3.8728,8.3025,3.8107,8.3025],\"confidence\":0.98,\"span\":{\"offset\":426,\"length\":1}},{\"content\":\"104.40\",\"boundingBox\":[3.9157,8.1115,4.398,8.102,4.398,8.2977,3.911,8.3025],\"confidence\":0.991,\"span\":{\"offset\":428,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[3.739,8.7752,3.8107,8.7847,3.7963,8.9614,3.7295,8.9518],\"confidence\":0.996,\"span\":{\"offset\":435,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[3.8441,8.7847,4.3742,8.8468,4.3455,9.0282,3.8346,8.9614],\"confidence\":0.997,\"span\":{\"offset\":437,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[2.8365,1.8429,4.164,1.8142,4.1688,2.1628,2.8365,2.1914],\"spans\":[{\"offset\":208,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[1.9674,2.7643,2.4927,2.7977,2.4784,2.9553,1.9579,2.9219],\"spans\":[{\"offset\":216,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[1.9531,3.0699,2.9511,3.0842,2.9463,3.2704,1.9531,3.2513],\"spans\":[{\"offset\":224,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[1.9292,3.3802,3.2424,3.3802,3.2424,3.5664,1.9292,3.5664],\"spans\":[{\"offset\":240,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[1.9101,4.0009,2.8556,4.0247,2.8508,4.2109,1.9053,4.1871],\"spans\":[{\"offset\":258,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[1.891,4.6597,2.889,4.674,2.8843,4.8698,1.891,4.8602],\"spans\":[{\"offset\":271,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[1.891,5.0035,3.314,5.0082,3.3093,5.1944,1.891,5.1849],\"spans\":[{\"offset\":287,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[1.9817,5.6814,3.0275,5.6814,3.0228,5.8628,1.9817,5.8581],\"spans\":[{\"offset\":309,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[2.1059,6.0156,3.5433,6.0156,3.5433,6.2114,2.1059,6.2114],\"spans\":[{\"offset\":325,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[2.0772,6.3546,3.1947,6.3546,3.1947,6.5503,2.0772,6.5456],\"spans\":[{\"offset\":349,\"length\":15}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[1.9388,7.0469,2.8747,7.0421,2.8747,7.2235,1.9435,7.2378],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"--\",\"boundingBox\":[1.8242,7.5052,1.9817,7.4909,1.9865,7.5386,1.8242,7.553],\"spans\":[{\"offset\":378,\"length\":2}]},{\"content\":\"Sub-Total\",\"boundingBox\":[2.4067,7.7296,3.0944,7.7392,3.0944,7.9158,2.4067,7.9063],\"spans\":[{\"offset\":381,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[2.698,8.059,2.9559,8.0781,2.9463,8.2452,2.6933,8.2357],\"spans\":[{\"offset\":391,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[2.6264,8.7847,2.9989,8.7656,2.9989,8.9423,2.636,8.9614],\"spans\":[{\"offset\":395,\"length\":5}]},{\"content\":\"$ 999.00\",\"boundingBox\":[3.8059,6.3785,4.3885,6.3832,4.3837,6.5599,3.8059,6.5503],\"spans\":[{\"offset\":401,\"length\":8}]},{\"content\":\"$ 99.99\",\"boundingBox\":[3.8966,7.0803,4.3885,7.0755,4.3885,7.2713,3.9014,7.2713],\"spans\":[{\"offset\":410,\"length\":7}]},{\"content\":\"1098.99\",\"boundingBox\":[3.8919,7.7869,4.398,7.7678,4.4028,7.9397,3.8919,7.9588],\"spans\":[{\"offset\":418,\"length\":7}]},{\"content\":\"$ 104.40\",\"boundingBox\":[3.8059,8.1068,4.398,8.102,4.4028,8.2977,3.8059,8.3025],\"spans\":[{\"offset\":426,\"length\":8}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[3.739,8.7752,4.3694,8.842,4.3503,9.0234,3.7295,8.9518],\"spans\":[{\"offset\":435,\"length\":9}]}],\"spans\":[{\"offset\":207,\"length\":237}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":194,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8862,5.7626,2.9654,5.8103,2.9654,6.0681,1.8815,6.0204]}],\"confidence\":0.979,\"spans\":[{\"offset\":103,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7334,5.7578,1.8337,5.7626,1.8337,6.0204,1.7287,6.0156]}],\"confidence\":0.983,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.3169,5.753,4.7992,5.7339,4.8087,5.9488,4.3264,5.9727]}],\"confidence\":0.988,\"spans\":[{\"offset\":129,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8642,6.5152,3.2138,6.5254,3.2121,6.7611,1.8624,6.7509]}],\"confidence\":0.979,\"spans\":[{\"offset\":116,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.6857,6.5169,1.8242,6.5169,1.8146,6.7509,1.6761,6.7509]}],\"confidence\":0.983,\"spans\":[{\"offset\":114,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.4076,6.8607,4.7944,6.8559,4.7992,7.1042,4.4124,7.1137]}],\"confidence\":0.988,\"spans\":[{\"offset\":149,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9056,3.0307,3.5209,3.3852,3.4118,3.8825,1.7964,3.528]}],\"confidence\":0.943,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9197,2.7166,2.5404,2.8789,2.4975,3.0508,1.8767,2.8885]}],\"confidence\":0.96,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8242,4.0056,2.9511,4.1632,2.9272,4.3637,1.7955,4.2109]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.276,7.6326,4.9329,7.658,4.9207,7.9734,4.2638,7.948]}],\"confidence\":0.965,\"spans\":[{\"offset\":181,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.5699,8.0972,4.9233,8.1068,4.9138,8.3264,4.5652,8.3168]}],\"confidence\":0.984,\"spans\":[{\"offset\":189,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"$ 1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0525,8.4108,4.8661,8.4282,4.8583,8.7943,4.0447,8.777]}],\"confidence\":0.903,\"spans\":[{\"offset\":194,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.0638,8.8468,5.1048,8.8993,5.0857,9.2765,4.0447,9.2192]}],\"confidence\":0.976,\"spans\":[{\"offset\":201,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.7812,4.6836,2.5357,4.7409,2.5261,4.9939,1.7669,4.9366]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[2.5882,4.7457,3.0275,4.7839,3.018,5.0178,2.5739,4.9987]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":207}]},{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0677,5.6814,3.0084,5.6814,3.0084,5.8676,2.0677,5.8676]}],\"confidence\":0.978,\"spans\":[{\"offset\":311,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9865,5.6862,2.0295,5.6862,2.0295,5.8628,1.9865,5.8628]}],\"confidence\":0.979,\"spans\":[{\"offset\":309,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"$ 999.00\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8092,6.3862,4.3837,6.3976,4.3804,6.5665,3.8059,6.5551]}],\"confidence\":0.984,\"spans\":[{\"offset\":401,\"length\":8}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.0295,7.0564,2.8795,7.0469,2.8795,7.2283,2.0343,7.2378]}],\"confidence\":0.979,\"spans\":[{\"offset\":367,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9435,7.0564,1.9913,7.0564,1.9961,7.2426,1.9483,7.2426]}],\"confidence\":0.981,\"spans\":[{\"offset\":365,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"$ 99.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.0755,4.3789,7.0755,4.3789,7.2713,3.8966,7.2713]}],\"confidence\":0.984,\"spans\":[{\"offset\":410,\"length\":7}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9389,3.0697,3.2497,3.0903,3.2419,3.5821,1.9312,3.5616]}],\"confidence\":0.975,\"spans\":[{\"offset\":224,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9722,2.7691,2.4879,2.8025,2.4736,2.9601,1.9579,2.9219]}],\"confidence\":0.977,\"spans\":[{\"offset\":216,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.9101,4.0056,2.8508,4.0343,2.8508,4.2109,1.9101,4.1918]}],\"confidence\":0.988,\"spans\":[{\"offset\":258,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.977},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"1098.99\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8966,7.7821,4.3933,7.7678,4.398,7.9397,3.9014,7.9588]}],\"confidence\":0.987,\"spans\":[{\"offset\":418,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"$ 104.40\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.8107,8.102,4.398,8.102,4.398,8.3025,3.8107,8.3025]}],\"confidence\":0.839,\"spans\":[{\"offset\":426,\"length\":8}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[3.7412,8.7595,4.3742,8.8468,4.3479,9.0375,3.7149,8.9502]}],\"confidence\":0.983,\"spans\":[{\"offset\":435,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[1.8958,4.6645,2.4831,4.674,2.4831,4.865,1.9006,4.865]}],\"confidence\":0.989,\"spans\":[{\"offset\":271,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":2,\"boundingBox\":[2.5213,4.674,2.889,4.6836,2.889,4.8698,2.5213,4.865]}],\"confidence\":0.988,\"spans\":[{\"offset\":281,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":207,\"length\":237}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:37 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json new file mode 100644 index 0000000000000..eb08a24f9c60a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "50a2cb53-3303-46f7-9df2-16b12cc7101d", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "392", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "77b03027-8be7-4f51-a59f-c5f76ebdf404", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptInvalidSourceUrl[1].json new file mode 100644 index 0000000000000..3c86b186c3970 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptInvalidSourceUrl[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e0318ecc-be87-4dff-921e-ebd25509a82f", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "958", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ac8cceeb-ca98-4962-b004-ef7ea1346d99", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\"error\":{\"code\":\"InvalidRequest\",\"message\":\"Invalid request.\",\"innererror\":{\"code\":\"InvalidContent\",\"message\":\"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats.\"}}}", + "Date" : "Mon, 27 Sep 2021 00:53:31 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrlWithPngFile[1].json new file mode 100644 index 0000000000000..fba3997fa0f87 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrlWithPngFile[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7d0d741b-937f-46e3-b0ba-8f82c3a003cf", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "898", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c65ac2a2-ce56-4c23-8684-b10bebd17ec7", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c65ac2a2-ce56-4c23-8684-b10bebd17ec7?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:24 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c65ac2a2-ce56-4c23-8684-b10bebd17ec7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7f3e44a4-e23e-46cc-90c1-68afd30147de" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "153", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "909626aa-d6f4-4fbb-8673-700aa6cebc79", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:24Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:30 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/c65ac2a2-ce56-4c23-8684-b10bebd17ec7?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5ddcf459-b52b-4415-b30d-5ff95dff7a97" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "164", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fa9d276e-72ed-4cc8-bad8-754b5f6fee60", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:24Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:27Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n123-456-7890\\n6/10/2019 13:59\\nSales Associate: Paul\\n1 Surface Pro 6\\n256GB / Intel Core i5 /\\n8GB RAM (Black)\\n999.00\\n1 SurfacePen\\n99.99\\n- -\\nSub-Total\\nTax\\nTotal\\n$ 1098.99\\n104.40\\n$ 1203.39\",\"pages\":[{\"pageNumber\":1,\"angle\":0.3356,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[620,292,1030,290,1032,380,623,389],\"confidence\":0.994,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[328,590,497,601,494,651,324,640],\"confidence\":0.993,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[318,690,382,693,378,752,314,748],\"confidence\":0.998,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[393,694,493,697,491,754,389,752],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[505,697,650,697,649,751,502,754],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[313,796,519,799,518,856,311,851],\"confidence\":0.989,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[529,799,591,799,591,855,529,856],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[601,799,749,797,750,848,601,855],\"confidence\":0.995,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"123-456-7890\",\"boundingBox\":[308,1005,620,1012,616,1068,306,1063],\"confidence\":0.995,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[302,1223,495,1224,494,1290,301,1289],\"confidence\":0.993,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[507,1224,632,1228,631,1290,507,1290],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[301,1336,407,1336,407,1393,301,1393],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[419,1336,646,1337,645,1396,418,1393],\"confidence\":0.994,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[658,1338,767,1338,766,1397,657,1396],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[334,1560,349,1561,348,1619,333,1619],\"confidence\":0.945,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"Surface\",\"boundingBox\":[361,1561,537,1562,536,1620,360,1619],\"confidence\":0.997,\"span\":{\"offset\":103,\"length\":7}},{\"content\":\"Pro\",\"boundingBox\":[549,1562,625,1563,624,1621,547,1620],\"confidence\":0.994,\"span\":{\"offset\":111,\"length\":3}},{\"content\":\"6\",\"boundingBox\":[637,1563,671,1563,670,1621,636,1621],\"confidence\":0.994,\"span\":{\"offset\":115,\"length\":1}},{\"content\":\"256GB\",\"boundingBox\":[370,1673,501,1673,500,1737,370,1734],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"/\",\"boundingBox\":[514,1673,526,1673,526,1737,513,1737],\"confidence\":0.915,\"span\":{\"offset\":123,\"length\":1}},{\"content\":\"Intel\",\"boundingBox\":[539,1673,641,1673,639,1739,538,1738],\"confidence\":0.959,\"span\":{\"offset\":125,\"length\":5}},{\"content\":\"Core\",\"boundingBox\":[653,1673,750,1674,748,1739,652,1739],\"confidence\":0.991,\"span\":{\"offset\":131,\"length\":4}},{\"content\":\"i5\",\"boundingBox\":[763,1674,801,1674,799,1739,761,1739],\"confidence\":0.983,\"span\":{\"offset\":136,\"length\":2}},{\"content\":\"/\",\"boundingBox\":[814,1674,843,1674,841,1739,811,1739],\"confidence\":0.917,\"span\":{\"offset\":139,\"length\":1}},{\"content\":\"8GB\",\"boundingBox\":[368,1785,442,1785,443,1849,369,1847],\"confidence\":0.998,\"span\":{\"offset\":141,\"length\":3}},{\"content\":\"RAM\",\"boundingBox\":[455,1785,555,1785,555,1852,456,1849],\"confidence\":0.998,\"span\":{\"offset\":145,\"length\":3}},{\"content\":\"(Black)\",\"boundingBox\":[568,1785,728,1785,728,1854,568,1852],\"confidence\":0.994,\"span\":{\"offset\":149,\"length\":7}},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849],\"confidence\":0.994,\"span\":{\"offset\":157,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[317,2021,333,2020,336,2080,320,2080],\"confidence\":0.995,\"span\":{\"offset\":164,\"length\":1}},{\"content\":\"SurfacePen\",\"boundingBox\":[345,2020,625,2014,626,2075,348,2080],\"confidence\":0.995,\"span\":{\"offset\":166,\"length\":10}},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089],\"confidence\":0.994,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"-\",\"boundingBox\":[279,2168,287,2169,287,2182,278,2182],\"confidence\":0.779,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"-\",\"boundingBox\":[300,2169,308,2169,308,2181,300,2181],\"confidence\":0.997,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,695,2245,693,2307,472,2305],\"confidence\":0.867,\"span\":{\"offset\":187,\"length\":9}},{\"content\":\"Tax\",\"boundingBox\":[564,2354,653,2358,650,2415,562,2411],\"confidence\":0.993,\"span\":{\"offset\":197,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[546,2594,665,2589,668,2647,548,2652],\"confidence\":0.616,\"span\":{\"offset\":201,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[926,2269,944,2267,947,2317,929,2316],\"confidence\":0.74,\"span\":{\"offset\":207,\"length\":1}},{\"content\":\"1098.99\",\"boundingBox\":[955,2266,1134,2256,1135,2316,958,2317],\"confidence\":0.997,\"span\":{\"offset\":209,\"length\":7}},{\"content\":\"104.40\",\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429],\"confidence\":0.995,\"span\":{\"offset\":217,\"length\":6}},{\"content\":\"$\",\"boundingBox\":[909,2594,937,2595,934,2653,907,2650],\"confidence\":0.983,\"span\":{\"offset\":224,\"length\":1}},{\"content\":\"1203.39\",\"boundingBox\":[948,2596,1126,2613,1120,2674,945,2654],\"confidence\":0.997,\"span\":{\"offset\":226,\"length\":7}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[620,291,1048,288,1049,384,621,389],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[326,589,499,601,496,651,323,640],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[314,690,650,694,649,754,314,751],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[311,796,751,796,751,854,311,855],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"123-456-7890\",\"boundingBox\":[307,1004,619,1010,618,1068,306,1061],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[301,1222,631,1224,630,1290,301,1287],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[301,1335,769,1338,768,1396,300,1393],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"1 Surface Pro 6\",\"boundingBox\":[333,1560,674,1562,674,1620,332,1618],\"spans\":[{\"offset\":101,\"length\":15}]},{\"content\":\"256GB / Intel Core i5 /\",\"boundingBox\":[369,1672,846,1674,846,1739,369,1736],\"spans\":[{\"offset\":117,\"length\":23}]},{\"content\":\"8GB RAM (Black)\",\"boundingBox\":[368,1784,731,1784,730,1853,368,1849],\"spans\":[{\"offset\":141,\"length\":15}]},{\"content\":\"999.00\",\"boundingBox\":[977,1796,1130,1800,1128,1854,977,1849],\"spans\":[{\"offset\":157,\"length\":6}]},{\"content\":\"1 SurfacePen\",\"boundingBox\":[317,2018,627,2013,628,2073,318,2080],\"spans\":[{\"offset\":164,\"length\":12}]},{\"content\":\"99.99\",\"boundingBox\":[1004,2031,1130,2031,1129,2090,1004,2089],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"- -\",\"boundingBox\":[278,2168,321,2168,322,2180,278,2181],\"spans\":[{\"offset\":183,\"length\":3}]},{\"content\":\"Sub-Total\",\"boundingBox\":[471,2243,698,2245,697,2307,471,2304],\"spans\":[{\"offset\":187,\"length\":9}]},{\"content\":\"Tax\",\"boundingBox\":[566,2354,657,2361,652,2414,562,2412],\"spans\":[{\"offset\":197,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[546,2594,669,2589,670,2647,548,2652],\"spans\":[{\"offset\":201,\"length\":5}]},{\"content\":\"$ 1098.99\",\"boundingBox\":[926,2262,1135,2255,1137,2314,927,2318],\"spans\":[{\"offset\":207,\"length\":9}]},{\"content\":\"104.40\",\"boundingBox\":[977,2374,1132,2370,1131,2428,979,2428],\"spans\":[{\"offset\":217,\"length\":6}]},{\"content\":\"$ 1203.39\",\"boundingBox\":[909,2593,1128,2611,1121,2673,907,2650],\"spans\":[{\"offset\":224,\"length\":9}]}],\"spans\":[{\"offset\":0,\"length\":233}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"content\":\"Surface Pro 6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[360,1561,671,1563,671,1621,360,1620]}],\"confidence\":0.975,\"spans\":[{\"offset\":103,\"length\":13}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[334,1560,349,1561,348,1619,333,1619]}],\"confidence\":0.975,\"spans\":[{\"offset\":101,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"content\":\"999.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[977,1796,1128,1800,1127,1854,977,1849]}],\"confidence\":0.987,\"spans\":[{\"offset\":157,\"length\":6}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"content\":\"SurfacePen\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[345,2020,625,2014,626,2075,348,2080]}],\"confidence\":0.974,\"spans\":[{\"offset\":166,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[317,2021,333,2020,336,2080,320,2080]}],\"confidence\":0.976,\"spans\":[{\"offset\":164,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"content\":\"99.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1004,2031,1130,2031,1130,2090,1004,2089]}],\"confidence\":0.986,\"spans\":[{\"offset\":177,\"length\":5}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[314,690,753,698,750,860,311,852]}],\"confidence\":0.977,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[328,590,497,601,494,651,324,640]}],\"confidence\":0.977,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"content\":\"123-456-7890\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[308,1005,620,1012,616,1068,306,1063]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.981},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"content\":\"$ 1098.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[926,2262,1134,2256,1136,2316,927,2322]}],\"confidence\":0.977,\"spans\":[{\"offset\":207,\"length\":9}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"content\":\"104.40\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[980,2372,1128,2370,1129,2427,981,2429]}],\"confidence\":0.987,\"spans\":[{\"offset\":217,\"length\":6}]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"content\":\"$ 1203.39\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[909,2590,1126,2613,1120,2674,903,2651]}],\"confidence\":0.981,\"spans\":[{\"offset\":224,\"length\":9}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[302,1223,495,1224,494,1290,301,1289]}],\"confidence\":0.989,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[507,1224,632,1228,631,1290,507,1290]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":233}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:30 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrl[1].json new file mode 100644 index 0000000000000..ac7edc1448745 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.analyzeReceiptSourceUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "51a6c90a-0b41-470e-a5a4-94aed827fc11", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "551", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2d765285-e847-4ab2-9b7b-6d0f4334d8a3", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/2d765285-e847-4ab2-9b7b-6d0f4334d8a3?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:50 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/2d765285-e847-4ab2-9b7b-6d0f4334d8a3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8445fe01-2768-4aa5-8d61-086bb2561bf0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "127", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "adeb21fc-7d73-4d26-a2f2-f667c66d9968", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:52Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:54 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/2d765285-e847-4ab2-9b7b-6d0f4334d8a3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8fdf5c5b-7b31-4d73-8659-81a1a88851fa" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "145", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "94e5d43d-6b00-4245-8882-f903e0a2f2c9", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:50Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:52Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nContoso\\n123 Main Street\\nRedmond, WA 98052\\n987-654-3210\\n6/10/2019 13:59\\nSales Associate: Paul\\n-\\n1 Cappuccino\\n1 BACON & EGGS\\n$2.20\\nSunny-side-up\\n$9.5\\n-\\nSub-Total\\n$ 11.70\\nTax\\n1.17\\nTip\\nTotal\\n$ 1.63\\n$14,50\",\"pages\":[{\"pageNumber\":1,\"angle\":0.9597,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[633,505,1067,460,1083,561,631,600],\"confidence\":0.993,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Contoso\",\"boundingBox\":[311,573,515,625,502,681,297,632],\"confidence\":0.681,\"span\":{\"offset\":8,\"length\":7}},{\"content\":\"123\",\"boundingBox\":[303,677,377,695,366,759,292,740],\"confidence\":0.99,\"span\":{\"offset\":16,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[389,698,517,727,506,792,378,762],\"confidence\":0.991,\"span\":{\"offset\":20,\"length\":4}},{\"content\":\"Street\",\"boundingBox\":[529,730,694,768,683,829,518,794],\"confidence\":0.997,\"span\":{\"offset\":25,\"length\":6}},{\"content\":\"Redmond,\",\"boundingBox\":[294,787,541,831,535,902,282,850],\"confidence\":0.943,\"span\":{\"offset\":32,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[554,833,634,842,630,913,548,904],\"confidence\":0.998,\"span\":{\"offset\":41,\"length\":2}},{\"content\":\"98052\",\"boundingBox\":[648,844,818,855,818,919,644,914],\"confidence\":0.99,\"span\":{\"offset\":44,\"length\":5}},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1006,648,1055,643,1120,268,1072],\"confidence\":0.989,\"span\":{\"offset\":50,\"length\":12}},{\"content\":\"6/10/2019\",\"boundingBox\":[265,1227,511,1247,507,1329,259,1313],\"confidence\":0.99,\"span\":{\"offset\":63,\"length\":9}},{\"content\":\"13:59\",\"boundingBox\":[527,1248,677,1262,673,1337,523,1330],\"confidence\":0.995,\"span\":{\"offset\":73,\"length\":5}},{\"content\":\"Sales\",\"boundingBox\":[258,1351,409,1365,405,1427,253,1411],\"confidence\":0.995,\"span\":{\"offset\":79,\"length\":5}},{\"content\":\"Associate:\",\"boundingBox\":[422,1366,704,1379,703,1443,418,1428],\"confidence\":0.853,\"span\":{\"offset\":85,\"length\":10}},{\"content\":\"Paul\",\"boundingBox\":[716,1379,859,1380,860,1443,716,1443],\"confidence\":0.991,\"span\":{\"offset\":96,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[255,1499,263,1500,262,1514,253,1513],\"confidence\":0.483,\"span\":{\"offset\":101,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[243,1582,283,1585,276,1667,236,1662],\"confidence\":0.993,\"span\":{\"offset\":103,\"length\":1}},{\"content\":\"Cappuccino\",\"boundingBox\":[300,1586,658,1605,653,1689,293,1670],\"confidence\":0.988,\"span\":{\"offset\":105,\"length\":10}},{\"content\":\"1\",\"boundingBox\":[230,1839,275,1839,272,1916,227,1915],\"confidence\":0.996,\"span\":{\"offset\":116,\"length\":1}},{\"content\":\"BACON\",\"boundingBox\":[295,1840,500,1842,499,1919,292,1917],\"confidence\":0.995,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"&\",\"boundingBox\":[515,1842,560,1843,559,1919,514,1919],\"confidence\":0.98,\"span\":{\"offset\":124,\"length\":1}},{\"content\":\"EGGS\",\"boundingBox\":[575,1843,736,1844,736,1917,575,1919],\"confidence\":0.991,\"span\":{\"offset\":126,\"length\":4}},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659],\"confidence\":0.995,\"span\":{\"offset\":131,\"length\":5}},{\"content\":\"Sunny-side-up\",\"boundingBox\":[345,1979,748,1978,747,2060,345,2054],\"confidence\":0.993,\"span\":{\"offset\":137,\"length\":13}},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035],\"confidence\":0.982,\"span\":{\"offset\":151,\"length\":4}},{\"content\":\"-\",\"boundingBox\":[224,2145,233,2145,232,2159,224,2159],\"confidence\":0.939,\"span\":{\"offset\":156,\"length\":1}},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2236,765,2225,768,2317,440,2325],\"confidence\":0.993,\"span\":{\"offset\":158,\"length\":9}},{\"content\":\"$\",\"boundingBox\":[1108,2221,1121,2221,1120,2315,1108,2314],\"confidence\":0.002,\"span\":{\"offset\":168,\"length\":1}},{\"content\":\"11.70\",\"boundingBox\":[1139,2221,1302,2222,1302,2316,1139,2315],\"confidence\":0.983,\"span\":{\"offset\":170,\"length\":5}},{\"content\":\"Tax\",\"boundingBox\":[438,2367,560,2364,563,2456,440,2459],\"confidence\":0.994,\"span\":{\"offset\":176,\"length\":3}},{\"content\":\"1.17\",\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452],\"confidence\":0.995,\"span\":{\"offset\":180,\"length\":4}},{\"content\":\"Tip\",\"boundingBox\":[432,2500,544,2497,547,2603,434,2606],\"confidence\":0.992,\"span\":{\"offset\":185,\"length\":3}},{\"content\":\"Total\",\"boundingBox\":[433,2656,602,2648,606,2736,436,2744],\"confidence\":0.993,\"span\":{\"offset\":189,\"length\":5}},{\"content\":\"$\",\"boundingBox\":[1011,2476,1048,2477,1046,2593,1010,2592],\"confidence\":0.956,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"1.63\",\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593],\"confidence\":0.032,\"span\":{\"offset\":197,\"length\":4}},{\"content\":\"$14,50\",\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742],\"confidence\":0.654,\"span\":{\"offset\":202,\"length\":6}}],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[630,504,1092,456,1103,565,631,600],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Contoso\",\"boundingBox\":[310,573,516,624,503,681,297,631],\"spans\":[{\"offset\":8,\"length\":7}]},{\"content\":\"123 Main Street\",\"boundingBox\":[303,677,697,769,684,829,291,740],\"spans\":[{\"offset\":16,\"length\":15}]},{\"content\":\"Redmond, WA 98052\",\"boundingBox\":[291,786,819,856,815,919,282,867],\"spans\":[{\"offset\":32,\"length\":17}]},{\"content\":\"987-654-3210\",\"boundingBox\":[275,1005,651,1055,645,1120,268,1071],\"spans\":[{\"offset\":50,\"length\":12}]},{\"content\":\"6/10/2019 13:59\",\"boundingBox\":[264,1227,681,1258,675,1337,259,1311],\"spans\":[{\"offset\":63,\"length\":15}]},{\"content\":\"Sales Associate: Paul\",\"boundingBox\":[256,1351,861,1380,859,1443,253,1421],\"spans\":[{\"offset\":79,\"length\":21}]},{\"content\":\"-\",\"boundingBox\":[255,1499,281,1502,279,1516,253,1513],\"spans\":[{\"offset\":101,\"length\":1}]},{\"content\":\"1 Cappuccino\",\"boundingBox\":[240,1582,660,1604,654,1689,236,1671],\"spans\":[{\"offset\":103,\"length\":12}]},{\"content\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,738,1841,737,1919,226,1917],\"spans\":[{\"offset\":116,\"length\":14}]},{\"content\":\"$2.20\",\"boundingBox\":[1108,1583,1267,1574,1272,1648,1114,1659],\"spans\":[{\"offset\":131,\"length\":5}]},{\"content\":\"Sunny-side-up\",\"boundingBox\":[344,1977,748,1978,748,2060,344,2058],\"spans\":[{\"offset\":137,\"length\":13}]},{\"content\":\"$9.5\",\"boundingBox\":[1135,1954,1267,1954,1268,2036,1135,2034],\"spans\":[{\"offset\":151,\"length\":4}]},{\"content\":\"-\",\"boundingBox\":[224,2145,248,2146,248,2160,224,2159],\"spans\":[{\"offset\":156,\"length\":1}]},{\"content\":\"Sub-Total\",\"boundingBox\":[438,2234,768,2225,771,2315,440,2325],\"spans\":[{\"offset\":158,\"length\":9}]},{\"content\":\"$ 11.70\",\"boundingBox\":[1108,2221,1305,2223,1304,2316,1109,2315],\"spans\":[{\"offset\":168,\"length\":7}]},{\"content\":\"Tax\",\"boundingBox\":[438,2369,563,2364,564,2456,442,2458],\"spans\":[{\"offset\":176,\"length\":3}]},{\"content\":\"1.17\",\"boundingBox\":[1174,2354,1316,2355,1317,2453,1175,2452],\"spans\":[{\"offset\":180,\"length\":4}]},{\"content\":\"Tip\",\"boundingBox\":[432,2500,549,2497,551,2602,434,2606],\"spans\":[{\"offset\":185,\"length\":3}]},{\"content\":\"Total\",\"boundingBox\":[433,2657,608,2648,611,2736,436,2743],\"spans\":[{\"offset\":189,\"length\":5}]},{\"content\":\"$ 1.63\",\"boundingBox\":[1011,2476,1311,2481,1307,2597,1010,2592],\"spans\":[{\"offset\":195,\"length\":6}]},{\"content\":\"$14,50\",\"boundingBox\":[1025,2621,1383,2639,1382,2762,1018,2743],\"spans\":[{\"offset\":202,\"length\":6}]}],\"spans\":[{\"offset\":0,\"length\":208}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":195,\"length\":6}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":202,\"length\":6}]}],\"documents\":[{\"docType\":\"prebuilt:receipt\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1688,0,1688,3000,0,3000]}],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"content\":\"Cappuccino\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[300,1586,658,1605,653,1689,293,1670]}],\"confidence\":0.978,\"spans\":[{\"offset\":105,\"length\":10}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[243,1582,283,1585,276,1667,236,1662]}],\"confidence\":0.976,\"spans\":[{\"offset\":103,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"content\":\"$2.20\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,1583,1264,1574,1269,1649,1112,1659]}],\"confidence\":0.987,\"spans\":[{\"offset\":131,\"length\":5}]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"content\":\"BACON & EGGS\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[293,1840,737,1844,736,1921,292,1917]}],\"confidence\":0.974,\"spans\":[{\"offset\":118,\"length\":12}]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[230,1839,275,1839,272,1916,227,1915]}],\"confidence\":0.982,\"spans\":[{\"offset\":116,\"length\":1}]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"content\":\"$9.5\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1135,1954,1266,1954,1266,2036,1135,2035]}],\"confidence\":0.987,\"spans\":[{\"offset\":151,\"length\":4}]}}}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":0.995},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"content\":\"123 Main Street Redmond, WA 98052\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[303,677,845,797,808,966,266,846]}],\"confidence\":0.974,\"spans\":[{\"offset\":16,\"length\":33}]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[311,573,515,625,502,681,297,632]}],\"confidence\":0.979,\"spans\":[{\"offset\":8,\"length\":7}]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"content\":\"987-654-3210\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[275,1006,648,1055,643,1120,268,1072]}],\"confidence\":0.989,\"spans\":[{\"offset\":50,\"length\":12}]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.96},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"content\":\"$ 11.70\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1108,2214,1306,2222,1302,2322,1104,2314]}],\"confidence\":0.942,\"spans\":[{\"offset\":168,\"length\":7}]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"content\":\"1.17\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1181,2354,1311,2355,1311,2453,1180,2452]}],\"confidence\":0.988,\"spans\":[{\"offset\":180,\"length\":4}]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"content\":\"1.63\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1071,2477,1285,2481,1284,2597,1069,2593]}],\"confidence\":0.977,\"spans\":[{\"offset\":197,\"length\":4}]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"content\":\"$14,50\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1024,2621,1377,2639,1371,2760,1018,2742]}],\"confidence\":0.978,\"spans\":[{\"offset\":202,\"length\":6}]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"content\":\"6/10/2019\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[265,1227,511,1247,507,1329,259,1313]}],\"confidence\":0.99,\"spans\":[{\"offset\":63,\"length\":9}]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"content\":\"13:59\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[527,1248,677,1262,673,1337,523,1330]}],\"confidence\":0.988,\"spans\":[{\"offset\":73,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":208}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:55 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkAnalyzeDocTypeComposedModelWithModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkAnalyzeDocTypeComposedModelWithModelName[1].json new file mode 100644 index 0000000000000..46cccb86a9c42 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkAnalyzeDocTypeComposedModelWithModelName[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "88d98f6a-fb0a-4d1e-8e0f-335e36cd2139", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "345", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "524a6fbb-43e7-4184-8036-6149067e7775", + "retry-after" : "0", + "StatusCode" : "409", + "Body" : "{\n \"error\": {\n \"code\": \"Conflict\",\n \"message\": \"The request could not be completed due to a conflict with the current state of the target resource.\",\n \"innererror\": {\n \"code\": \"ModelExists\",\n \"message\": \"A model with the provided name already exists.\"\n }\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:48 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentComposedModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentComposedModel[1].json new file mode 100644 index 0000000000000..f0e1c7d6bca7d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentComposedModel[1].json @@ -0,0 +1,124 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "daf3a20e-8ded-43e1-a138-35df6a810418", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "3034", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666101_448ee439-59bf-4af7-9ebe-a352c3dd9f90?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "448ee439-59bf-4af7-9ebe-a352c3dd9f90", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:20 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666101_448ee439-59bf-4af7-9ebe-a352c3dd9f90?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "69ba4b9b-f554-4b8b-b049-c309c1a1756f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "39", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9ffc4c38-35bc-491f-a34b-908878bf5fd8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666101_448ee439-59bf-4af7-9ebe-a352c3dd9f90\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:18Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:23Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b2ed4e22-7d2d-46dd-8201-e0da3a163f0a?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\",\n \"createdDateTime\": \"2021-09-27T00:18:23Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666101_448ee439-59bf-4af7-9ebe-a352c3dd9f90?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "683415ee-425b-45e7-b914-32c1d7be8794" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "40", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b23a06d9-c007-45e4-a79f-13169fcba540", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666101_448ee439-59bf-4af7-9ebe-a352c3dd9f90\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:18Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:23Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b2ed4e22-7d2d-46dd-8201-e0da3a163f0a?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\",\n \"createdDateTime\": \"2021-09-27T00:18:23Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:26 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6f08912d-ece6-4c3e-8bec-3f00aacf2e51", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2240", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533666093_ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Mon, 27 Sep 2021 00:18:29 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666093_ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1daf16d1-5341-4e4a-9e41-3e5c7b153bc3" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "39", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8d80e305-df52-4878-b7ff-c5e03cbd722a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666093_ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:27Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:31Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3322d1ec-5080-4f24-b1b1-bcd514137cf4?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\",\n \"createdDateTime\": \"2021-09-27T00:18:31Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:33 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533666093_ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "dc028ac2-82bd-46c5-ad5f-7b59125b2b2c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "45", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "39dcae17-4bac-4071-b09d-e5290503fc59", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533666093_ccd5fb82-b50c-4ee2-b4dd-365a82eb5df5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-27T00:18:27Z\",\n \"lastUpdatedDateTime\": \"2021-09-27T00:18:31Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/3322d1ec-5080-4f24-b1b1-bcd514137cf4?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\",\n \"createdDateTime\": \"2021-09-27T00:18:31Z\"\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:34 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentWithModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentWithModelName[1].json new file mode 100644 index 0000000000000..54bfd617c0586 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.checkCustomDocumentWithModelName[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b87c1b5f-77c4-4bfc-8b51-734af2312060", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "200", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "3be6e616-0475-4d50-8171-e7eb0bd33bba", + "retry-after" : "0", + "StatusCode" : "409", + "Body" : "{\n \"error\": {\n \"code\": \"Conflict\",\n \"message\": \"The request could not be completed due to a conflict with the current state of the target resource.\",\n \"innererror\": {\n \"code\": \"ModelExists\",\n \"message\": \"A model with the provided name already exists.\"\n }\n }\n}", + "Date" : "Mon, 27 Sep 2021 00:18:48 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceSubLineItemsNull[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceSubLineItemsNull[1].json new file mode 100644 index 0000000000000..bf7c24b2e44c7 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceSubLineItemsNull[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "64348828-36e0-4d4a-92e7-53e164ecbab8", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "777", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "62a897e2-5e72-4ebb-99bb-824699b62ca5", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/62a897e2-5e72-4ebb-99bb-824699b62ca5?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:05 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/62a897e2-5e72-4ebb-99bb-824699b62ca5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "03104478-a641-40aa-8f6f-91224a542cb1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "162", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1e4f4da0-b1f7-4b45-974b-fd8e6d90dcb3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:04Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:08Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Invoice\\nDocument No. 92929292\\nOrdered Shipped\\nItem Number/Description\\nUnit Proce\\nDiscount\\nExtended\\nPrice\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\n1\\n1\\n6566565 unit\\nS/N: 656656\\n1\\n1\\n6566565 unit\\n2\\n2\\n6566565 unit\\nS/N: 656656\\nS/N: 656656\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\nS/N: 656656\\n1\\n1\\n6566565 unit\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nS/N: 656656\\n1\\n1\\n6566565 unit\\nSubtotal\\nTax\\nFreight\\nTotal\\n$0.00\\nPage 3 of 9\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0.2076,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Invoice\",\"boundingBox\":[52,61,254,58,254,110,52,109],\"confidence\":0.908,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Document\",\"boundingBox\":[52,166,159,164,159,188,53,189],\"confidence\":0.994,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"No.\",\"boundingBox\":[163,164,210,163,210,187,164,188],\"confidence\":0.997,\"span\":{\"offset\":17,\"length\":3}},{\"content\":\"92929292\",\"boundingBox\":[222,163,358,162,358,185,222,187],\"confidence\":0.959,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"Ordered\",\"boundingBox\":[58,362,141,361,141,384,58,383],\"confidence\":0.997,\"span\":{\"offset\":30,\"length\":7}},{\"content\":\"Shipped\",\"boundingBox\":[171,360,259,360,259,384,171,384],\"confidence\":0.994,\"span\":{\"offset\":38,\"length\":7}},{\"content\":\"Item\",\"boundingBox\":[318,361,354,360,354,382,318,381],\"confidence\":0.908,\"span\":{\"offset\":46,\"length\":4}},{\"content\":\"Number/Description\",\"boundingBox\":[365,360,580,360,580,385,365,382],\"confidence\":0.993,\"span\":{\"offset\":51,\"length\":18}},{\"content\":\"Unit\",\"boundingBox\":[966,361,1010,361,1010,381,966,381],\"confidence\":0.935,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"Proce\",\"boundingBox\":[1014,361,1077,361,1077,382,1014,381],\"confidence\":0.995,\"span\":{\"offset\":75,\"length\":5}},{\"content\":\"Discount\",\"boundingBox\":[1113,361,1214,361,1214,382,1113,381],\"confidence\":0.993,\"span\":{\"offset\":81,\"length\":8}},{\"content\":\"Extended\",\"boundingBox\":[1347,361,1443,361,1444,382,1347,381],\"confidence\":0.993,\"span\":{\"offset\":90,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[1390,394,1445,394,1444,415,1390,414],\"confidence\":0.994,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,431,368,433,368,455,288,453],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,467,369,469,368,490,290,489],\"confidence\":0.993,\"span\":{\"offset\":111,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[290,513,369,516,369,538,289,536],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,550,369,552,369,574,288,572],\"confidence\":0.995,\"span\":{\"offset\":123,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,591,368,593,367,615,290,613],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,627,369,629,368,650,288,649],\"confidence\":0.995,\"span\":{\"offset\":135,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,673,370,676,369,698,288,696],\"confidence\":0.988,\"span\":{\"offset\":141,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,710,369,712,368,733,290,732],\"confidence\":0.995,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,753,367,756,367,777,288,775],\"confidence\":0.995,\"span\":{\"offset\":153,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,789,367,791,367,812,290,812],\"confidence\":0.995,\"span\":{\"offset\":159,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[290,836,368,839,367,860,290,858],\"confidence\":0.995,\"span\":{\"offset\":165,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,872,368,874,367,895,288,894],\"confidence\":0.995,\"span\":{\"offset\":171,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[153,914,164,914,163,935,153,934],\"confidence\":0.993,\"span\":{\"offset\":177,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[270,915,279,915,279,932,270,932],\"confidence\":0.975,\"span\":{\"offset\":179,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[311,915,397,915,397,935,311,936],\"confidence\":0.994,\"span\":{\"offset\":181,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,915,449,916,448,936,405,935],\"confidence\":0.992,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[293,952,340,953,340,973,293,974],\"confidence\":0.988,\"span\":{\"offset\":194,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[348,953,427,953,427,973,348,973],\"confidence\":0.997,\"span\":{\"offset\":199,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[153,993,165,993,165,1015,153,1015],\"confidence\":0.988,\"span\":{\"offset\":206,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,993,278,993,278,1010,269,1010],\"confidence\":0.975,\"span\":{\"offset\":208,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[307,992,396,992,396,1014,308,1013],\"confidence\":0.994,\"span\":{\"offset\":210,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[403,992,447,993,447,1014,403,1014],\"confidence\":0.988,\"span\":{\"offset\":218,\"length\":4}},{\"content\":\"2\",\"boundingBox\":[150,1031,163,1031,163,1051,150,1051],\"confidence\":0.997,\"span\":{\"offset\":223,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[267,1032,280,1033,278,1052,266,1051],\"confidence\":0.996,\"span\":{\"offset\":225,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[309,1030,397,1031,396,1052,309,1051],\"confidence\":0.994,\"span\":{\"offset\":227,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,1031,448,1031,448,1052,405,1052],\"confidence\":0.992,\"span\":{\"offset\":235,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[291,1071,340,1070,340,1091,291,1091],\"confidence\":0.988,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[347,1070,426,1070,426,1090,347,1091],\"confidence\":0.997,\"span\":{\"offset\":245,\"length\":6}},{\"content\":\"S/N:\",\"boundingBox\":[291,1108,340,1108,340,1129,291,1129],\"confidence\":0.983,\"span\":{\"offset\":252,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[347,1108,426,1107,426,1128,347,1129],\"confidence\":0.997,\"span\":{\"offset\":257,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[153,1146,164,1146,164,1167,153,1167],\"confidence\":0.988,\"span\":{\"offset\":264,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,1146,278,1146,279,1163,269,1164],\"confidence\":0.988,\"span\":{\"offset\":266,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1148,393,1148,393,1169,307,1169],\"confidence\":0.994,\"span\":{\"offset\":268,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[402,1148,445,1148,445,1169,402,1169],\"confidence\":0.992,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[152,1183,164,1183,164,1206,152,1206],\"confidence\":0.994,\"span\":{\"offset\":281,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,1186,278,1186,278,1203,269,1203],\"confidence\":0.981,\"span\":{\"offset\":283,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[307,1186,395,1186,395,1207,308,1207],\"confidence\":0.994,\"span\":{\"offset\":285,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[403,1186,446,1186,447,1207,403,1207],\"confidence\":0.992,\"span\":{\"offset\":293,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[152,1222,163,1222,163,1245,152,1245],\"confidence\":0.983,\"span\":{\"offset\":298,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1224,278,1224,279,1241,269,1242],\"confidence\":0.973,\"span\":{\"offset\":300,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[310,1225,398,1225,397,1247,309,1247],\"confidence\":0.994,\"span\":{\"offset\":302,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,1225,447,1226,447,1247,404,1247],\"confidence\":0.992,\"span\":{\"offset\":310,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[151,1262,165,1262,165,1285,151,1285],\"confidence\":0.984,\"span\":{\"offset\":315,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1266,277,1267,276,1282,268,1281],\"confidence\":0.989,\"span\":{\"offset\":317,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[312,1263,399,1263,399,1285,312,1285],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[406,1264,450,1264,449,1285,406,1285],\"confidence\":0.992,\"span\":{\"offset\":327,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[155,1305,163,1306,162,1319,153,1319],\"confidence\":0.993,\"span\":{\"offset\":332,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1305,277,1306,276,1320,268,1319],\"confidence\":0.981,\"span\":{\"offset\":334,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1303,395,1303,395,1324,307,1323],\"confidence\":0.993,\"span\":{\"offset\":336,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[404,1303,447,1303,447,1324,403,1324],\"confidence\":0.992,\"span\":{\"offset\":344,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[292,1342,341,1341,341,1362,292,1362],\"confidence\":0.988,\"span\":{\"offset\":349,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[348,1341,426,1340,426,1362,348,1362],\"confidence\":0.997,\"span\":{\"offset\":354,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[152,1381,164,1381,164,1397,152,1396],\"confidence\":0.985,\"span\":{\"offset\":361,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1381,277,1381,277,1398,268,1398],\"confidence\":0.975,\"span\":{\"offset\":363,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[308,1379,397,1380,397,1401,308,1401],\"confidence\":0.993,\"span\":{\"offset\":365,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[404,1380,448,1380,448,1401,403,1401],\"confidence\":0.991,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"Water\",\"boundingBox\":[286,1419,365,1422,364,1443,285,1442],\"confidence\":0.995,\"span\":{\"offset\":378,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1456,364,1457,364,1479,285,1477],\"confidence\":0.995,\"span\":{\"offset\":384,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1502,365,1504,364,1525,285,1524],\"confidence\":0.995,\"span\":{\"offset\":390,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[287,1539,364,1541,364,1562,286,1561],\"confidence\":0.994,\"span\":{\"offset\":396,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1579,365,1581,365,1602,285,1601],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[288,1616,365,1617,364,1639,287,1638],\"confidence\":0.995,\"span\":{\"offset\":408,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1663,365,1665,364,1686,286,1685],\"confidence\":0.995,\"span\":{\"offset\":414,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[287,1698,365,1700,365,1721,286,1720],\"confidence\":0.995,\"span\":{\"offset\":420,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[285,1741,364,1743,364,1765,285,1763],\"confidence\":0.995,\"span\":{\"offset\":426,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1777,363,1779,363,1800,286,1799],\"confidence\":0.989,\"span\":{\"offset\":432,\"length\":5}},{\"content\":\"S/N:\",\"boundingBox\":[290,1819,336,1819,336,1841,290,1841],\"confidence\":0.991,\"span\":{\"offset\":438,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[345,1819,423,1820,423,1840,345,1841],\"confidence\":0.997,\"span\":{\"offset\":443,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[151,1859,160,1858,162,1876,153,1877],\"confidence\":0.99,\"span\":{\"offset\":450,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[266,1858,277,1858,277,1876,266,1876],\"confidence\":0.984,\"span\":{\"offset\":452,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1859,393,1858,393,1879,306,1880],\"confidence\":0.994,\"span\":{\"offset\":454,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[400,1858,445,1859,445,1880,400,1880],\"confidence\":0.992,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Subtotal\",\"boundingBox\":[1199,1928,1289,1929,1288,1949,1198,1950],\"confidence\":0.993,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Tax\",\"boundingBox\":[1198,1970,1234,1970,1234,1990,1198,1989],\"confidence\":0.992,\"span\":{\"offset\":476,\"length\":3}},{\"content\":\"Freight\",\"boundingBox\":[1200,2010,1277,2011,1277,2035,1199,2034],\"confidence\":0.994,\"span\":{\"offset\":480,\"length\":7}},{\"content\":\"Total\",\"boundingBox\":[1198,2052,1253,2052,1252,2072,1198,2071],\"confidence\":0.995,\"span\":{\"offset\":488,\"length\":5}},{\"content\":\"$0.00\",\"boundingBox\":[1562,2052,1618,2052,1618,2074,1562,2074],\"confidence\":0.989,\"span\":{\"offset\":494,\"length\":5}},{\"content\":\"Page\",\"boundingBox\":[1506,2124,1556,2123,1556,2147,1506,2147],\"confidence\":0.992,\"span\":{\"offset\":500,\"length\":4}},{\"content\":\"3\",\"boundingBox\":[1560,2123,1574,2123,1574,2147,1561,2147],\"confidence\":0.995,\"span\":{\"offset\":505,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[1579,2123,1598,2123,1599,2146,1579,2147],\"confidence\":0.988,\"span\":{\"offset\":507,\"length\":2}},{\"content\":\"9\",\"boundingBox\":[1603,2123,1618,2124,1619,2146,1603,2146],\"confidence\":0.969,\"span\":{\"offset\":510,\"length\":1}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1405,1921,1647,1921,1647,1957,1405,1957],\"confidence\":0.251,\"span\":{\"offset\":512,\"length\":12}}],\"lines\":[{\"content\":\"Invoice\",\"boundingBox\":[52,59,265,57,265,109,52,110],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Document No. 92929292\",\"boundingBox\":[51,164,366,161,366,184,52,189],\"spans\":[{\"offset\":8,\"length\":21}]},{\"content\":\"Ordered Shipped\",\"boundingBox\":[57,360,263,360,264,383,57,384],\"spans\":[{\"offset\":30,\"length\":15}]},{\"content\":\"Item Number/Description\",\"boundingBox\":[318,360,585,360,585,384,318,382],\"spans\":[{\"offset\":46,\"length\":23}]},{\"content\":\"Unit Proce\",\"boundingBox\":[965,360,1082,361,1082,381,965,380],\"spans\":[{\"offset\":70,\"length\":10}]},{\"content\":\"Discount\",\"boundingBox\":[1111,360,1218,360,1218,381,1111,381],\"spans\":[{\"offset\":81,\"length\":8}]},{\"content\":\"Extended\",\"boundingBox\":[1346,360,1450,360,1450,381,1346,381],\"spans\":[{\"offset\":90,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[1391,394,1449,394,1448,415,1390,414],\"spans\":[{\"offset\":99,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,431,375,433,375,454,288,452],\"spans\":[{\"offset\":105,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,466,376,468,375,490,290,489],\"spans\":[{\"offset\":111,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,513,375,515,374,537,289,535],\"spans\":[{\"offset\":117,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,549,374,551,373,574,288,571],\"spans\":[{\"offset\":123,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,590,374,593,374,615,289,612],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,626,375,628,374,650,288,649],\"spans\":[{\"offset\":135,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,673,375,675,375,698,288,695],\"spans\":[{\"offset\":141,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,710,376,711,375,733,289,731],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,752,374,755,373,776,288,774],\"spans\":[{\"offset\":153,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,788,375,790,374,813,290,811],\"spans\":[{\"offset\":159,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,836,373,838,373,859,289,857],\"spans\":[{\"offset\":165,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,872,374,873,373,895,288,893],\"spans\":[{\"offset\":171,\"length\":5}]},{\"content\":\"1\",\"boundingBox\":[154,914,165,915,164,935,153,935],\"spans\":[{\"offset\":177,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[270,915,279,915,280,932,270,932],\"spans\":[{\"offset\":179,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[310,914,449,914,449,935,310,935],\"spans\":[{\"offset\":181,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[292,952,432,952,432,972,292,973],\"spans\":[{\"offset\":194,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[153,993,165,993,165,1015,153,1015],\"spans\":[{\"offset\":206,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,993,279,993,279,1010,269,1010],\"spans\":[{\"offset\":208,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,992,447,992,447,1013,306,1012],\"spans\":[{\"offset\":210,\"length\":12}]},{\"content\":\"2\",\"boundingBox\":[151,1031,167,1031,167,1051,150,1051],\"spans\":[{\"offset\":223,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[267,1032,282,1033,281,1052,266,1051],\"spans\":[{\"offset\":225,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[309,1029,448,1030,448,1051,309,1051],\"spans\":[{\"offset\":227,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[290,1070,430,1069,430,1090,290,1091],\"spans\":[{\"offset\":240,\"length\":11}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[291,1108,430,1107,430,1127,291,1128],\"spans\":[{\"offset\":252,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[153,1146,165,1146,165,1167,153,1167],\"spans\":[{\"offset\":264,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1147,278,1146,279,1164,269,1164],\"spans\":[{\"offset\":266,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,1147,445,1147,445,1168,306,1168],\"spans\":[{\"offset\":268,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1183,164,1183,165,1206,153,1206],\"spans\":[{\"offset\":281,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1186,278,1186,279,1203,270,1203],\"spans\":[{\"offset\":283,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[307,1185,446,1185,446,1207,307,1206],\"spans\":[{\"offset\":285,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1222,163,1222,164,1245,153,1245],\"spans\":[{\"offset\":298,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1225,277,1224,279,1242,269,1242],\"spans\":[{\"offset\":300,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[309,1224,447,1225,447,1247,309,1246],\"spans\":[{\"offset\":302,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[151,1262,164,1262,165,1285,153,1285],\"spans\":[{\"offset\":315,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1266,280,1267,280,1282,269,1281],\"spans\":[{\"offset\":317,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[311,1263,449,1263,449,1285,311,1284],\"spans\":[{\"offset\":319,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1305,166,1306,166,1320,152,1318],\"spans\":[{\"offset\":332,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1305,279,1306,279,1320,268,1319],\"spans\":[{\"offset\":334,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,1302,447,1302,447,1323,306,1323],\"spans\":[{\"offset\":336,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[291,1341,431,1340,432,1361,291,1362],\"spans\":[{\"offset\":349,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[152,1381,166,1382,166,1397,152,1397],\"spans\":[{\"offset\":361,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1381,278,1381,277,1398,268,1398],\"spans\":[{\"offset\":363,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[307,1379,447,1379,447,1400,307,1400],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"Water\",\"boundingBox\":[285,1419,372,1421,372,1443,285,1441],\"spans\":[{\"offset\":378,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1455,371,1456,371,1478,285,1476],\"spans\":[{\"offset\":384,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1501,371,1503,371,1525,284,1524],\"spans\":[{\"offset\":390,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1538,370,1540,370,1561,286,1560],\"spans\":[{\"offset\":396,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1578,371,1580,371,1602,285,1600],\"spans\":[{\"offset\":402,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1615,371,1617,370,1638,286,1637],\"spans\":[{\"offset\":408,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1662,371,1664,371,1686,286,1684],\"spans\":[{\"offset\":414,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1698,372,1699,371,1721,285,1719],\"spans\":[{\"offset\":420,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[283,1741,369,1742,368,1764,283,1763],\"spans\":[{\"offset\":426,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1777,371,1778,370,1800,285,1799],\"spans\":[{\"offset\":432,\"length\":5}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[289,1819,429,1819,429,1840,289,1840],\"spans\":[{\"offset\":438,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[151,1859,161,1858,162,1876,153,1877],\"spans\":[{\"offset\":450,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[266,1858,276,1858,277,1876,267,1876],\"spans\":[{\"offset\":452,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[305,1858,445,1858,445,1879,305,1879],\"spans\":[{\"offset\":454,\"length\":12}]},{\"content\":\"Subtotal\",\"boundingBox\":[1198,1927,1289,1927,1289,1949,1198,1949],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Tax\",\"boundingBox\":[1199,1970,1237,1970,1237,1990,1198,1989],\"spans\":[{\"offset\":476,\"length\":3}]},{\"content\":\"Freight\",\"boundingBox\":[1199,2010,1278,2011,1277,2034,1199,2033],\"spans\":[{\"offset\":480,\"length\":7}]},{\"content\":\"Total\",\"boundingBox\":[1198,2052,1253,2053,1253,2072,1198,2072],\"spans\":[{\"offset\":488,\"length\":5}]},{\"content\":\"$0.00\",\"boundingBox\":[1562,2053,1620,2052,1620,2074,1562,2074],\"spans\":[{\"offset\":494,\"length\":5}]},{\"content\":\"Page 3 of 9\",\"boundingBox\":[1505,2123,1623,2123,1623,2146,1505,2146],\"spans\":[{\"offset\":500,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":524}]}],\"tables\":[{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"Subtotal :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1913,1624,1914,1625,1955,1192,1954]}],\"spans\":[{\"offset\":467,\"length\":8},{\"offset\":512,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Tax\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1954,1408,1955,1408,1995,1192,1996]}],\"spans\":[{\"offset\":476,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1955,1625,1955,1625,1996,1408,1995]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Freight\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1996,1408,1995,1408,2037,1192,2036]}],\"spans\":[{\"offset\":480,\"length\":7}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1995,1625,1996,1625,2037,1408,2037]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,2036,1408,2037,1408,2079,1192,2078]}],\"spans\":[{\"offset\":488,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$0.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,2037,1625,2037,1625,2079,1408,2079]}],\"spans\":[{\"offset\":494,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1913,1627,1912,1627,2082,1192,2083]}],\"spans\":[{\"offset\":467,\"length\":32},{\"offset\":512,\"length\":12}]},{\"rowCount\":39,\"columnCount\":8,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Ordered\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,346,169,344,169,384,52,386]}],\"spans\":[{\"offset\":30,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Shipped\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,344,289,344,289,384,169,384]}],\"spans\":[{\"offset\":38,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item Number/Description\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,344,974,344,974,384,289,384]}],\"spans\":[{\"offset\":46,\"length\":23}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Proce\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,344,1097,344,1097,384,974,384]}],\"spans\":[{\"offset\":70,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Discount\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,344,1194,344,1194,384,1097,384]}],\"spans\":[{\"offset\":81,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,344,1273,344,1273,384,1194,384]}],\"spans\":[]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Extended\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1273,344,1409,344,1409,384,1273,384]}],\"spans\":[{\"offset\":90,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,344,1624,344,1624,384,1409,384]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,386,169,384,169,421,52,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,384,289,384,289,421,169,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,384,974,384,974,421,289,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,384,1097,384,1097,421,974,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,384,1194,384,1194,421,1097,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,384,1273,384,1271,421,1194,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1273,384,1409,384,1409,423,1271,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,384,1624,384,1624,423,1409,423]}],\"spans\":[{\"offset\":99,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,421,169,421,169,461,52,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,421,289,421,289,460,169,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,421,974,421,974,461,289,460]}],\"spans\":[{\"offset\":105,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,421,1097,421,1097,461,974,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,421,1194,421,1194,461,1097,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,421,1271,421,1271,461,1194,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,421,1409,423,1409,460,1271,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,423,1624,423,1624,461,1409,460]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,461,169,461,169,502,52,502]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,461,289,460,287,502,169,502]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,460,974,461,974,503,287,502]}],\"spans\":[{\"offset\":111,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,461,1097,461,1097,503,974,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,461,1194,461,1194,503,1097,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,461,1271,461,1271,503,1194,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,461,1409,460,1409,503,1271,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,460,1624,461,1624,503,1409,503]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,502,169,502,169,544,52,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,502,287,502,287,544,169,544]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,502,974,503,974,545,287,544]}],\"spans\":[{\"offset\":117,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,503,1097,503,1097,545,974,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,503,1194,503,1194,545,1097,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,503,1271,503,1271,545,1194,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,503,1409,503,1409,545,1271,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,503,1624,503,1624,545,1409,545]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,545,169,544,169,582,50,582]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,544,287,544,287,582,169,582]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,544,974,545,974,584,287,582]}],\"spans\":[{\"offset\":123,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,545,1097,545,1097,584,974,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,545,1194,545,1194,584,1097,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,545,1271,545,1271,584,1194,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,545,1409,545,1409,584,1271,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,545,1624,545,1624,584,1409,584]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,582,169,582,169,621,50,621]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,582,287,582,287,621,169,621]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,582,974,584,974,622,287,621]}],\"spans\":[{\"offset\":129,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,584,1097,584,1097,622,974,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,584,1194,584,1194,622,1097,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,584,1271,584,1271,622,1194,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,584,1409,584,1409,622,1271,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,584,1624,584,1624,622,1409,622]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,621,169,621,169,663,50,663]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,621,287,621,287,663,169,663]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,621,974,622,974,664,287,663]}],\"spans\":[{\"offset\":135,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,622,1097,622,1097,664,974,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,622,1194,622,1192,664,1097,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,622,1271,622,1271,664,1192,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,622,1409,622,1409,664,1271,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,622,1624,622,1624,663,1409,664]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,663,169,663,169,704,50,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,663,287,663,287,704,169,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,663,974,664,974,704,287,704]}],\"spans\":[{\"offset\":141,\"length\":5}]},{\"rowIndex\":8,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,664,1097,664,1097,704,974,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,664,1192,664,1192,706,1097,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,664,1271,664,1269,706,1192,706]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,664,1409,664,1409,704,1269,706]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,664,1624,663,1624,704,1409,704]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,704,169,704,169,743,50,743]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,704,287,704,287,743,169,743]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,704,974,704,974,745,287,743]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":9,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,704,1097,704,1097,745,974,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,704,1192,706,1192,745,1097,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,706,1409,704,1409,745,1192,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,704,1624,704,1624,743,1409,745]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,743,169,743,169,783,50,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,743,287,743,287,783,169,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,743,974,745,974,783,287,783]}],\"spans\":[{\"offset\":153,\"length\":5}]},{\"rowIndex\":10,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,745,1097,745,1097,783,974,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,745,1192,745,1192,783,1097,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,745,1409,745,1409,783,1192,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,745,1624,743,1624,783,1409,783]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,783,169,783,169,823,50,823]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,783,287,783,287,823,169,823]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,783,974,783,974,825,287,823]}],\"spans\":[{\"offset\":159,\"length\":5}]},{\"rowIndex\":11,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,783,1097,783,1097,825,974,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,783,1192,783,1192,825,1097,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,783,1409,783,1409,825,1192,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,783,1624,783,1624,825,1409,825]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,823,169,823,169,865,50,865]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,823,287,823,287,865,169,865]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,823,974,825,974,867,287,865]}],\"spans\":[{\"offset\":165,\"length\":5}]},{\"rowIndex\":12,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,825,1097,825,1097,867,974,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,825,1192,825,1192,867,1097,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,825,1409,825,1408,865,1192,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,825,1624,825,1624,865,1408,865]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,865,169,865,167,904,50,904]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,865,287,865,287,904,167,904]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,865,974,867,974,906,287,904]}],\"spans\":[{\"offset\":171,\"length\":5}]},{\"rowIndex\":13,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,867,1097,867,1097,906,974,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,867,1192,867,1192,906,1097,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,867,1408,865,1408,904,1192,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,865,1624,865,1624,904,1408,904]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,904,167,904,167,944,50,944]}],\"spans\":[{\"offset\":177,\"length\":1}]},{\"rowIndex\":14,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,904,287,904,287,944,167,944]}],\"spans\":[{\"offset\":179,\"length\":1}]},{\"rowIndex\":14,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,904,974,906,974,944,287,944]}],\"spans\":[{\"offset\":181,\"length\":12}]},{\"rowIndex\":14,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,906,1097,906,1097,944,974,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,906,1192,906,1192,944,1097,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,906,1408,904,1408,944,1192,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,904,1624,904,1624,944,1408,944]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,944,167,944,167,983,50,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,944,287,944,287,983,167,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,944,974,944,974,983,287,983]}],\"spans\":[{\"offset\":194,\"length\":11}]},{\"rowIndex\":15,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,944,1097,944,1097,983,974,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,944,1192,944,1192,983,1097,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,944,1408,944,1408,983,1192,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,944,1624,944,1624,983,1408,983]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,983,167,983,167,1023,50,1021]}],\"spans\":[{\"offset\":206,\"length\":1}]},{\"rowIndex\":16,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,983,287,983,287,1021,167,1023]}],\"spans\":[{\"offset\":208,\"length\":1}]},{\"rowIndex\":16,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,983,974,983,974,1023,287,1021]}],\"spans\":[{\"offset\":210,\"length\":12}]},{\"rowIndex\":16,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,983,1097,983,1097,1023,974,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,983,1192,983,1192,1023,1097,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,983,1408,983,1408,1023,1192,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,983,1624,983,1624,1023,1408,1023]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1021,167,1023,167,1061,50,1061]}],\"spans\":[{\"offset\":223,\"length\":1}]},{\"rowIndex\":17,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1023,287,1021,287,1061,167,1061]}],\"spans\":[{\"offset\":225,\"length\":1}]},{\"rowIndex\":17,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,1021,974,1023,974,1061,287,1061]}],\"spans\":[{\"offset\":227,\"length\":12}]},{\"rowIndex\":17,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1023,1097,1023,1097,1061,974,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1023,1192,1023,1192,1061,1097,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1023,1408,1023,1408,1060,1192,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1023,1624,1023,1624,1060,1408,1060]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1061,167,1061,167,1098,50,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1061,287,1061,285,1098,167,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,1061,974,1061,974,1098,285,1098]}],\"spans\":[{\"offset\":240,\"length\":11}]},{\"rowIndex\":18,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1061,1097,1061,1097,1098,974,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1061,1192,1061,1192,1098,1097,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1061,1408,1060,1408,1098,1192,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1060,1624,1060,1624,1100,1408,1098]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1098,167,1098,167,1138,50,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1098,285,1098,285,1137,167,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1098,974,1098,974,1138,285,1137]}],\"spans\":[{\"offset\":252,\"length\":11}]},{\"rowIndex\":19,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1098,1097,1098,1097,1138,974,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1098,1192,1098,1192,1138,1097,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1098,1408,1098,1408,1137,1192,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1098,1624,1100,1624,1138,1408,1137]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1138,167,1138,167,1177,50,1177]}],\"spans\":[{\"offset\":264,\"length\":1}]},{\"rowIndex\":20,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1138,285,1137,285,1177,167,1177]}],\"spans\":[{\"offset\":266,\"length\":1}]},{\"rowIndex\":20,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1137,974,1138,974,1177,285,1177]}],\"spans\":[{\"offset\":268,\"length\":12}]},{\"rowIndex\":20,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1138,1097,1138,1097,1177,974,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1138,1192,1138,1192,1177,1097,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1138,1408,1137,1408,1177,1192,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1137,1624,1138,1624,1177,1408,1177]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1177,167,1177,167,1216,50,1216]}],\"spans\":[{\"offset\":281,\"length\":1}]},{\"rowIndex\":21,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1177,285,1177,285,1216,167,1216]}],\"spans\":[{\"offset\":283,\"length\":1}]},{\"rowIndex\":21,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1177,974,1177,974,1217,285,1216]}],\"spans\":[{\"offset\":285,\"length\":12}]},{\"rowIndex\":21,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1177,1097,1177,1097,1217,974,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1177,1192,1177,1192,1217,1097,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1177,1408,1177,1408,1217,1192,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1177,1624,1177,1624,1217,1408,1217]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1216,167,1216,167,1256,49,1256]}],\"spans\":[{\"offset\":298,\"length\":1}]},{\"rowIndex\":22,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1216,285,1216,285,1256,167,1256]}],\"spans\":[{\"offset\":300,\"length\":1}]},{\"rowIndex\":22,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1216,974,1217,974,1256,285,1256]}],\"spans\":[{\"offset\":302,\"length\":12}]},{\"rowIndex\":22,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1217,1097,1217,1097,1256,974,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1217,1192,1217,1192,1256,1097,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1217,1408,1217,1408,1256,1192,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1217,1624,1217,1624,1256,1408,1256]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1256,167,1256,167,1294,49,1293]}],\"spans\":[{\"offset\":315,\"length\":1}]},{\"rowIndex\":23,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1256,285,1256,285,1293,167,1294]}],\"spans\":[{\"offset\":317,\"length\":1}]},{\"rowIndex\":23,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1256,974,1256,974,1294,285,1293]}],\"spans\":[{\"offset\":319,\"length\":12}]},{\"rowIndex\":23,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1256,1097,1256,1097,1294,974,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1256,1192,1256,1192,1294,1097,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1256,1408,1256,1408,1294,1192,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1256,1624,1256,1624,1294,1408,1294]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1293,167,1294,167,1333,49,1333]}],\"spans\":[{\"offset\":332,\"length\":1}]},{\"rowIndex\":24,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1294,285,1293,285,1333,167,1333]}],\"spans\":[{\"offset\":334,\"length\":1}]},{\"rowIndex\":24,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1293,974,1294,974,1333,285,1333]}],\"spans\":[{\"offset\":336,\"length\":12}]},{\"rowIndex\":24,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1294,1097,1294,1097,1333,974,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1294,1192,1294,1192,1333,1097,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1294,1408,1294,1408,1333,1192,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1294,1624,1294,1624,1333,1408,1333]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1333,167,1333,167,1371,49,1370]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1333,285,1333,285,1370,167,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1333,974,1333,974,1371,285,1370]}],\"spans\":[{\"offset\":349,\"length\":11}]},{\"rowIndex\":25,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1333,1097,1333,1097,1371,974,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1333,1192,1333,1192,1371,1097,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1333,1408,1333,1408,1371,1192,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1333,1624,1333,1624,1371,1408,1371]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1370,167,1371,167,1410,49,1410]}],\"spans\":[{\"offset\":361,\"length\":1}]},{\"rowIndex\":26,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1371,285,1370,285,1410,167,1410]}],\"spans\":[{\"offset\":363,\"length\":1}]},{\"rowIndex\":26,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1370,974,1371,974,1412,285,1410]}],\"spans\":[{\"offset\":365,\"length\":12}]},{\"rowIndex\":26,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1371,1097,1371,1097,1412,974,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1371,1192,1371,1192,1412,1097,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1371,1408,1371,1408,1410,1192,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1371,1624,1371,1624,1410,1408,1410]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1410,167,1410,167,1448,49,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1410,285,1410,285,1448,167,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1410,974,1412,974,1448,285,1448]}],\"spans\":[{\"offset\":378,\"length\":5}]},{\"rowIndex\":27,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1412,1097,1412,1097,1448,974,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1412,1192,1412,1192,1448,1097,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1412,1408,1410,1408,1448,1192,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1410,1624,1410,1624,1448,1408,1448]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1448,167,1448,167,1489,49,1489]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1448,285,1448,285,1490,167,1489]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1448,974,1448,974,1490,285,1490]}],\"spans\":[{\"offset\":384,\"length\":5}]},{\"rowIndex\":28,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1448,1097,1448,1097,1490,974,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1448,1192,1448,1192,1490,1097,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1448,1408,1448,1408,1490,1192,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1448,1624,1448,1624,1490,1408,1490]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1489,167,1489,165,1531,49,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1489,285,1490,285,1531,165,1531]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1490,974,1490,974,1532,285,1531]}],\"spans\":[{\"offset\":390,\"length\":5}]},{\"rowIndex\":29,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1490,1097,1490,1097,1532,974,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1490,1192,1490,1192,1532,1097,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1490,1408,1490,1408,1532,1192,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1490,1624,1490,1624,1532,1408,1532]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1532,165,1531,165,1571,49,1569]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1531,285,1531,285,1569,165,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1531,974,1532,974,1571,285,1569]}],\"spans\":[{\"offset\":396,\"length\":5}]},{\"rowIndex\":30,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1532,1097,1532,1097,1571,974,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1532,1192,1532,1192,1571,1097,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1532,1408,1532,1408,1571,1192,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1532,1624,1532,1624,1571,1408,1571]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1569,165,1571,165,1608,49,1608]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1571,285,1569,285,1608,165,1608]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1569,974,1571,974,1609,285,1608]}],\"spans\":[{\"offset\":402,\"length\":5}]},{\"rowIndex\":31,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1571,1097,1571,1097,1609,974,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1571,1192,1571,1191,1609,1097,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1571,1408,1571,1408,1609,1191,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1571,1624,1571,1624,1609,1408,1609]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1608,165,1608,165,1650,49,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1608,285,1608,284,1650,165,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1608,974,1609,974,1650,284,1650]}],\"spans\":[{\"offset\":408,\"length\":5}]},{\"rowIndex\":32,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1609,1097,1609,1097,1650,974,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1609,1191,1609,1191,1651,1097,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1609,1264,1609,1264,1651,1191,1651]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1264,1609,1408,1609,1408,1650,1264,1651]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1609,1624,1609,1624,1650,1408,1650]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1650,165,1650,165,1691,49,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1650,284,1650,284,1691,165,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1650,974,1650,974,1691,284,1691]}],\"spans\":[{\"offset\":414,\"length\":5}]},{\"rowIndex\":33,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1650,1097,1650,1097,1691,974,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1650,1191,1651,1191,1691,1097,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1651,1264,1651,1264,1691,1191,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1264,1651,1408,1650,1408,1691,1264,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1650,1624,1650,1624,1691,1408,1691]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1691,165,1691,165,1730,49,1730]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1691,284,1691,284,1730,165,1730]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1691,974,1691,974,1732,284,1730]}],\"spans\":[{\"offset\":420,\"length\":5}]},{\"rowIndex\":34,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1691,1097,1691,1097,1732,974,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1691,1191,1691,1191,1732,1097,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1691,1408,1691,1408,1732,1191,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1691,1624,1691,1624,1732,1408,1732]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1730,165,1730,165,1770,49,1770]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1730,284,1730,284,1770,165,1770]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1730,974,1732,974,1772,284,1770]}],\"spans\":[{\"offset\":426,\"length\":5}]},{\"rowIndex\":35,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1732,1097,1732,1097,1772,974,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1732,1191,1732,1191,1772,1097,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1732,1408,1732,1408,1770,1191,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1732,1624,1732,1624,1772,1408,1770]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1770,165,1770,165,1809,49,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1770,284,1770,284,1809,165,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1770,974,1772,974,1809,284,1809]}],\"spans\":[{\"offset\":432,\"length\":5}]},{\"rowIndex\":36,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1772,1097,1772,1097,1809,974,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1772,1191,1772,1191,1809,1097,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1772,1408,1770,1408,1809,1191,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1770,1624,1772,1624,1809,1408,1809]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1809,165,1809,165,1849,49,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1809,284,1809,284,1849,165,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1809,974,1809,974,1849,284,1849]}],\"spans\":[{\"offset\":438,\"length\":11}]},{\"rowIndex\":37,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1809,1097,1809,1097,1849,974,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1809,1191,1809,1191,1849,1097,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1809,1408,1809,1408,1849,1191,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1809,1624,1809,1624,1849,1408,1849]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1849,165,1849,165,1913,49,1913]}],\"spans\":[{\"offset\":450,\"length\":1}]},{\"rowIndex\":38,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1849,284,1849,284,1913,165,1913]}],\"spans\":[{\"offset\":452,\"length\":1}]},{\"rowIndex\":38,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1849,974,1849,974,1913,284,1913]}],\"spans\":[{\"offset\":454,\"length\":12}]},{\"rowIndex\":38,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1849,1097,1849,1097,1913,974,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1849,1191,1849,1191,1913,1097,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1849,1408,1849,1408,1913,1191,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1849,1624,1849,1624,1913,1408,1913]}],\"spans\":[]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[48,303,1622,306,1622,1938,47,1937]}],\"spans\":[{\"offset\":30,\"length\":436}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":177,\"length\":1},{\"offset\":300,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.5,\"spans\":[{\"offset\":208,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.8,\"spans\":[{\"offset\":266,\"length\":1},{\"offset\":334,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.7,\"spans\":[{\"offset\":283,\"length\":1},{\"offset\":450,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":317,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.4,\"spans\":[{\"offset\":363,\"length\":1}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1700,0,1700,2200,0,2200]}],\"fields\":{\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"92929292\",\"content\":\"92929292\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[222,163,358,162,358,185,222,187]}],\"confidence\":0.973,\"spans\":[{\"offset\":21,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,914,164,914,163,935,153,934]}],\"confidence\":0.042,\"spans\":[{\"offset\":177,\"length\":1}]},{\"type\":\"object\",\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[150,1031,163,1031,163,1051,150,1051]}],\"confidence\":0.088,\"spans\":[{\"offset\":223,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1146,164,1146,164,1167,153,1167]}],\"confidence\":0.067,\"spans\":[{\"offset\":264,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1183,164,1183,164,1206,152,1206]}],\"confidence\":0.027,\"spans\":[{\"offset\":281,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1222,163,1222,163,1245,152,1245]}],\"confidence\":0.037,\"spans\":[{\"offset\":298,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1305,163,1306,162,1319,153,1319]}],\"confidence\":0.028,\"spans\":[{\"offset\":332,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1381,164,1381,164,1397,152,1396]}],\"confidence\":0.043,\"spans\":[{\"offset\":361,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,1859,160,1858,162,1876,153,1877]}],\"confidence\":0.026,\"spans\":[{\"offset\":450,\"length\":1}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"TotalTax\":{\"type\":\"number\",\"valueNumber\":0,\"content\":\"$0.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1562,2052,1618,2052,1618,2074,1562,2074]}],\"confidence\":0.23,\"spans\":[{\"offset\":494,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":524}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/62a897e2-5e72-4ebb-99bb-824699b62ca5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "64b901db-ec44-4cc9-be48-3b5d38e4a9f0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "287", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "abff13c3-9b32-431d-b717-1ac5ff3757e6", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:04Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:08Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Invoice\\nDocument No. 92929292\\nOrdered Shipped\\nItem Number/Description\\nUnit Proce\\nDiscount\\nExtended\\nPrice\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\n1\\n1\\n6566565 unit\\nS/N: 656656\\n1\\n1\\n6566565 unit\\n2\\n2\\n6566565 unit\\nS/N: 656656\\nS/N: 656656\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\n1\\n1\\n6566565 unit\\nS/N: 656656\\n1\\n1\\n6566565 unit\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nWater\\nS/N: 656656\\n1\\n1\\n6566565 unit\\nSubtotal\\nTax\\nFreight\\nTotal\\n$0.00\\nPage 3 of 9\\n:unselected:\",\"pages\":[{\"pageNumber\":1,\"angle\":0.2076,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"words\":[{\"content\":\"Invoice\",\"boundingBox\":[52,61,254,58,254,110,52,109],\"confidence\":0.908,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Document\",\"boundingBox\":[52,166,159,164,159,188,53,189],\"confidence\":0.994,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"No.\",\"boundingBox\":[163,164,210,163,210,187,164,188],\"confidence\":0.997,\"span\":{\"offset\":17,\"length\":3}},{\"content\":\"92929292\",\"boundingBox\":[222,163,358,162,358,185,222,187],\"confidence\":0.959,\"span\":{\"offset\":21,\"length\":8}},{\"content\":\"Ordered\",\"boundingBox\":[58,362,141,361,141,384,58,383],\"confidence\":0.997,\"span\":{\"offset\":30,\"length\":7}},{\"content\":\"Shipped\",\"boundingBox\":[171,360,259,360,259,384,171,384],\"confidence\":0.994,\"span\":{\"offset\":38,\"length\":7}},{\"content\":\"Item\",\"boundingBox\":[318,361,354,360,354,382,318,381],\"confidence\":0.908,\"span\":{\"offset\":46,\"length\":4}},{\"content\":\"Number/Description\",\"boundingBox\":[365,360,580,360,580,385,365,382],\"confidence\":0.993,\"span\":{\"offset\":51,\"length\":18}},{\"content\":\"Unit\",\"boundingBox\":[966,361,1010,361,1010,381,966,381],\"confidence\":0.935,\"span\":{\"offset\":70,\"length\":4}},{\"content\":\"Proce\",\"boundingBox\":[1014,361,1077,361,1077,382,1014,381],\"confidence\":0.995,\"span\":{\"offset\":75,\"length\":5}},{\"content\":\"Discount\",\"boundingBox\":[1113,361,1214,361,1214,382,1113,381],\"confidence\":0.993,\"span\":{\"offset\":81,\"length\":8}},{\"content\":\"Extended\",\"boundingBox\":[1347,361,1443,361,1444,382,1347,381],\"confidence\":0.993,\"span\":{\"offset\":90,\"length\":8}},{\"content\":\"Price\",\"boundingBox\":[1390,394,1445,394,1444,415,1390,414],\"confidence\":0.994,\"span\":{\"offset\":99,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,431,368,433,368,455,288,453],\"confidence\":0.995,\"span\":{\"offset\":105,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,467,369,469,368,490,290,489],\"confidence\":0.993,\"span\":{\"offset\":111,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[290,513,369,516,369,538,289,536],\"confidence\":0.995,\"span\":{\"offset\":117,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,550,369,552,369,574,288,572],\"confidence\":0.995,\"span\":{\"offset\":123,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,591,368,593,367,615,290,613],\"confidence\":0.995,\"span\":{\"offset\":129,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,627,369,629,368,650,288,649],\"confidence\":0.995,\"span\":{\"offset\":135,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,673,370,676,369,698,288,696],\"confidence\":0.988,\"span\":{\"offset\":141,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,710,369,712,368,733,290,732],\"confidence\":0.995,\"span\":{\"offset\":147,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,753,367,756,367,777,288,775],\"confidence\":0.995,\"span\":{\"offset\":153,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[291,789,367,791,367,812,290,812],\"confidence\":0.995,\"span\":{\"offset\":159,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[290,836,368,839,367,860,290,858],\"confidence\":0.995,\"span\":{\"offset\":165,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[289,872,368,874,367,895,288,894],\"confidence\":0.995,\"span\":{\"offset\":171,\"length\":5}},{\"content\":\"1\",\"boundingBox\":[153,914,164,914,163,935,153,934],\"confidence\":0.993,\"span\":{\"offset\":177,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[270,915,279,915,279,932,270,932],\"confidence\":0.975,\"span\":{\"offset\":179,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[311,915,397,915,397,935,311,936],\"confidence\":0.994,\"span\":{\"offset\":181,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,915,449,916,448,936,405,935],\"confidence\":0.992,\"span\":{\"offset\":189,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[293,952,340,953,340,973,293,974],\"confidence\":0.988,\"span\":{\"offset\":194,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[348,953,427,953,427,973,348,973],\"confidence\":0.997,\"span\":{\"offset\":199,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[153,993,165,993,165,1015,153,1015],\"confidence\":0.988,\"span\":{\"offset\":206,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,993,278,993,278,1010,269,1010],\"confidence\":0.975,\"span\":{\"offset\":208,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[307,992,396,992,396,1014,308,1013],\"confidence\":0.994,\"span\":{\"offset\":210,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[403,992,447,993,447,1014,403,1014],\"confidence\":0.988,\"span\":{\"offset\":218,\"length\":4}},{\"content\":\"2\",\"boundingBox\":[150,1031,163,1031,163,1051,150,1051],\"confidence\":0.997,\"span\":{\"offset\":223,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[267,1032,280,1033,278,1052,266,1051],\"confidence\":0.996,\"span\":{\"offset\":225,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[309,1030,397,1031,396,1052,309,1051],\"confidence\":0.994,\"span\":{\"offset\":227,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,1031,448,1031,448,1052,405,1052],\"confidence\":0.992,\"span\":{\"offset\":235,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[291,1071,340,1070,340,1091,291,1091],\"confidence\":0.988,\"span\":{\"offset\":240,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[347,1070,426,1070,426,1090,347,1091],\"confidence\":0.997,\"span\":{\"offset\":245,\"length\":6}},{\"content\":\"S/N:\",\"boundingBox\":[291,1108,340,1108,340,1129,291,1129],\"confidence\":0.983,\"span\":{\"offset\":252,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[347,1108,426,1107,426,1128,347,1129],\"confidence\":0.997,\"span\":{\"offset\":257,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[153,1146,164,1146,164,1167,153,1167],\"confidence\":0.988,\"span\":{\"offset\":264,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,1146,278,1146,279,1163,269,1164],\"confidence\":0.988,\"span\":{\"offset\":266,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1148,393,1148,393,1169,307,1169],\"confidence\":0.994,\"span\":{\"offset\":268,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[402,1148,445,1148,445,1169,402,1169],\"confidence\":0.992,\"span\":{\"offset\":276,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[152,1183,164,1183,164,1206,152,1206],\"confidence\":0.994,\"span\":{\"offset\":281,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[269,1186,278,1186,278,1203,269,1203],\"confidence\":0.981,\"span\":{\"offset\":283,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[307,1186,395,1186,395,1207,308,1207],\"confidence\":0.994,\"span\":{\"offset\":285,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[403,1186,446,1186,447,1207,403,1207],\"confidence\":0.992,\"span\":{\"offset\":293,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[152,1222,163,1222,163,1245,152,1245],\"confidence\":0.983,\"span\":{\"offset\":298,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1224,278,1224,279,1241,269,1242],\"confidence\":0.973,\"span\":{\"offset\":300,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[310,1225,398,1225,397,1247,309,1247],\"confidence\":0.994,\"span\":{\"offset\":302,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[405,1225,447,1226,447,1247,404,1247],\"confidence\":0.992,\"span\":{\"offset\":310,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[151,1262,165,1262,165,1285,151,1285],\"confidence\":0.984,\"span\":{\"offset\":315,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1266,277,1267,276,1282,268,1281],\"confidence\":0.989,\"span\":{\"offset\":317,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[312,1263,399,1263,399,1285,312,1285],\"confidence\":0.994,\"span\":{\"offset\":319,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[406,1264,450,1264,449,1285,406,1285],\"confidence\":0.992,\"span\":{\"offset\":327,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[155,1305,163,1306,162,1319,153,1319],\"confidence\":0.993,\"span\":{\"offset\":332,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1305,277,1306,276,1320,268,1319],\"confidence\":0.981,\"span\":{\"offset\":334,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1303,395,1303,395,1324,307,1323],\"confidence\":0.993,\"span\":{\"offset\":336,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[404,1303,447,1303,447,1324,403,1324],\"confidence\":0.992,\"span\":{\"offset\":344,\"length\":4}},{\"content\":\"S/N:\",\"boundingBox\":[292,1342,341,1341,341,1362,292,1362],\"confidence\":0.988,\"span\":{\"offset\":349,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[348,1341,426,1340,426,1362,348,1362],\"confidence\":0.997,\"span\":{\"offset\":354,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[152,1381,164,1381,164,1397,152,1396],\"confidence\":0.985,\"span\":{\"offset\":361,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[268,1381,277,1381,277,1398,268,1398],\"confidence\":0.975,\"span\":{\"offset\":363,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[308,1379,397,1380,397,1401,308,1401],\"confidence\":0.993,\"span\":{\"offset\":365,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[404,1380,448,1380,448,1401,403,1401],\"confidence\":0.991,\"span\":{\"offset\":373,\"length\":4}},{\"content\":\"Water\",\"boundingBox\":[286,1419,365,1422,364,1443,285,1442],\"confidence\":0.995,\"span\":{\"offset\":378,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1456,364,1457,364,1479,285,1477],\"confidence\":0.995,\"span\":{\"offset\":384,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1502,365,1504,364,1525,285,1524],\"confidence\":0.995,\"span\":{\"offset\":390,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[287,1539,364,1541,364,1562,286,1561],\"confidence\":0.994,\"span\":{\"offset\":396,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1579,365,1581,365,1602,285,1601],\"confidence\":0.995,\"span\":{\"offset\":402,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[288,1616,365,1617,364,1639,287,1638],\"confidence\":0.995,\"span\":{\"offset\":408,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1663,365,1665,364,1686,286,1685],\"confidence\":0.995,\"span\":{\"offset\":414,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[287,1698,365,1700,365,1721,286,1720],\"confidence\":0.995,\"span\":{\"offset\":420,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[285,1741,364,1743,364,1765,285,1763],\"confidence\":0.995,\"span\":{\"offset\":426,\"length\":5}},{\"content\":\"Water\",\"boundingBox\":[286,1777,363,1779,363,1800,286,1799],\"confidence\":0.989,\"span\":{\"offset\":432,\"length\":5}},{\"content\":\"S/N:\",\"boundingBox\":[290,1819,336,1819,336,1841,290,1841],\"confidence\":0.991,\"span\":{\"offset\":438,\"length\":4}},{\"content\":\"656656\",\"boundingBox\":[345,1819,423,1820,423,1840,345,1841],\"confidence\":0.997,\"span\":{\"offset\":443,\"length\":6}},{\"content\":\"1\",\"boundingBox\":[151,1859,160,1858,162,1876,153,1877],\"confidence\":0.99,\"span\":{\"offset\":450,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[266,1858,277,1858,277,1876,266,1876],\"confidence\":0.984,\"span\":{\"offset\":452,\"length\":1}},{\"content\":\"6566565\",\"boundingBox\":[306,1859,393,1858,393,1879,306,1880],\"confidence\":0.994,\"span\":{\"offset\":454,\"length\":7}},{\"content\":\"unit\",\"boundingBox\":[400,1858,445,1859,445,1880,400,1880],\"confidence\":0.992,\"span\":{\"offset\":462,\"length\":4}},{\"content\":\"Subtotal\",\"boundingBox\":[1199,1928,1289,1929,1288,1949,1198,1950],\"confidence\":0.993,\"span\":{\"offset\":467,\"length\":8}},{\"content\":\"Tax\",\"boundingBox\":[1198,1970,1234,1970,1234,1990,1198,1989],\"confidence\":0.992,\"span\":{\"offset\":476,\"length\":3}},{\"content\":\"Freight\",\"boundingBox\":[1200,2010,1277,2011,1277,2035,1199,2034],\"confidence\":0.994,\"span\":{\"offset\":480,\"length\":7}},{\"content\":\"Total\",\"boundingBox\":[1198,2052,1253,2052,1252,2072,1198,2071],\"confidence\":0.995,\"span\":{\"offset\":488,\"length\":5}},{\"content\":\"$0.00\",\"boundingBox\":[1562,2052,1618,2052,1618,2074,1562,2074],\"confidence\":0.989,\"span\":{\"offset\":494,\"length\":5}},{\"content\":\"Page\",\"boundingBox\":[1506,2124,1556,2123,1556,2147,1506,2147],\"confidence\":0.992,\"span\":{\"offset\":500,\"length\":4}},{\"content\":\"3\",\"boundingBox\":[1560,2123,1574,2123,1574,2147,1561,2147],\"confidence\":0.995,\"span\":{\"offset\":505,\"length\":1}},{\"content\":\"of\",\"boundingBox\":[1579,2123,1598,2123,1599,2146,1579,2147],\"confidence\":0.988,\"span\":{\"offset\":507,\"length\":2}},{\"content\":\"9\",\"boundingBox\":[1603,2123,1618,2124,1619,2146,1603,2146],\"confidence\":0.969,\"span\":{\"offset\":510,\"length\":1}}],\"selectionMarks\":[{\"state\":\"unselected\",\"boundingBox\":[1405,1921,1647,1921,1647,1957,1405,1957],\"confidence\":0.251,\"span\":{\"offset\":512,\"length\":12}}],\"lines\":[{\"content\":\"Invoice\",\"boundingBox\":[52,59,265,57,265,109,52,110],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Document No. 92929292\",\"boundingBox\":[51,164,366,161,366,184,52,189],\"spans\":[{\"offset\":8,\"length\":21}]},{\"content\":\"Ordered Shipped\",\"boundingBox\":[57,360,263,360,264,383,57,384],\"spans\":[{\"offset\":30,\"length\":15}]},{\"content\":\"Item Number/Description\",\"boundingBox\":[318,360,585,360,585,384,318,382],\"spans\":[{\"offset\":46,\"length\":23}]},{\"content\":\"Unit Proce\",\"boundingBox\":[965,360,1082,361,1082,381,965,380],\"spans\":[{\"offset\":70,\"length\":10}]},{\"content\":\"Discount\",\"boundingBox\":[1111,360,1218,360,1218,381,1111,381],\"spans\":[{\"offset\":81,\"length\":8}]},{\"content\":\"Extended\",\"boundingBox\":[1346,360,1450,360,1450,381,1346,381],\"spans\":[{\"offset\":90,\"length\":8}]},{\"content\":\"Price\",\"boundingBox\":[1391,394,1449,394,1448,415,1390,414],\"spans\":[{\"offset\":99,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,431,375,433,375,454,288,452],\"spans\":[{\"offset\":105,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,466,376,468,375,490,290,489],\"spans\":[{\"offset\":111,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,513,375,515,374,537,289,535],\"spans\":[{\"offset\":117,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,549,374,551,373,574,288,571],\"spans\":[{\"offset\":123,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,590,374,593,374,615,289,612],\"spans\":[{\"offset\":129,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,626,375,628,374,650,288,649],\"spans\":[{\"offset\":135,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,673,375,675,375,698,288,695],\"spans\":[{\"offset\":141,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[289,710,376,711,375,733,289,731],\"spans\":[{\"offset\":147,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,752,374,755,373,776,288,774],\"spans\":[{\"offset\":153,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,788,375,790,374,813,290,811],\"spans\":[{\"offset\":159,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[290,836,373,838,373,859,289,857],\"spans\":[{\"offset\":165,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[288,872,374,873,373,895,288,893],\"spans\":[{\"offset\":171,\"length\":5}]},{\"content\":\"1\",\"boundingBox\":[154,914,165,915,164,935,153,935],\"spans\":[{\"offset\":177,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[270,915,279,915,280,932,270,932],\"spans\":[{\"offset\":179,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[310,914,449,914,449,935,310,935],\"spans\":[{\"offset\":181,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[292,952,432,952,432,972,292,973],\"spans\":[{\"offset\":194,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[153,993,165,993,165,1015,153,1015],\"spans\":[{\"offset\":206,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,993,279,993,279,1010,269,1010],\"spans\":[{\"offset\":208,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,992,447,992,447,1013,306,1012],\"spans\":[{\"offset\":210,\"length\":12}]},{\"content\":\"2\",\"boundingBox\":[151,1031,167,1031,167,1051,150,1051],\"spans\":[{\"offset\":223,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[267,1032,282,1033,281,1052,266,1051],\"spans\":[{\"offset\":225,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[309,1029,448,1030,448,1051,309,1051],\"spans\":[{\"offset\":227,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[290,1070,430,1069,430,1090,290,1091],\"spans\":[{\"offset\":240,\"length\":11}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[291,1108,430,1107,430,1127,291,1128],\"spans\":[{\"offset\":252,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[153,1146,165,1146,165,1167,153,1167],\"spans\":[{\"offset\":264,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1147,278,1146,279,1164,269,1164],\"spans\":[{\"offset\":266,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,1147,445,1147,445,1168,306,1168],\"spans\":[{\"offset\":268,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1183,164,1183,165,1206,153,1206],\"spans\":[{\"offset\":281,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1186,278,1186,279,1203,270,1203],\"spans\":[{\"offset\":283,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[307,1185,446,1185,446,1207,307,1206],\"spans\":[{\"offset\":285,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1222,163,1222,164,1245,153,1245],\"spans\":[{\"offset\":298,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1225,277,1224,279,1242,269,1242],\"spans\":[{\"offset\":300,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[309,1224,447,1225,447,1247,309,1246],\"spans\":[{\"offset\":302,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[151,1262,164,1262,165,1285,153,1285],\"spans\":[{\"offset\":315,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1266,280,1267,280,1282,269,1281],\"spans\":[{\"offset\":317,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[311,1263,449,1263,449,1285,311,1284],\"spans\":[{\"offset\":319,\"length\":12}]},{\"content\":\"1\",\"boundingBox\":[152,1305,166,1306,166,1320,152,1318],\"spans\":[{\"offset\":332,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[268,1305,279,1306,279,1320,268,1319],\"spans\":[{\"offset\":334,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[306,1302,447,1302,447,1323,306,1323],\"spans\":[{\"offset\":336,\"length\":12}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[291,1341,431,1340,432,1361,291,1362],\"spans\":[{\"offset\":349,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[152,1381,166,1382,166,1397,152,1397],\"spans\":[{\"offset\":361,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[269,1381,278,1381,277,1398,268,1398],\"spans\":[{\"offset\":363,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[307,1379,447,1379,447,1400,307,1400],\"spans\":[{\"offset\":365,\"length\":12}]},{\"content\":\"Water\",\"boundingBox\":[285,1419,372,1421,372,1443,285,1441],\"spans\":[{\"offset\":378,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1455,371,1456,371,1478,285,1476],\"spans\":[{\"offset\":384,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1501,371,1503,371,1525,284,1524],\"spans\":[{\"offset\":390,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1538,370,1540,370,1561,286,1560],\"spans\":[{\"offset\":396,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1578,371,1580,371,1602,285,1600],\"spans\":[{\"offset\":402,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1615,371,1617,370,1638,286,1637],\"spans\":[{\"offset\":408,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1662,371,1664,371,1686,286,1684],\"spans\":[{\"offset\":414,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[286,1698,372,1699,371,1721,285,1719],\"spans\":[{\"offset\":420,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[283,1741,369,1742,368,1764,283,1763],\"spans\":[{\"offset\":426,\"length\":5}]},{\"content\":\"Water\",\"boundingBox\":[285,1777,371,1778,370,1800,285,1799],\"spans\":[{\"offset\":432,\"length\":5}]},{\"content\":\"S/N: 656656\",\"boundingBox\":[289,1819,429,1819,429,1840,289,1840],\"spans\":[{\"offset\":438,\"length\":11}]},{\"content\":\"1\",\"boundingBox\":[151,1859,161,1858,162,1876,153,1877],\"spans\":[{\"offset\":450,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[266,1858,276,1858,277,1876,267,1876],\"spans\":[{\"offset\":452,\"length\":1}]},{\"content\":\"6566565 unit\",\"boundingBox\":[305,1858,445,1858,445,1879,305,1879],\"spans\":[{\"offset\":454,\"length\":12}]},{\"content\":\"Subtotal\",\"boundingBox\":[1198,1927,1289,1927,1289,1949,1198,1949],\"spans\":[{\"offset\":467,\"length\":8}]},{\"content\":\"Tax\",\"boundingBox\":[1199,1970,1237,1970,1237,1990,1198,1989],\"spans\":[{\"offset\":476,\"length\":3}]},{\"content\":\"Freight\",\"boundingBox\":[1199,2010,1278,2011,1277,2034,1199,2033],\"spans\":[{\"offset\":480,\"length\":7}]},{\"content\":\"Total\",\"boundingBox\":[1198,2052,1253,2053,1253,2072,1198,2072],\"spans\":[{\"offset\":488,\"length\":5}]},{\"content\":\"$0.00\",\"boundingBox\":[1562,2053,1620,2052,1620,2074,1562,2074],\"spans\":[{\"offset\":494,\"length\":5}]},{\"content\":\"Page 3 of 9\",\"boundingBox\":[1505,2123,1623,2123,1623,2146,1505,2146],\"spans\":[{\"offset\":500,\"length\":11}]}],\"spans\":[{\"offset\":0,\"length\":524}]}],\"tables\":[{\"rowCount\":4,\"columnCount\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"Subtotal :unselected:\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1913,1624,1914,1625,1955,1192,1954]}],\"spans\":[{\"offset\":467,\"length\":8},{\"offset\":512,\"length\":12}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Tax\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1954,1408,1955,1408,1995,1192,1996]}],\"spans\":[{\"offset\":476,\"length\":3}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1955,1625,1955,1625,1996,1408,1995]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Freight\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1996,1408,1995,1408,2037,1192,2036]}],\"spans\":[{\"offset\":480,\"length\":7}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1995,1625,1996,1625,2037,1408,2037]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Total\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,2036,1408,2037,1408,2079,1192,2078]}],\"spans\":[{\"offset\":488,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"$0.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,2037,1625,2037,1625,2079,1408,2079]}],\"spans\":[{\"offset\":494,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1913,1627,1912,1627,2082,1192,2083]}],\"spans\":[{\"offset\":467,\"length\":32},{\"offset\":512,\"length\":12}]},{\"rowCount\":39,\"columnCount\":8,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Ordered\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,346,169,344,169,384,52,386]}],\"spans\":[{\"offset\":30,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Shipped\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,344,289,344,289,384,169,384]}],\"spans\":[{\"offset\":38,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Item Number/Description\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,344,974,344,974,384,289,384]}],\"spans\":[{\"offset\":46,\"length\":23}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Unit Proce\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,344,1097,344,1097,384,974,384]}],\"spans\":[{\"offset\":70,\"length\":10}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Discount\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,344,1194,344,1194,384,1097,384]}],\"spans\":[{\"offset\":81,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,344,1273,344,1273,384,1194,384]}],\"spans\":[]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Extended\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1273,344,1409,344,1409,384,1273,384]}],\"spans\":[{\"offset\":90,\"length\":8}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,344,1624,344,1624,384,1409,384]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,386,169,384,169,421,52,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,384,289,384,289,421,169,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,384,974,384,974,421,289,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,384,1097,384,1097,421,974,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,384,1194,384,1194,421,1097,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,384,1273,384,1271,421,1194,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1273,384,1409,384,1409,423,1271,421]}],\"spans\":[]},{\"rowIndex\":1,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Price\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,384,1624,384,1624,423,1409,423]}],\"spans\":[{\"offset\":99,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,421,169,421,169,461,52,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,421,289,421,289,460,169,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,421,974,421,974,461,289,460]}],\"spans\":[{\"offset\":105,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,421,1097,421,1097,461,974,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,421,1194,421,1194,461,1097,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,421,1271,421,1271,461,1194,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,421,1409,423,1409,460,1271,461]}],\"spans\":[]},{\"rowIndex\":2,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,423,1624,423,1624,461,1409,460]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,461,169,461,169,502,52,502]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,461,289,460,287,502,169,502]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[289,460,974,461,974,503,287,502]}],\"spans\":[{\"offset\":111,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,461,1097,461,1097,503,974,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,461,1194,461,1194,503,1097,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,461,1271,461,1271,503,1194,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,461,1409,460,1409,503,1271,503]}],\"spans\":[]},{\"rowIndex\":3,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,460,1624,461,1624,503,1409,503]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,502,169,502,169,544,52,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,502,287,502,287,544,169,544]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,502,974,503,974,545,287,544]}],\"spans\":[{\"offset\":117,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,503,1097,503,1097,545,974,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,503,1194,503,1194,545,1097,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,503,1271,503,1271,545,1194,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,503,1409,503,1409,545,1271,545]}],\"spans\":[]},{\"rowIndex\":4,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,503,1624,503,1624,545,1409,545]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[52,545,169,544,169,582,50,582]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,544,287,544,287,582,169,582]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,544,974,545,974,584,287,582]}],\"spans\":[{\"offset\":123,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,545,1097,545,1097,584,974,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,545,1194,545,1194,584,1097,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,545,1271,545,1271,584,1194,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,545,1409,545,1409,584,1271,584]}],\"spans\":[]},{\"rowIndex\":5,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,545,1624,545,1624,584,1409,584]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,582,169,582,169,621,50,621]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,582,287,582,287,621,169,621]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,582,974,584,974,622,287,621]}],\"spans\":[{\"offset\":129,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,584,1097,584,1097,622,974,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,584,1194,584,1194,622,1097,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,584,1271,584,1271,622,1194,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,584,1409,584,1409,622,1271,622]}],\"spans\":[]},{\"rowIndex\":6,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,584,1624,584,1624,622,1409,622]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,621,169,621,169,663,50,663]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,621,287,621,287,663,169,663]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,621,974,622,974,664,287,663]}],\"spans\":[{\"offset\":135,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,622,1097,622,1097,664,974,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,622,1194,622,1192,664,1097,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1194,622,1271,622,1271,664,1192,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,622,1409,622,1409,664,1271,664]}],\"spans\":[]},{\"rowIndex\":7,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,622,1624,622,1624,663,1409,664]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,663,169,663,169,704,50,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,663,287,663,287,704,169,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,663,974,664,974,704,287,704]}],\"spans\":[{\"offset\":141,\"length\":5}]},{\"rowIndex\":8,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,664,1097,664,1097,704,974,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,664,1192,664,1192,706,1097,704]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,664,1271,664,1269,706,1192,706]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1271,664,1409,664,1409,704,1269,706]}],\"spans\":[]},{\"rowIndex\":8,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,664,1624,663,1624,704,1409,704]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,704,169,704,169,743,50,743]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,704,287,704,287,743,169,743]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,704,974,704,974,745,287,743]}],\"spans\":[{\"offset\":147,\"length\":5}]},{\"rowIndex\":9,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,704,1097,704,1097,745,974,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,704,1192,706,1192,745,1097,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,706,1409,704,1409,745,1192,745]}],\"spans\":[]},{\"rowIndex\":9,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,704,1624,704,1624,743,1409,745]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,743,169,743,169,783,50,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,743,287,743,287,783,169,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,743,974,745,974,783,287,783]}],\"spans\":[{\"offset\":153,\"length\":5}]},{\"rowIndex\":10,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,745,1097,745,1097,783,974,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,745,1192,745,1192,783,1097,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,745,1409,745,1409,783,1192,783]}],\"spans\":[]},{\"rowIndex\":10,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,745,1624,743,1624,783,1409,783]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,783,169,783,169,823,50,823]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,783,287,783,287,823,169,823]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,783,974,783,974,825,287,823]}],\"spans\":[{\"offset\":159,\"length\":5}]},{\"rowIndex\":11,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,783,1097,783,1097,825,974,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,783,1192,783,1192,825,1097,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,783,1409,783,1409,825,1192,825]}],\"spans\":[]},{\"rowIndex\":11,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,783,1624,783,1624,825,1409,825]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,823,169,823,169,865,50,865]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,823,287,823,287,865,169,865]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,823,974,825,974,867,287,865]}],\"spans\":[{\"offset\":165,\"length\":5}]},{\"rowIndex\":12,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,825,1097,825,1097,867,974,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,825,1192,825,1192,867,1097,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,825,1409,825,1408,865,1192,867]}],\"spans\":[]},{\"rowIndex\":12,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1409,825,1624,825,1624,865,1408,865]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,865,169,865,167,904,50,904]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[169,865,287,865,287,904,167,904]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,865,974,867,974,906,287,904]}],\"spans\":[{\"offset\":171,\"length\":5}]},{\"rowIndex\":13,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,867,1097,867,1097,906,974,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,867,1192,867,1192,906,1097,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,867,1408,865,1408,904,1192,906]}],\"spans\":[]},{\"rowIndex\":13,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,865,1624,865,1624,904,1408,904]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,904,167,904,167,944,50,944]}],\"spans\":[{\"offset\":177,\"length\":1}]},{\"rowIndex\":14,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,904,287,904,287,944,167,944]}],\"spans\":[{\"offset\":179,\"length\":1}]},{\"rowIndex\":14,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,904,974,906,974,944,287,944]}],\"spans\":[{\"offset\":181,\"length\":12}]},{\"rowIndex\":14,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,906,1097,906,1097,944,974,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,906,1192,906,1192,944,1097,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,906,1408,904,1408,944,1192,944]}],\"spans\":[]},{\"rowIndex\":14,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,904,1624,904,1624,944,1408,944]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,944,167,944,167,983,50,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,944,287,944,287,983,167,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,944,974,944,974,983,287,983]}],\"spans\":[{\"offset\":194,\"length\":11}]},{\"rowIndex\":15,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,944,1097,944,1097,983,974,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,944,1192,944,1192,983,1097,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,944,1408,944,1408,983,1192,983]}],\"spans\":[]},{\"rowIndex\":15,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,944,1624,944,1624,983,1408,983]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,983,167,983,167,1023,50,1021]}],\"spans\":[{\"offset\":206,\"length\":1}]},{\"rowIndex\":16,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,983,287,983,287,1021,167,1023]}],\"spans\":[{\"offset\":208,\"length\":1}]},{\"rowIndex\":16,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,983,974,983,974,1023,287,1021]}],\"spans\":[{\"offset\":210,\"length\":12}]},{\"rowIndex\":16,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,983,1097,983,1097,1023,974,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,983,1192,983,1192,1023,1097,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,983,1408,983,1408,1023,1192,1023]}],\"spans\":[]},{\"rowIndex\":16,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,983,1624,983,1624,1023,1408,1023]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1021,167,1023,167,1061,50,1061]}],\"spans\":[{\"offset\":223,\"length\":1}]},{\"rowIndex\":17,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1023,287,1021,287,1061,167,1061]}],\"spans\":[{\"offset\":225,\"length\":1}]},{\"rowIndex\":17,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,1021,974,1023,974,1061,287,1061]}],\"spans\":[{\"offset\":227,\"length\":12}]},{\"rowIndex\":17,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1023,1097,1023,1097,1061,974,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1023,1192,1023,1192,1061,1097,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1023,1408,1023,1408,1060,1192,1061]}],\"spans\":[]},{\"rowIndex\":17,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1023,1624,1023,1624,1060,1408,1060]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1061,167,1061,167,1098,50,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1061,287,1061,285,1098,167,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[287,1061,974,1061,974,1098,285,1098]}],\"spans\":[{\"offset\":240,\"length\":11}]},{\"rowIndex\":18,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1061,1097,1061,1097,1098,974,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1061,1192,1061,1192,1098,1097,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1061,1408,1060,1408,1098,1192,1098]}],\"spans\":[]},{\"rowIndex\":18,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1060,1624,1060,1624,1100,1408,1098]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1098,167,1098,167,1138,50,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1098,285,1098,285,1137,167,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1098,974,1098,974,1138,285,1137]}],\"spans\":[{\"offset\":252,\"length\":11}]},{\"rowIndex\":19,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1098,1097,1098,1097,1138,974,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1098,1192,1098,1192,1138,1097,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1098,1408,1098,1408,1137,1192,1138]}],\"spans\":[]},{\"rowIndex\":19,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1098,1624,1100,1624,1138,1408,1137]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1138,167,1138,167,1177,50,1177]}],\"spans\":[{\"offset\":264,\"length\":1}]},{\"rowIndex\":20,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1138,285,1137,285,1177,167,1177]}],\"spans\":[{\"offset\":266,\"length\":1}]},{\"rowIndex\":20,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1137,974,1138,974,1177,285,1177]}],\"spans\":[{\"offset\":268,\"length\":12}]},{\"rowIndex\":20,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1138,1097,1138,1097,1177,974,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1138,1192,1138,1192,1177,1097,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1138,1408,1137,1408,1177,1192,1177]}],\"spans\":[]},{\"rowIndex\":20,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1137,1624,1138,1624,1177,1408,1177]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1177,167,1177,167,1216,50,1216]}],\"spans\":[{\"offset\":281,\"length\":1}]},{\"rowIndex\":21,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1177,285,1177,285,1216,167,1216]}],\"spans\":[{\"offset\":283,\"length\":1}]},{\"rowIndex\":21,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1177,974,1177,974,1217,285,1216]}],\"spans\":[{\"offset\":285,\"length\":12}]},{\"rowIndex\":21,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1177,1097,1177,1097,1217,974,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1177,1192,1177,1192,1217,1097,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1177,1408,1177,1408,1217,1192,1217]}],\"spans\":[]},{\"rowIndex\":21,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1177,1624,1177,1624,1217,1408,1217]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[50,1216,167,1216,167,1256,49,1256]}],\"spans\":[{\"offset\":298,\"length\":1}]},{\"rowIndex\":22,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1216,285,1216,285,1256,167,1256]}],\"spans\":[{\"offset\":300,\"length\":1}]},{\"rowIndex\":22,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1216,974,1217,974,1256,285,1256]}],\"spans\":[{\"offset\":302,\"length\":12}]},{\"rowIndex\":22,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1217,1097,1217,1097,1256,974,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1217,1192,1217,1192,1256,1097,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1217,1408,1217,1408,1256,1192,1256]}],\"spans\":[]},{\"rowIndex\":22,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1217,1624,1217,1624,1256,1408,1256]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1256,167,1256,167,1294,49,1293]}],\"spans\":[{\"offset\":315,\"length\":1}]},{\"rowIndex\":23,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1256,285,1256,285,1293,167,1294]}],\"spans\":[{\"offset\":317,\"length\":1}]},{\"rowIndex\":23,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1256,974,1256,974,1294,285,1293]}],\"spans\":[{\"offset\":319,\"length\":12}]},{\"rowIndex\":23,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1256,1097,1256,1097,1294,974,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1256,1192,1256,1192,1294,1097,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1256,1408,1256,1408,1294,1192,1294]}],\"spans\":[]},{\"rowIndex\":23,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1256,1624,1256,1624,1294,1408,1294]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1293,167,1294,167,1333,49,1333]}],\"spans\":[{\"offset\":332,\"length\":1}]},{\"rowIndex\":24,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1294,285,1293,285,1333,167,1333]}],\"spans\":[{\"offset\":334,\"length\":1}]},{\"rowIndex\":24,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1293,974,1294,974,1333,285,1333]}],\"spans\":[{\"offset\":336,\"length\":12}]},{\"rowIndex\":24,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1294,1097,1294,1097,1333,974,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1294,1192,1294,1192,1333,1097,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1294,1408,1294,1408,1333,1192,1333]}],\"spans\":[]},{\"rowIndex\":24,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1294,1624,1294,1624,1333,1408,1333]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1333,167,1333,167,1371,49,1370]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1333,285,1333,285,1370,167,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1333,974,1333,974,1371,285,1370]}],\"spans\":[{\"offset\":349,\"length\":11}]},{\"rowIndex\":25,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1333,1097,1333,1097,1371,974,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1333,1192,1333,1192,1371,1097,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1333,1408,1333,1408,1371,1192,1371]}],\"spans\":[]},{\"rowIndex\":25,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1333,1624,1333,1624,1371,1408,1371]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1370,167,1371,167,1410,49,1410]}],\"spans\":[{\"offset\":361,\"length\":1}]},{\"rowIndex\":26,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1371,285,1370,285,1410,167,1410]}],\"spans\":[{\"offset\":363,\"length\":1}]},{\"rowIndex\":26,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1370,974,1371,974,1412,285,1410]}],\"spans\":[{\"offset\":365,\"length\":12}]},{\"rowIndex\":26,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1371,1097,1371,1097,1412,974,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1371,1192,1371,1192,1412,1097,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1371,1408,1371,1408,1410,1192,1412]}],\"spans\":[]},{\"rowIndex\":26,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1371,1624,1371,1624,1410,1408,1410]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1410,167,1410,167,1448,49,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1410,285,1410,285,1448,167,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1410,974,1412,974,1448,285,1448]}],\"spans\":[{\"offset\":378,\"length\":5}]},{\"rowIndex\":27,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1412,1097,1412,1097,1448,974,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1412,1192,1412,1192,1448,1097,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1412,1408,1410,1408,1448,1192,1448]}],\"spans\":[]},{\"rowIndex\":27,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1410,1624,1410,1624,1448,1408,1448]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1448,167,1448,167,1489,49,1489]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1448,285,1448,285,1490,167,1489]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1448,974,1448,974,1490,285,1490]}],\"spans\":[{\"offset\":384,\"length\":5}]},{\"rowIndex\":28,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1448,1097,1448,1097,1490,974,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1448,1192,1448,1192,1490,1097,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1448,1408,1448,1408,1490,1192,1490]}],\"spans\":[]},{\"rowIndex\":28,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1448,1624,1448,1624,1490,1408,1490]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1489,167,1489,165,1531,49,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[167,1489,285,1490,285,1531,165,1531]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1490,974,1490,974,1532,285,1531]}],\"spans\":[{\"offset\":390,\"length\":5}]},{\"rowIndex\":29,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1490,1097,1490,1097,1532,974,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1490,1192,1490,1192,1532,1097,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1490,1408,1490,1408,1532,1192,1532]}],\"spans\":[]},{\"rowIndex\":29,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1490,1624,1490,1624,1532,1408,1532]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1532,165,1531,165,1571,49,1569]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1531,285,1531,285,1569,165,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1531,974,1532,974,1571,285,1569]}],\"spans\":[{\"offset\":396,\"length\":5}]},{\"rowIndex\":30,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1532,1097,1532,1097,1571,974,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1532,1192,1532,1192,1571,1097,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1532,1408,1532,1408,1571,1192,1571]}],\"spans\":[]},{\"rowIndex\":30,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1532,1624,1532,1624,1571,1408,1571]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1569,165,1571,165,1608,49,1608]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1571,285,1569,285,1608,165,1608]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1569,974,1571,974,1609,285,1608]}],\"spans\":[{\"offset\":402,\"length\":5}]},{\"rowIndex\":31,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1571,1097,1571,1097,1609,974,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1571,1192,1571,1191,1609,1097,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1192,1571,1408,1571,1408,1609,1191,1609]}],\"spans\":[]},{\"rowIndex\":31,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1571,1624,1571,1624,1609,1408,1609]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1608,165,1608,165,1650,49,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1608,285,1608,284,1650,165,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[285,1608,974,1609,974,1650,284,1650]}],\"spans\":[{\"offset\":408,\"length\":5}]},{\"rowIndex\":32,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1609,1097,1609,1097,1650,974,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1609,1191,1609,1191,1651,1097,1650]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1609,1264,1609,1264,1651,1191,1651]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1264,1609,1408,1609,1408,1650,1264,1651]}],\"spans\":[]},{\"rowIndex\":32,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1609,1624,1609,1624,1650,1408,1650]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1650,165,1650,165,1691,49,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1650,284,1650,284,1691,165,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1650,974,1650,974,1691,284,1691]}],\"spans\":[{\"offset\":414,\"length\":5}]},{\"rowIndex\":33,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1650,1097,1650,1097,1691,974,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1650,1191,1651,1191,1691,1097,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1651,1264,1651,1264,1691,1191,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":6,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1264,1651,1408,1650,1408,1691,1264,1691]}],\"spans\":[]},{\"rowIndex\":33,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1650,1624,1650,1624,1691,1408,1691]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1691,165,1691,165,1730,49,1730]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1691,284,1691,284,1730,165,1730]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1691,974,1691,974,1732,284,1730]}],\"spans\":[{\"offset\":420,\"length\":5}]},{\"rowIndex\":34,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1691,1097,1691,1097,1732,974,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1691,1191,1691,1191,1732,1097,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1691,1408,1691,1408,1732,1191,1732]}],\"spans\":[]},{\"rowIndex\":34,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1691,1624,1691,1624,1732,1408,1732]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1730,165,1730,165,1770,49,1770]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1730,284,1730,284,1770,165,1770]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1730,974,1732,974,1772,284,1770]}],\"spans\":[{\"offset\":426,\"length\":5}]},{\"rowIndex\":35,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1732,1097,1732,1097,1772,974,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1732,1191,1732,1191,1772,1097,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1732,1408,1732,1408,1770,1191,1772]}],\"spans\":[]},{\"rowIndex\":35,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1732,1624,1732,1624,1772,1408,1770]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1770,165,1770,165,1809,49,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1770,284,1770,284,1809,165,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Water\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1770,974,1772,974,1809,284,1809]}],\"spans\":[{\"offset\":432,\"length\":5}]},{\"rowIndex\":36,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1772,1097,1772,1097,1809,974,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1772,1191,1772,1191,1809,1097,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1772,1408,1770,1408,1809,1191,1809]}],\"spans\":[]},{\"rowIndex\":36,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1770,1624,1772,1624,1809,1408,1809]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1809,165,1809,165,1849,49,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1809,284,1809,284,1849,165,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"S/N: 656656\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1809,974,1809,974,1849,284,1849]}],\"spans\":[{\"offset\":438,\"length\":11}]},{\"rowIndex\":37,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1809,1097,1809,1097,1849,974,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1809,1191,1809,1191,1849,1097,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1809,1408,1809,1408,1849,1191,1849]}],\"spans\":[]},{\"rowIndex\":37,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1809,1624,1809,1624,1849,1408,1849]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[49,1849,165,1849,165,1913,49,1913]}],\"spans\":[{\"offset\":450,\"length\":1}]},{\"rowIndex\":38,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[165,1849,284,1849,284,1913,165,1913]}],\"spans\":[{\"offset\":452,\"length\":1}]},{\"rowIndex\":38,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6566565 unit\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[284,1849,974,1849,974,1913,284,1913]}],\"spans\":[{\"offset\":454,\"length\":12}]},{\"rowIndex\":38,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[974,1849,1097,1849,1097,1913,974,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1097,1849,1191,1849,1191,1913,1097,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":5,\"rowSpan\":1,\"columnSpan\":2,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1191,1849,1408,1849,1408,1913,1191,1913]}],\"spans\":[]},{\"rowIndex\":38,\"columnIndex\":7,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1408,1849,1624,1849,1624,1913,1408,1913]}],\"spans\":[]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[48,303,1622,306,1622,1938,47,1937]}],\"spans\":[{\"offset\":30,\"length\":436}]}],\"styles\":[{\"isHandwritten\":true,\"confidence\":0.9,\"spans\":[{\"offset\":177,\"length\":1},{\"offset\":300,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.5,\"spans\":[{\"offset\":208,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.8,\"spans\":[{\"offset\":266,\"length\":1},{\"offset\":334,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.7,\"spans\":[{\"offset\":283,\"length\":1},{\"offset\":450,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.95,\"spans\":[{\"offset\":317,\"length\":1}]},{\"isHandwritten\":true,\"confidence\":0.4,\"spans\":[{\"offset\":363,\"length\":1}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,1700,0,1700,2200,0,2200]}],\"fields\":{\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"92929292\",\"content\":\"92929292\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[222,163,358,162,358,185,222,187]}],\"confidence\":0.973,\"spans\":[{\"offset\":21,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,914,164,914,163,935,153,934]}],\"confidence\":0.042,\"spans\":[{\"offset\":177,\"length\":1}]},{\"type\":\"object\",\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[150,1031,163,1031,163,1051,150,1051]}],\"confidence\":0.088,\"spans\":[{\"offset\":223,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[153,1146,164,1146,164,1167,153,1167]}],\"confidence\":0.067,\"spans\":[{\"offset\":264,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1183,164,1183,164,1206,152,1206]}],\"confidence\":0.027,\"spans\":[{\"offset\":281,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1222,163,1222,163,1245,152,1245]}],\"confidence\":0.037,\"spans\":[{\"offset\":298,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[155,1305,163,1306,162,1319,153,1319]}],\"confidence\":0.028,\"spans\":[{\"offset\":332,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[152,1381,164,1381,164,1397,152,1396]}],\"confidence\":0.043,\"spans\":[{\"offset\":361,\"length\":1}]},{\"type\":\"object\",\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[151,1859,160,1858,162,1876,153,1877]}],\"confidence\":0.026,\"spans\":[{\"offset\":450,\"length\":1}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"TotalTax\":{\"type\":\"number\",\"valueNumber\":0,\"content\":\"$0.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1562,2052,1618,2052,1618,2074,1562,2074]}],\"confidence\":0.23,\"spans\":[{\"offset\":494,\"length\":5}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":524}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceValidLocale[1].json new file mode 100644 index 0000000000000..65f36d2dab2d6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.invoiceValidLocale[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cf0cf4fa-cfc9-4dd4-8461-8db438638f0f", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "324", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "712a2c21-2ac6-4d62-be09-0cb9094c041c", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/712a2c21-2ac6-4d62-be09-0cb9094c041c?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:53:39 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/712a2c21-2ac6-4d62-be09-0cb9094c041c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ef1292b6-c830-4406-ad5d-8284c435e6e6" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "141", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fe01377c-8e4f-41fb-8efa-c4d958e60df0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:39Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:42Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:44 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-invoice/analyzeResults/712a2c21-2ac6-4d62-be09-0cb9094c041c?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c2aff45d-8f6b-40e0-8fab-b9fa4652667c" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "134", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "96b0643a-e90c-402a-91ff-597896241d84", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:53:39Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:53:42Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-invoice\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Contoso\\nAddress:\\nInvoice For: Microsoft\\n1 Redmond way Suite\\n1020 Enterprise Way\\n6000 Redmond, WA\\nSunnayvale, CA 87659\\n99243\\nInvoice Number\\nInvoice Date\\nInvoice Due Date\\nCharges\\nVAT ID\\n34278587\\n6/18/2017\\n6/24/2017\\n$56,651.49\\nPT\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1,\"span\":{\"offset\":0,\"length\":7}},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1,\"span\":{\"offset\":8,\"length\":8}},{\"content\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1,\"span\":{\"offset\":17,\"length\":7}},{\"content\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1,\"span\":{\"offset\":25,\"length\":4}},{\"content\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1,\"span\":{\"offset\":30,\"length\":9}},{\"content\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1,\"span\":{\"offset\":40,\"length\":1}},{\"content\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1,\"span\":{\"offset\":42,\"length\":7}},{\"content\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1,\"span\":{\"offset\":50,\"length\":3}},{\"content\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1,\"span\":{\"offset\":54,\"length\":5}},{\"content\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1,\"span\":{\"offset\":60,\"length\":4}},{\"content\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1,\"span\":{\"offset\":65,\"length\":10}},{\"content\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1,\"span\":{\"offset\":76,\"length\":3}},{\"content\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1,\"span\":{\"offset\":80,\"length\":4}},{\"content\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1,\"span\":{\"offset\":85,\"length\":8}},{\"content\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1,\"span\":{\"offset\":94,\"length\":2}},{\"content\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1,\"span\":{\"offset\":97,\"length\":11}},{\"content\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1,\"span\":{\"offset\":109,\"length\":2}},{\"content\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1,\"span\":{\"offset\":112,\"length\":5}},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1,\"span\":{\"offset\":118,\"length\":5}},{\"content\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1,\"span\":{\"offset\":124,\"length\":7}},{\"content\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1,\"span\":{\"offset\":132,\"length\":6}},{\"content\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1,\"span\":{\"offset\":139,\"length\":7}},{\"content\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1,\"span\":{\"offset\":147,\"length\":4}},{\"content\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1,\"span\":{\"offset\":152,\"length\":7}},{\"content\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1,\"span\":{\"offset\":160,\"length\":3}},{\"content\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1,\"span\":{\"offset\":164,\"length\":4}},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1,\"span\":{\"offset\":169,\"length\":7}},{\"content\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1,\"span\":{\"offset\":177,\"length\":3}},{\"content\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1,\"span\":{\"offset\":181,\"length\":2}},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1,\"span\":{\"offset\":184,\"length\":8}},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1,\"span\":{\"offset\":193,\"length\":9}},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1,\"span\":{\"offset\":203,\"length\":9}},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1,\"span\":{\"offset\":213,\"length\":10}},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1,\"span\":{\"offset\":224,\"length\":2}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"spans\":[{\"offset\":0,\"length\":7}]},{\"content\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"spans\":[{\"offset\":8,\"length\":8}]},{\"content\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"spans\":[{\"offset\":17,\"length\":22}]},{\"content\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"spans\":[{\"offset\":40,\"length\":19}]},{\"content\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"spans\":[{\"offset\":60,\"length\":19}]},{\"content\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"spans\":[{\"offset\":80,\"length\":16}]},{\"content\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"spans\":[{\"offset\":97,\"length\":20}]},{\"content\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"spans\":[{\"offset\":118,\"length\":5}]},{\"content\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"spans\":[{\"offset\":124,\"length\":14}]},{\"content\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"spans\":[{\"offset\":139,\"length\":12}]},{\"content\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"spans\":[{\"offset\":152,\"length\":16}]},{\"content\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"spans\":[{\"offset\":169,\"length\":7}]},{\"content\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"spans\":[{\"offset\":177,\"length\":6}]},{\"content\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"spans\":[{\"offset\":184,\"length\":8}]},{\"content\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"spans\":[{\"offset\":193,\"length\":9}]},{\"content\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"spans\":[{\"offset\":203,\"length\":9}]},{\"content\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"spans\":[{\"offset\":213,\"length\":10}]},{\"content\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"spans\":[{\"offset\":224,\"length\":2}]}],\"spans\":[{\"offset\":0,\"length\":226}]}],\"tables\":[{\"rowCount\":3,\"columnCount\":5,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Number\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.497,2.7887,1.9036,2.7887,1.8965,3.3133,0.5041,3.3133]}],\"spans\":[{\"offset\":124,\"length\":14}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9036,2.7887,3.296,2.7887,3.3031,3.3205,1.8965,3.3133]}],\"spans\":[{\"offset\":139,\"length\":12}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Invoice Due Date\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.296,2.7887,4.7026,2.7887,4.7026,3.3205,3.3031,3.3205]}],\"spans\":[{\"offset\":152,\"length\":16}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":3,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Charges\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,2.7887,6.1021,2.7887,6.1021,3.3133,4.7026,3.3205]}],\"spans\":[{\"offset\":169,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":4,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"VAT ID\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,2.7887,7.4945,2.7887,7.4945,3.3133,6.1021,3.3133]}],\"spans\":[{\"offset\":177,\"length\":6}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5041,3.3133,1.8965,3.3133,1.8965,3.8523,0.5113,3.8523]}],\"spans\":[{\"offset\":184,\"length\":8}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.8965,3.3133,3.3031,3.3205,3.3031,3.8523,1.8965,3.8523]}],\"spans\":[{\"offset\":193,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.3031,3.3205,4.7026,3.3205,4.7026,3.8523,3.3031,3.8523]}],\"spans\":[{\"offset\":203,\"length\":9}]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[4.7026,3.3205,6.1021,3.3133,6.1021,3.8523,4.7026,3.8523]}],\"spans\":[{\"offset\":213,\"length\":10}]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"columnSpan\":1,\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.1021,3.3133,7.4945,3.3133,7.4945,3.8523,6.1021,3.8523]}],\"spans\":[{\"offset\":224,\"length\":2}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5052,2.7836,7.4995,2.7844,7.4985,3.8596,0.5038,3.859]}],\"spans\":[{\"offset\":124,\"length\":102}]}],\"documents\":[{\"docType\":\"prebuilt:invoice\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0,0,8.5,0,8.5,11,0,11]}],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"content\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359]}],\"confidence\":0.98,\"spans\":[{\"offset\":60,\"length\":19},{\"offset\":97,\"length\":20}]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"content\":\"Microsoft\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151]}],\"confidence\":0.981,\"spans\":[{\"offset\":30,\"length\":9}]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"content\":\"6/24/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144]}],\"confidence\":0.981,\"spans\":[{\"offset\":203,\"length\":9}]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.968,\"spans\":[{\"offset\":193,\"length\":9}]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.973,\"spans\":[{\"offset\":184,\"length\":8}]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"content\":\"$56,651.49\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321]}],\"confidence\":0.783,\"spans\":[{\"offset\":213,\"length\":10}]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"content\":\"6/18/2017\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144]}],\"confidence\":0.287,\"spans\":[{\"offset\":193,\"length\":9}]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"content\":\"34278587\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144]}],\"confidence\":0.646,\"spans\":[{\"offset\":184,\"length\":8}]},\"Tax\":{\"type\":\"number\",\"content\":\"PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119]}],\"confidence\":0.692,\"spans\":[{\"offset\":224,\"length\":2}]}},\"content\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321]}],\"confidence\":0.399,\"spans\":[{\"offset\":184,\"length\":42}]}]},\"Locale\":{\"type\":\"string\",\"valueString\":\"en-US\",\"confidence\":1},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"content\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911]}],\"confidence\":0.993,\"spans\":[{\"offset\":40,\"length\":19},{\"offset\":80,\"length\":16},{\"offset\":118,\"length\":5}]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"content\":\"Contoso\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534]}],\"confidence\":0.981,\"spans\":[{\"offset\":0,\"length\":7}]}},\"confidence\":1,\"spans\":[{\"offset\":0,\"length\":226}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:53:45 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.recognizeGermanContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.recognizeGermanContentFromUrl[1].json new file mode 100644 index 0000000000000..81ac8f9f9b561 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentAnalysisClientTest.recognizeGermanContentFromUrl[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?locale=&stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9164c2b1-b631-4ba9-9b07-0e3c8d6b736d", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "648", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "da643b7f-2c2a-4147-8cbb-7fffdca79e79", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/da643b7f-2c2a-4147-8cbb-7fffdca79e79?api-version=2021-09-30-preview", + "Date" : "Mon, 27 Sep 2021 00:18:33 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/da643b7f-2c2a-4147-8cbb-7fffdca79e79?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cb8cba36-cd06-4a99-8365-4e2bff7a3c28" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "146", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7423a02a-b3cd-45af-b7d1-f513af73e864", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:36Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:39 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/da643b7f-2c2a-4147-8cbb-7fffdca79e79?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "a30e306f-b364-4420-88cd-b84a9c18afa2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "150", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1b653184-3f96-46b7-a32b-762353b86ff9", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-27T00:18:33Z\",\"lastUpdatedDateTime\":\"2021-09-27T00:18:36Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"Unternehmen Eine\\nRechnung für:\\nRechnung\\nAdresse:\\n567 Main St.\\nRedmond\\nBilbo Baggins\\nHobbit Lane\\nRedmond\\n555-555-5555\\n555-555-5555\\nArtikel\\nMenge\\nPreis\\nEine\\n1\\n10.99\\nB\\n2\\n14.67\\nC\\n4\\n15.66\\nD\\n1\\n12.00\\nE\\n4\\n10.00\\nF\\n6\\n12.00\\nG\\n8\\n22.00\\nZwischensumme: 300.00\\nSteuer: 30.00\\nTipp: 100.00\\nGesamt: 430.00\\nSignatur: ____Bilbo Baggins__________\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[{\"content\":\"Unternehmen\",\"boundingBox\":[0.8915,1.1143,1.973,1.1143,1.973,1.2485,0.8915,1.2485],\"confidence\":1,\"span\":{\"offset\":0,\"length\":11}},{\"content\":\"Eine\",\"boundingBox\":[2.0475,1.1206,2.362,1.1206,2.362,1.2485,2.0475,1.2485],\"confidence\":1,\"span\":{\"offset\":12,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"confidence\":1,\"span\":{\"offset\":17,\"length\":8}},{\"content\":\"für:\",\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"confidence\":1,\"span\":{\"offset\":26,\"length\":4}},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"confidence\":1,\"span\":{\"offset\":31,\"length\":8}},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"confidence\":1,\"span\":{\"offset\":40,\"length\":8}},{\"content\":\"567\",\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"confidence\":1,\"span\":{\"offset\":49,\"length\":3}},{\"content\":\"Main\",\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"confidence\":1,\"span\":{\"offset\":53,\"length\":4}},{\"content\":\"St.\",\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"confidence\":1,\"span\":{\"offset\":58,\"length\":3}},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"confidence\":1,\"span\":{\"offset\":62,\"length\":7}},{\"content\":\"Bilbo\",\"boundingBox\":[6.015,1.4486,6.3363,1.4486,6.3363,1.5633,6.015,1.5633],\"confidence\":1,\"span\":{\"offset\":70,\"length\":5}},{\"content\":\"Baggins\",\"boundingBox\":[6.3963,1.4539,6.894,1.4539,6.894,1.5914,6.3963,1.5914],\"confidence\":1,\"span\":{\"offset\":76,\"length\":7}},{\"content\":\"Hobbit\",\"boundingBox\":[6.015,1.6686,6.4578,1.6686,6.4578,1.7833,6.015,1.7833],\"confidence\":1,\"span\":{\"offset\":84,\"length\":6}},{\"content\":\"Lane\",\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"confidence\":1,\"span\":{\"offset\":91,\"length\":4}},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"confidence\":1,\"span\":{\"offset\":96,\"length\":7}},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"confidence\":1,\"span\":{\"offset\":104,\"length\":12}},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"confidence\":1,\"span\":{\"offset\":117,\"length\":12}},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"confidence\":1,\"span\":{\"offset\":130,\"length\":7}},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"confidence\":1,\"span\":{\"offset\":138,\"length\":5}},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"confidence\":1,\"span\":{\"offset\":144,\"length\":5}},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"confidence\":1,\"span\":{\"offset\":150,\"length\":4}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"confidence\":1,\"span\":{\"offset\":155,\"length\":1}},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"confidence\":1,\"span\":{\"offset\":157,\"length\":5}},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"confidence\":1,\"span\":{\"offset\":163,\"length\":1}},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"confidence\":1,\"span\":{\"offset\":165,\"length\":1}},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"confidence\":1,\"span\":{\"offset\":167,\"length\":5}},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"confidence\":1,\"span\":{\"offset\":173,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"confidence\":1,\"span\":{\"offset\":175,\"length\":1}},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"confidence\":1,\"span\":{\"offset\":177,\"length\":5}},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"confidence\":1,\"span\":{\"offset\":183,\"length\":1}},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"confidence\":1,\"span\":{\"offset\":185,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"confidence\":1,\"span\":{\"offset\":187,\"length\":5}},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"confidence\":1,\"span\":{\"offset\":193,\"length\":1}},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"confidence\":1,\"span\":{\"offset\":195,\"length\":1}},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"confidence\":1,\"span\":{\"offset\":197,\"length\":5}},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"confidence\":1,\"span\":{\"offset\":203,\"length\":1}},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"confidence\":1,\"span\":{\"offset\":205,\"length\":1}},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"confidence\":1,\"span\":{\"offset\":207,\"length\":5}},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"confidence\":1,\"span\":{\"offset\":213,\"length\":1}},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"confidence\":1,\"span\":{\"offset\":215,\"length\":1}},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"confidence\":1,\"span\":{\"offset\":217,\"length\":5}},{\"content\":\"Zwischensumme:\",\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"confidence\":1,\"span\":{\"offset\":223,\"length\":14}},{\"content\":\"300.00\",\"boundingBox\":[6.7468,4.9019,7.201,4.9019,7.201,5.0107,6.7468,5.0107],\"confidence\":1,\"span\":{\"offset\":238,\"length\":6}},{\"content\":\"Steuer:\",\"boundingBox\":[5.5061,5.1219,5.99,5.1219,5.99,5.2307,5.5061,5.2307],\"confidence\":1,\"span\":{\"offset\":245,\"length\":7}},{\"content\":\"30.00\",\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"confidence\":1,\"span\":{\"offset\":253,\"length\":5}},{\"content\":\"Tipp:\",\"boundingBox\":[5.502,5.3385,5.8398,5.3385,5.8398,5.4784,5.502,5.4784],\"confidence\":1,\"span\":{\"offset\":259,\"length\":5}},{\"content\":\"100.00\",\"boundingBox\":[5.899,5.3419,6.3493,5.3419,6.3493,5.4507,5.899,5.4507],\"confidence\":1,\"span\":{\"offset\":265,\"length\":6}},{\"content\":\"Gesamt:\",\"boundingBox\":[5.507,5.5602,6.068,5.5602,6.068,5.669,5.507,5.669],\"confidence\":1,\"span\":{\"offset\":272,\"length\":7}},{\"content\":\"430.00\",\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.669,6.1201,5.669],\"confidence\":1,\"span\":{\"offset\":280,\"length\":6}},{\"content\":\"Signatur:\",\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"confidence\":1,\"span\":{\"offset\":287,\"length\":9}},{\"content\":\"____Bilbo\",\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"confidence\":1,\"span\":{\"offset\":297,\"length\":9}},{\"content\":\"Baggins__________\",\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"confidence\":1,\"span\":{\"offset\":307,\"length\":17}}],\"selectionMarks\":[],\"lines\":[{\"content\":\"Unternehmen Eine\",\"boundingBox\":[0.8915,1.1143,2.362,1.1143,2.362,1.2485,0.8915,1.2485],\"spans\":[{\"offset\":0,\"length\":16}]},{\"content\":\"Rechnung für:\",\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"spans\":[{\"offset\":17,\"length\":13}]},{\"content\":\"Rechnung\",\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"spans\":[{\"offset\":31,\"length\":8}]},{\"content\":\"Adresse:\",\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"spans\":[{\"offset\":40,\"length\":8}]},{\"content\":\"567 Main St.\",\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"spans\":[{\"offset\":49,\"length\":12}]},{\"content\":\"Redmond\",\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"spans\":[{\"offset\":62,\"length\":7}]},{\"content\":\"Bilbo Baggins\",\"boundingBox\":[6.015,1.4486,6.894,1.4486,6.894,1.5914,6.015,1.5914],\"spans\":[{\"offset\":70,\"length\":13}]},{\"content\":\"Hobbit Lane\",\"boundingBox\":[6.015,1.6686,6.8121,1.6686,6.8121,1.7833,6.015,1.7833],\"spans\":[{\"offset\":84,\"length\":11}]},{\"content\":\"Redmond\",\"boundingBox\":[6.015,1.8889,6.6458,1.8889,6.6458,2.0033,6.015,2.0033],\"spans\":[{\"offset\":96,\"length\":7}]},{\"content\":\"555-555-5555\",\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"spans\":[{\"offset\":104,\"length\":12}]},{\"content\":\"555-555-5555\",\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"spans\":[{\"offset\":117,\"length\":12}]},{\"content\":\"Artikel\",\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"spans\":[{\"offset\":130,\"length\":7}]},{\"content\":\"Menge\",\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"spans\":[{\"offset\":138,\"length\":5}]},{\"content\":\"Preis\",\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"spans\":[{\"offset\":144,\"length\":5}]},{\"content\":\"Eine\",\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"spans\":[{\"offset\":150,\"length\":4}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"spans\":[{\"offset\":155,\"length\":1}]},{\"content\":\"10.99\",\"boundingBox\":[5.4218,3.2101,5.78,3.2101,5.78,3.3183,5.4218,3.3183],\"spans\":[{\"offset\":157,\"length\":5}]},{\"content\":\"B\",\"boundingBox\":[1.0927,3.422,1.162,3.422,1.162,3.5274,1.0927,3.5274],\"spans\":[{\"offset\":163,\"length\":1}]},{\"content\":\"2\",\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"spans\":[{\"offset\":165,\"length\":1}]},{\"content\":\"14.67\",\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"spans\":[{\"offset\":167,\"length\":5}]},{\"content\":\"C\",\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"spans\":[{\"offset\":173,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,3.6315,3.322,3.6315,3.322,3.7377,3.2462,3.7377],\"spans\":[{\"offset\":175,\"length\":1}]},{\"content\":\"15.66\",\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"spans\":[{\"offset\":177,\"length\":5}]},{\"content\":\"D\",\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.949,1.0927,3.949],\"spans\":[{\"offset\":183,\"length\":1}]},{\"content\":\"1\",\"boundingBox\":[3.2565,3.843,3.3179,3.843,3.3179,3.949,3.2565,3.949],\"spans\":[{\"offset\":185,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"spans\":[{\"offset\":187,\"length\":5}]},{\"content\":\"E\",\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.159,1.0927,4.159],\"spans\":[{\"offset\":193,\"length\":1}]},{\"content\":\"4\",\"boundingBox\":[3.2462,4.0532,3.322,4.0532,3.322,4.1594,3.2462,4.1594],\"spans\":[{\"offset\":195,\"length\":1}]},{\"content\":\"10.00\",\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"spans\":[{\"offset\":197,\"length\":5}]},{\"content\":\"F\",\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"spans\":[{\"offset\":203,\"length\":1}]},{\"content\":\"6\",\"boundingBox\":[3.251,4.2622,3.3202,4.2622,3.3202,4.3704,3.251,4.3704],\"spans\":[{\"offset\":205,\"length\":1}]},{\"content\":\"12.00\",\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"spans\":[{\"offset\":207,\"length\":5}]},{\"content\":\"G\",\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"spans\":[{\"offset\":213,\"length\":1}]},{\"content\":\"8\",\"boundingBox\":[3.249,4.4722,3.32,4.4722,3.32,4.5804,3.249,4.5804],\"spans\":[{\"offset\":215,\"length\":1}]},{\"content\":\"22.00\",\"boundingBox\":[5.417,4.4722,5.7826,4.4722,5.7826,4.5804,5.417,4.5804],\"spans\":[{\"offset\":217,\"length\":5}]},{\"content\":\"Zwischensumme: 300.00\",\"boundingBox\":[5.5051,4.8957,7.201,4.8957,7.201,5.0107,5.5051,5.0107],\"spans\":[{\"offset\":223,\"length\":21}]},{\"content\":\"Steuer: 30.00\",\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"spans\":[{\"offset\":245,\"length\":13}]},{\"content\":\"Tipp: 100.00\",\"boundingBox\":[5.502,5.3385,6.3493,5.3385,6.3493,5.4784,5.502,5.4784],\"spans\":[{\"offset\":259,\"length\":12}]},{\"content\":\"Gesamt: 430.00\",\"boundingBox\":[5.507,5.5602,6.5795,5.5602,6.5795,5.669,5.507,5.669],\"spans\":[{\"offset\":272,\"length\":14}]},{\"content\":\"Signatur: ____Bilbo Baggins__________\",\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"spans\":[{\"offset\":287,\"length\":37}]}],\"spans\":[{\"offset\":0,\"length\":324}]}],\"tables\":[{\"rowCount\":8,\"columnCount\":3,\"cells\":[{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Artikel\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,2.9357,3.1551,2.942,3.1551,3.1492,0.9996,3.1492]}],\"spans\":[{\"offset\":130,\"length\":7}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Menge\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,2.942,5.3239,2.942,5.3239,3.1492,3.1551,3.1492]}],\"spans\":[{\"offset\":138,\"length\":5}]},{\"kind\":\"columnHeader\",\"rowIndex\":0,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Preis\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,2.942,7.4994,2.942,7.4994,3.1555,5.3239,3.1492]}],\"spans\":[{\"offset\":144,\"length\":5}]},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"Eine\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.1492,3.1551,3.1492,3.1618,3.3628,0.9996,3.3628]}],\"spans\":[{\"offset\":150,\"length\":4}]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1551,3.1492,5.3239,3.1492,5.3306,3.3628,3.1618,3.3628]}],\"spans\":[{\"offset\":155,\"length\":1}]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.99\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3239,3.1492,7.4994,3.1555,7.4927,3.3628,5.3306,3.3628]}],\"spans\":[{\"offset\":157,\"length\":5}]},{\"rowIndex\":2,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"B\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.3628,3.1618,3.3628,3.1618,3.5701,0.9996,3.5701]}],\"spans\":[{\"offset\":163,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"2\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.3628,5.3306,3.3628,5.3306,3.5701,3.1618,3.5701]}],\"spans\":[{\"offset\":165,\"length\":1}]},{\"rowIndex\":2,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"14.67\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.3628,7.4927,3.3628,7.4927,3.5701,5.3306,3.5701]}],\"spans\":[{\"offset\":167,\"length\":5}]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"C\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.5701,3.1618,3.5701,3.1618,3.7836,0.9996,3.7836]}],\"spans\":[{\"offset\":173,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.5701,5.3306,3.5701,5.3306,3.7836,3.1618,3.7836]}],\"spans\":[{\"offset\":175,\"length\":1}]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"15.66\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.5701,7.4927,3.5701,7.4927,3.7836,5.3306,3.7836]}],\"spans\":[{\"offset\":177,\"length\":5}]},{\"rowIndex\":4,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"D\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.7836,3.1618,3.7836,3.1618,3.9909,0.9996,3.9909]}],\"spans\":[{\"offset\":183,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"1\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.7836,5.3306,3.7836,5.3306,3.9909,3.1618,3.9909]}],\"spans\":[{\"offset\":185,\"length\":1}]},{\"rowIndex\":4,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.7836,7.4927,3.7836,7.4927,3.9909,5.3306,3.9909]}],\"spans\":[{\"offset\":187,\"length\":5}]},{\"rowIndex\":5,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"E\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,3.9909,3.1618,3.9909,3.1618,4.1982,0.9996,4.1982]}],\"spans\":[{\"offset\":193,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"4\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,3.9909,5.3306,3.9909,5.3306,4.1982,3.1618,4.1982]}],\"spans\":[{\"offset\":195,\"length\":1}]},{\"rowIndex\":5,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"10.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,3.9909,7.4927,3.9909,7.4927,4.2045,5.3306,4.1982]}],\"spans\":[{\"offset\":197,\"length\":5}]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"F\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.1982,3.1618,4.1982,3.1618,4.4118,0.9996,4.4118]}],\"spans\":[{\"offset\":203,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"6\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.1982,5.3306,4.1982,5.3306,4.4118,3.1618,4.4118]}],\"spans\":[{\"offset\":205,\"length\":1}]},{\"rowIndex\":6,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"12.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.1982,7.4927,4.2045,7.4927,4.418,5.3306,4.4118]}],\"spans\":[{\"offset\":207,\"length\":5}]},{\"rowIndex\":7,\"columnIndex\":0,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"G\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9996,4.4118,3.1618,4.4118,3.1618,4.6253,0.9996,4.6316]}],\"spans\":[{\"offset\":213,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"8\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[3.1618,4.4118,5.3306,4.4118,5.3306,4.6253,3.1618,4.6253]}],\"spans\":[{\"offset\":215,\"length\":1}]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":1,\"columnSpan\":1,\"content\":\"22.00\",\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[5.3306,4.4118,7.4927,4.418,7.4927,4.6253,5.3306,4.6253]}],\"spans\":[{\"offset\":217,\"length\":5}]}],\"boundingRegions\":[{\"pageNumber\":1,\"boundingBox\":[0.9935,2.9322,7.5003,2.9322,7.5002,4.6362,0.9932,4.6364]}],\"spans\":[{\"offset\":130,\"length\":92}]}]}}", + "Date" : "Mon, 27 Sep 2021 00:18:39 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginBuildModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginBuildModel[1].json new file mode 100644 index 0000000000000..b65c744ac7a5c --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginBuildModel[1].json @@ -0,0 +1,102 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "20a2b22b-a76c-4cd7-af7a-e9342311341c", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2802", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31534167560_fbffc367-052c-4d64-bc80-e08710710b18?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fbffc367-052c-4d64-bc80-e08710710b18", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 21 Sep 2021 05:00:42 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534167560_fbffc367-052c-4d64-bc80-e08710710b18?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0bd710fa-2ac1-4199-a515-7c49aff3cb59" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "55", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a65a7517-3f78-426e-a0e7-ed2c47fbf8c8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534167560_fbffc367-052c-4d64-bc80-e08710710b18\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T05:00:40Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T05:00:45Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java_test_1?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"java_test_1\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"java_test_1\",\n \"createdDateTime\": \"2021-09-21T05:00:45Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 05:00:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534167560_fbffc367-052c-4d64-bc80-e08710710b18?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "4fcf75cc-7815-41cf-b96e-01c1abee2f91" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "47", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "29e28669-1055-4660-a9da-e133ff012d6c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534167560_fbffc367-052c-4d64-bc80-e08710710b18\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T05:00:40Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T05:00:45Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java_test_1?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"java_test_1\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"java_test_1\",\n \"createdDateTime\": \"2021-09-21T05:00:45Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 05:00:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/java_test_1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8334e8cd-25b1-47fc-9ce7-0d37503ebe28" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "335", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f2f12791-61a7-428e-a212-566e183fc309", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"docTypes\": {\n \"java_test_1\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"java_test_1\",\n \"createdDateTime\": \"2021-09-21T05:00:45Z\"\n}", + "Date" : "Tue, 21 Sep 2021 05:00:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/java_test_1?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "cbaa8280-5a07-4846-8bba-11a384bd38d9" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "311", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7f53de24-d783-44c5-b85f-8f59eca2b3c7", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 21 Sep 2021 05:00:49 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginCopy[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginCopy[1].json new file mode 100644 index 0000000000000..f25089273a9ea --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.beginCopy[1].json @@ -0,0 +1,181 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9ab414b8-5455-4683-8ff6-2cb187137415", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2489", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31534168550_bb40ee13-2820-46c4-966a-e779d3590cb8?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "bb40ee13-2820-46c4-966a-e779d3590cb8", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 21 Sep 2021 04:44:11 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168550_bb40ee13-2820-46c4-966a-e779d3590cb8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d97ee977-3bb5-429d-9791-8d96a621bb33" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "47", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8bb0c3a5-4b37-4018-a27e-336e3091ad3a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168550_bb40ee13-2820-46c4-966a-e779d3590cb8\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:09Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:14Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/892d138d-c832-47f4-9183-c1c374740476?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"892d138d-c832-47f4-9183-c1c374740476\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"892d138d-c832-47f4-9183-c1c374740476\",\n \"createdDateTime\": \"2021-09-21T04:44:13Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168550_bb40ee13-2820-46c4-966a-e779d3590cb8?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c9311d4e-26d0-453f-9142-188c0513c11f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ba05ed71-7cf8-497e-8c55-d1d89e2b1ca3", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168550_bb40ee13-2820-46c4-966a-e779d3590cb8\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:09Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:14Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/892d138d-c832-47f4-9183-c1c374740476?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"892d138d-c832-47f4-9183-c1c374740476\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"892d138d-c832-47f4-9183-c1c374740476\",\n \"createdDateTime\": \"2021-09-21T04:44:13Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:authorizeCopy?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "30adc94a-fd37-4a94-ad06-3b304d84362b", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "252", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c5e86250-0c9c-467d-bf54-92f1c356b4db", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"targetResourceId\": \"/subscriptions/2cd617ea-1866-46b1-90e3-fffb087ebf9b/resourceGroups/krpratic-rg2/providers/Microsoft.CognitiveServices/accounts/krpratic-form-canary-aad\",\n \"targetResourceRegion\": \"centraluseuap\",\n \"targetModelId\": \"java-test-copy-model\",\n \"targetModelLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java-test-copy-model?api-version=2021-09-30-preview\",\n \"accessToken\": \"14cbb31b-5c57-4205-a3dd-c8dcda41f577\",\n \"expirationDateTime\": \"2021-09-21T05:44:17Z\"\n}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/892d138d-c832-47f4-9183-c1c374740476:copyTo?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9f6989ca-e8f0-4372-940a-fad151548219", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "473", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f30567ee-2455-4965-af52-7d0da48ab0a4", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31534168542_f30567ee-2455-4965-af52-7d0da48ab0a4?api-version=2021-09-30-preview", + "Date" : "Tue, 21 Sep 2021 04:44:18 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168542_f30567ee-2455-4965-af52-7d0da48ab0a4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f52362c3-92aa-4647-93e3-33d2f0b94bfb" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8bc04602-ab45-4365-82c9-75a23af0ede8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168542_f30567ee-2455-4965-af52-7d0da48ab0a4\",\n \"kind\": \"documentModelCopyTo\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:17Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:19Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java-test-copy-model?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"java-test-copy-model\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"java-test-copy-model\",\n \"createdDateTime\": \"2021-09-21T04:44:13Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:22 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168542_f30567ee-2455-4965-af52-7d0da48ab0a4?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0e2bdb46-58f4-42c1-b3ba-aa4220680de0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "fec4278c-5c21-45f4-9358-7ffa3b399473", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168542_f30567ee-2455-4965-af52-7d0da48ab0a4\",\n \"kind\": \"documentModelCopyTo\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:17Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:19Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java-test-copy-model?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"java-test-copy-model\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"java-test-copy-model\",\n \"createdDateTime\": \"2021-09-21T04:44:13Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:23 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/892d138d-c832-47f4-9183-c1c374740476?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "2a2a4b82-9b95-49ad-a38c-0fff9f07f8bb" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "497", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "60ab00c7-9a5f-48f8-9c62-404ebc420c7d", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 21 Sep 2021 04:44:23 GMT" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/java-test-copy-model?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ef091a16-bddc-4d89-8262-7cd9b7141760" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "180", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c14cff2d-3326-4b8d-9d61-52eb66e28998", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 21 Sep 2021 04:44:24 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.copyAuthorization[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.copyAuthorization[1].json new file mode 100644 index 0000000000000..806adb63e509b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.copyAuthorization[1].json @@ -0,0 +1,43 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:authorizeCopy?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9d631ee5-8ff0-4615-a83e-a5e22e004fc7", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "247", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7de27b90-5396-4960-a14e-26df8a7b3be8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"targetResourceId\": \"/subscriptions/2cd617ea-1866-46b1-90e3-fffb087ebf9b/resourceGroups/krpratic-rg2/providers/Microsoft.CognitiveServices/accounts/krpratic-form-canary-aad\",\n \"targetResourceRegion\": \"centraluseuap\",\n \"targetModelId\": \"java_copy_model_test\",\n \"targetModelLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/java_copy_model_test?api-version=2021-09-30-preview\",\n \"accessToken\": \"1f6aac86-18a1-441a-beb2-fe7669d38c77\",\n \"expirationDateTime\": \"2021-09-28T03:28:09Z\"\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/java_copy_model_test?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b27a0ab9-1451-49e6-bc6a-fd2faa88f218" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "156", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "6da703d8-211d-4679-92f4-f3e6592035cd", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.deleteModelValidModelIdWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.deleteModelValidModelIdWithResponse[1].json new file mode 100644 index 0000000000000..5fea6c958b3b3 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.deleteModelValidModelIdWithResponse[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "b52198c2-53a2-4494-a612-8cd40d34af8d", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2708", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_9ffb8d62-9140-4553-89b5-5fef034035e3?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9ffb8d62-9140-4553-89b5-5fef034035e3", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_9ffb8d62-9140-4553-89b5-5fef034035e3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3ae82821-15cb-4371-831a-e42edfa7e3d1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "40", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "537c2d86-fc03-4844-9d88-2fb048f92986", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_9ffb8d62-9140-4553-89b5-5fef034035e3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/6b1822c9-84b4-4058-afbb-84a761219952?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getDocumentAnalysisClientAndValidate[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getDocumentAnalysisClientAndValidate[1].json new file mode 100644 index 0000000000000..276814e298f4b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getDocumentAnalysisClientAndValidate[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8e553b5a-db46-442a-9eac-2ca321826784", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "231", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ae3a14f8-ec3e-45b9-bfa7-307f8b286969", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/ae3a14f8-ec3e-45b9-bfa7-307f8b286969?api-version=2021-09-30-preview", + "Date" : "Tue, 21 Sep 2021 04:44:09 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/ae3a14f8-ec3e-45b9-bfa7-307f8b286969?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5e54e907-949e-4e0d-af22-8aae57602836" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "171", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "278172fb-5780-40f1-8780-84901485675d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-21T04:44:10Z\",\"lastUpdatedDateTime\":\"2021-09-21T04:44:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Tue, 21 Sep 2021 04:44:15 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-receipt/analyzeResults/ae3a14f8-ec3e-45b9-bfa7-307f8b286969?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9571b2c8-7f5c-4141-91b7-bedbeac28562" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "156", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "660d12a4-484d-4d2e-b964-d39e10fecb78", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-21T04:44:10Z\",\"lastUpdatedDateTime\":\"2021-09-21T04:44:13Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-receipt\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"documents\":[]}}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelNullModelId[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelNullModelId[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelWithResponse[1].json new file mode 100644 index 0000000000000..f6438f86d0cf5 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.getModelWithResponse[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5b512909-1cd3-4234-96d4-135c985bf46a", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2775", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31534168550_e45e8f47-4c25-4a3b-a772-e0cccd250fe5?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "e45e8f47-4c25-4a3b-a772-e0cccd250fe5", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 21 Sep 2021 04:44:12 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168550_e45e8f47-4c25-4a3b-a772-e0cccd250fe5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "35259663-f7be-4dc5-b413-8910ea2c1a99" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "48", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5651dfab-a0fd-4566-bf7a-d56a8b3325c8", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168550_e45e8f47-4c25-4a3b-a772-e0cccd250fe5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:09Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:14Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/df92d977-11d6-4c9a-96ad-863d6608af03?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"df92d977-11d6-4c9a-96ad-863d6608af03\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"df92d977-11d6-4c9a-96ad-863d6608af03\",\n \"createdDateTime\": \"2021-09-21T04:44:14Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31534168550_e45e8f47-4c25-4a3b-a772-e0cccd250fe5?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "13d2bbc1-77b9-4a19-a918-3736fe95795e" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "47", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d49b8289-649d-41c7-9a56-204101f68fb4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31534168550_e45e8f47-4c25-4a3b-a772-e0cccd250fe5\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-21T04:44:09Z\",\n \"lastUpdatedDateTime\": \"2021-09-21T04:44:14Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/df92d977-11d6-4c9a-96ad-863d6608af03?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"df92d977-11d6-4c9a-96ad-863d6608af03\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"df92d977-11d6-4c9a-96ad-863d6608af03\",\n \"createdDateTime\": \"2021-09-21T04:44:14Z\"\n }\n}", + "Date" : "Tue, 21 Sep 2021 04:44:16 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listModels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listModels[1].json new file mode 100644 index 0000000000000..e230cde8f0407 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listModels[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "72c57826-8471-44ef-9545-7fd095558b0a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "254", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9735259d-ee85-4461-a7e4-dc0bb8fe7d73", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"value\": [\n {\n \"modelId\": \"prebuilt-idDocument\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from US driver licenses and international passports.\"\n },\n {\n \"modelId\": \"prebuilt-layout\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, and other layout information.\"\n },\n {\n \"modelId\": \"prebuilt-invoice\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-document\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, entities, and general key-value pairs.\"\n },\n {\n \"modelId\": \"prebuilt-receipt\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English receipts, including merchant name, transaction date, transaction total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-businessCard\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English business cards, including personal contact info, company name, job title, and more.\"\n },\n {\n \"modelId\": \"component_model_1\",\n \"createdDateTime\": \"2021-09-16T22:49:41Z\"\n },\n {\n \"modelId\": \"bd7612ff-a22e-4986-95e2-8340b8d62e7d\",\n \"createdDateTime\": \"2021-09-20T21:36:10Z\"\n },\n {\n \"modelId\": \"36bf457d-f1ae-4170-a767-7c613e90e0ab\",\n \"createdDateTime\": \"2021-09-20T09:15:09Z\"\n }\n ]\n}", + "Date" : "Tue, 21 Sep 2021 04:44:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listOperations[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listOperations[1].json new file mode 100644 index 0000000000000..672a11136441a --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.listOperations[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "09235ef2-0fea-44d6-87fa-e44284985217" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "536", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f409b3b8-8bf0-4c99-8fe6-543468b212dc", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"value\": [\n {\n \"operationId\": \"31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"running\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview\"\n },\n {\n \"operationId\": \"31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/af9752f7-5b44-400d-b4b6-e120dcf713a6?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533571918_97f424c4-bd23-4a00-9978-49dfbc37f76e\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b3499757-273c-4d35-893e-633f5fa1e967?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533571918_9ffb8d62-9140-4553-89b5-5fef034035e3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/6b1822c9-84b4-4058-afbb-84a761219952?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533571918_b3253735-5ea1-4dce-aed4-774344f5af24\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/abfa5fad-68e9-433f-9089-cb85bf19b148?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"running\",\n \"createdDateTime\": \"2021-09-28T02:28:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/896be726-546a-48eb-826b-638531b125c0?api-version=2021-09-30-preview\"\n },\n {\n \"operationId\": \"31533573241_6bb8b833-7a23-470f-95ea-df8a927caed6\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:59Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:06:01Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/8414eb97-989d-4f72-a99e-1a53c04c6e66?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573241_d53e2d23-624e-4440-9d45-6c0a4a07142b\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:58Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:06:00Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/4bea197a-b2d7-437b-9d3c-246414d8b609?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573241_daefa92b-47b3-421a-9de6-dbb5ef9235f3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:58Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:06:01Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/85c83de6-94e9-4fa7-b501-1ba412219263?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573249_25ad4a21-8b75-465e-839e-889f3e391d30\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:50Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:53Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/20d2dd98-63fc-49fe-b04f-ab27cc94b531?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_058d7cc8-e326-4f82-87dc-356f965be73c\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:54Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/c14d0945-be41-4851-b3b7-72317e627768?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_192f0981-7577-449d-b062-cf57d277d5db\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:52Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/22e7c4f6-dd6a-4524-a0b8-8aafd2a360c0?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_8b17ead0-7005-4973-8305-6f60ebc7d1c1\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:52Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/ae4ceb58-543f-4b72-b6de-c83811e4ed93?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_a5e6bbd7-68df-456e-a18d-7c72cbd3422e\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:52Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_component_model_1?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_c05272e0-2117-4b6d-9c9b-72237e6a09ae\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:52Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/ad33082f-8e53-4983-bdd0-2b637a4e891b?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n },\n {\n \"operationId\": \"31533573250_d13ae394-f2fa-4f1a-bb8d-cc7ec409129f\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:05:49Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:05:54Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/63afb197-cd82-4dcc-bbf6-3990c792085b?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100\n }\n ]\n}", + "Date" : "Tue, 28 Sep 2021 02:28:06 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0d3e894e-160a-4af6-ba87-5d9e770d399d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "33", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "eedc2a0d-1e74-4af3-91af-3a961fc8b69c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:06Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"4013986b-a069-4b16-a957-1d2153c96f51\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"4013986b-a069-4b16-a957-1d2153c96f51\",\n \"createdDateTime\": \"2021-09-28T02:28:05Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:06 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "80aad9ca-38c7-4a7c-82b3-5622fe2a6326" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "36", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "28feb39e-3039-4ef3-821a-4aa041fbdc24", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/af9752f7-5b44-400d-b4b6-e120dcf713a6?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountPropertiesWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountPropertiesWithResponse[1].json new file mode 100644 index 0000000000000..9f38d572c6ea6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountPropertiesWithResponse[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/info?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "d7cbd526-d9c1-4813-be4a-61605e3ad881" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "63", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "d7b6dd45-c35e-452e-bd0a-7f8e98bd212b", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"customDocumentModels\": {\n \"count\": 66,\n \"limit\": 20000\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountProperties[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountProperties[1].json new file mode 100644 index 0000000000000..1437a215a6c4b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationAsyncClientTest.validGetAccountProperties[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/info?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bd595ba3-790f-4a3f-99d2-5a27ca90e17b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "66", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1fa2b9b0-4ec5-4cd7-a5a3-af837dda10bb", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"customDocumentModels\": {\n \"count\": 65,\n \"limit\": 20000\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:06 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithNonExistPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithNonExistPrefixName[1].json new file mode 100644 index 0000000000000..f25be1f21deca --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithNonExistPrefixName[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "331f9c02-2b5e-46fa-9f3d-6603f5a8a932", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "474", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "ae44c9e4-cf42-4c1b-ad26-07189460c490", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\n \"error\": {\n \"code\": \"InvalidRequest\",\n \"message\": \"Invalid request.\",\n \"innererror\": {\n \"code\": \"TrainingContentMissing\",\n \"message\": \"Training data is missing: Could not find any training data at the given path.\"\n }\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:01 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithPrefixName[1].json new file mode 100644 index 0000000000000..4cf222c321710 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelIncludeSubfolderWithPrefixName[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9fb0a476-beef-4fb6-814f-efe927959b11", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "574", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5beb82ff-32dc-4192-a641-7ac9901ab3ec", + "retry-after" : "0", + "StatusCode" : "400", + "Body" : "{\n \"error\": {\n \"code\": \"InvalidRequest\",\n \"message\": \"Invalid request.\",\n \"innererror\": {\n \"code\": \"TrainingContentMissing\",\n \"message\": \"Training data is missing: Could not find any training data at the given path.\"\n }\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:04 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelNullInput[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithNullData[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelNullInput[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithJPGTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithJPGTrainingSet[1].json new file mode 100644 index 0000000000000..811d4e5337acc --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithJPGTrainingSet[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "db53b487-9e7c-4ff1-a467-7433623c44bb", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2679", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_97f424c4-bd23-4a00-9978-49dfbc37f76e?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "97f424c4-bd23-4a00-9978-49dfbc37f76e", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:04 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_97f424c4-bd23-4a00-9978-49dfbc37f76e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "9b56bee3-964b-4d5f-a74a-22d16d8e0876" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "35", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5873b4f1-f078-4959-86df-76a8ad254c09", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_97f424c4-bd23-4a00-9978-49dfbc37f76e\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/b3499757-273c-4d35-893e-633f5fa1e967?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithMultiPagePDFTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithMultiPagePDFTrainingSet[1].json new file mode 100644 index 0000000000000..5fe5e4065a84d --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginBuildModelWithMultiPagePDFTrainingSet[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "6a0f255a-3179-402b-8409-ef49d8cb090a", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "1883", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_b3253735-5ea1-4dce-aed4-774344f5af24?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b3253735-5ea1-4dce-aed4-774344f5af24", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_b3253735-5ea1-4dce-aed4-774344f5af24?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5b0f50fb-4c64-438d-9ee1-83414fd77bf0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "083b874d-b62b-45c2-8081-2813162edba5", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_b3253735-5ea1-4dce-aed4-774344f5af24\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/abfa5fad-68e9-433f-9089-cb85bf19b148?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCopy[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCopy[1].json new file mode 100644 index 0000000000000..0f32e28e2e57e --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCopy[1].json @@ -0,0 +1,44 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "0d1f16bc-57e5-4e28-b2e9-16500ea50285", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2659", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8fe0ed01-4090-4ef1-a3a2-71c189d64582", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "019e7dcf-964c-4a5b-8737-3cea61b1313b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "41", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c4c3cbd5-6deb-4ab6-9fc9-9148ca1157a4", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_8fe0ed01-4090-4ef1-a3a2-71c189d64582\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:04Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/af9752f7-5b44-400d-b4b6-e120dcf713a6?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCreateComposedModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCreateComposedModel[1].json new file mode 100644 index 0000000000000..c27446b3f53a4 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.beginCreateComposedModel[1].json @@ -0,0 +1,164 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ea0412cf-a96c-47d7-9392-82e38c463168", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2877", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533563661_4bb3d27c-e344-427c-b7b3-045a9a1e7309?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4bb3d27c-e344-427c-b7b3-045a9a1e7309", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 04:45:41 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533563661_4bb3d27c-e344-427c-b7b3-045a9a1e7309?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "1923876d-fc7a-4020-8d83-42bb999aecf8" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "46", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0a4bafe0-ebee-4de8-a242-b2a0b4b8ead1", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533563661_4bb3d27c-e344-427c-b7b3-045a9a1e7309\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T04:45:38Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T04:45:44Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_component_model_1?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"sync_component_model_1\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"sync_component_model_1\",\n \"createdDateTime\": \"2021-09-28T04:45:43Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 04:45:48 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533563661_4bb3d27c-e344-427c-b7b3-045a9a1e7309?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "70e841d9-09f7-4c27-afbd-6c08d613eca7" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "42", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "319293bc-c11d-4fe9-9cd8-6badee4e7224", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533563661_4bb3d27c-e344-427c-b7b3-045a9a1e7309\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T04:45:38Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T04:45:44Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_component_model_1?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"sync_component_model_1\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"sync_component_model_1\",\n \"createdDateTime\": \"2021-09-28T04:45:43Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 04:45:49 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "44a0ed70-65fd-4fc9-8bb4-88b1f3e96d3d", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2824", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533563649_2b563501-e2da-4f87-8f1b-0fca41975bcf?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "2b563501-e2da-4f87-8f1b-0fca41975bcf", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 04:45:54 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533563649_2b563501-e2da-4f87-8f1b-0fca41975bcf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "3e890a6c-35d6-40d5-8b05-1be27f9164fc" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "45", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "89ae05ea-d77f-4e03-8ec9-a50cf41063df", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533563649_2b563501-e2da-4f87-8f1b-0fca41975bcf\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T04:45:51Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T04:45:56Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_component_model_2?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"sync_component_model_2\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"sync_component_model_2\",\n \"createdDateTime\": \"2021-09-28T04:45:56Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 04:45:58 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533563649_2b563501-e2da-4f87-8f1b-0fca41975bcf?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "c7ee66bf-f7ea-4c6c-b1ea-8bbf0debc2fc" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "39", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f486c34e-0cac-4c12-988c-29dff4cd1014", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533563649_2b563501-e2da-4f87-8f1b-0fca41975bcf\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T04:45:51Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T04:45:56Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_component_model_2?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"sync_component_model_2\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"sync_component_model_2\",\n \"createdDateTime\": \"2021-09-28T04:45:56Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 04:46:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:compose?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "85dfd5da-6a29-40e9-95df-54986d02edcd", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "449", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533563637_9b8868a5-9209-4236-b111-c499ff666e60?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9b8868a5-9209-4236-b111-c499ff666e60", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 04:46:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533563637_9b8868a5-9209-4236-b111-c499ff666e60?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "35e85dae-3ed2-48f4-8768-89d69c88718d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "44", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a287ef22-ada6-450d-8bd8-a0dc35dd99f0", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533563637_9b8868a5-9209-4236-b111-c499ff666e60\",\n \"kind\": \"documentModelCompose\",\n \"status\": \"failed\",\n \"createdDateTime\": \"2021-09-28T04:46:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T04:46:03Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/sync_java_composed_model?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"error\": {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\",\n \"details\": [\n {\n \"code\": \"InternalServerError\",\n \"message\": \"An unexpected error occurred.\"\n }\n ]\n }\n}", + "Date" : "Tue, 28 Sep 2021 04:46:11 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.copyAuthorization[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.copyAuthorization[1].json new file mode 100644 index 0000000000000..bd95c89c35466 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.copyAuthorization[1].json @@ -0,0 +1,25 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:authorizeCopy?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "28042026-ad4f-4e37-9404-31f8f7ed35ab", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "267", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "be817b13-5f41-4797-a7d1-2da120ceda31", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"targetResourceId\": \"/subscriptions/2cd617ea-1866-46b1-90e3-fffb087ebf9b/resourceGroups/krpratic-rg2/providers/Microsoft.CognitiveServices/accounts/krpratic-form-canary-aad\",\n \"targetResourceRegion\": \"centraluseuap\",\n \"targetModelId\": \"cd5de936-6a99-4ba2-911a-901adc5ccfde\",\n \"targetModelLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/cd5de936-6a99-4ba2-911a-901adc5ccfde?api-version=2021-09-30-preview\",\n \"accessToken\": \"48b427ef-b03d-4ca0-92eb-8d03abbcfd55\",\n \"expirationDateTime\": \"2021-09-28T03:28:02Z\"\n}", + "Date" : "Tue, 28 Sep 2021 02:28:02 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelNonExistingModelID[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelNonExistingModelID[1].json new file mode 100644 index 0000000000000..5634502c78769 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelNonExistingModelID[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/00000000-0000-0000-0000-000000000000?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "55dc1dc9-65c5-4c30-a066-e72c75fa5100" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "151", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "5159c180-a95d-44c7-b16f-aac983ca8f4f", + "retry-after" : "0", + "StatusCode" : "404", + "Body" : "{\n \"error\": {\n \"code\": \"NotFound\",\n \"message\": \"Resource not found.\",\n \"innererror\": {\n \"code\": \"ModelNotFound\",\n \"message\": \"The requested model was not found.\"\n }\n }\n}", + "Date" : "Tue, 28 Sep 2021 21:40:51 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelValidModelIDWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelValidModelIDWithResponse[1].json new file mode 100644 index 0000000000000..d8c2ca463caa6 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.deleteModelValidModelIDWithResponse[1].json @@ -0,0 +1,102 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "16e8ccf7-31ae-45f4-89d5-4c39be52c90f", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2609", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8d8df11e-d42d-450a-9d92-30e54e4d8fef", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "36a64dce-8eb4-4191-a952-dc2fa3dd40e4" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "38", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "837379c5-9011-428f-a239-fb85d393f234", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:06Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"4013986b-a069-4b16-a957-1d2153c96f51\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"4013986b-a069-4b16-a957-1d2153c96f51\",\n \"createdDateTime\": \"2021-09-28T02:28:05Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "10736fff-93fd-474a-80da-16593d7e0c22" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "36", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "92049672-094a-486c-b285-6e62875c6edb", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_8d8df11e-d42d-450a-9d92-30e54e4d8fef\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:28:01Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:06Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"4013986b-a069-4b16-a957-1d2153c96f51\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"4013986b-a069-4b16-a957-1d2153c96f51\",\n \"createdDateTime\": \"2021-09-28T02:28:05Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "fc5f8184-437f-467f-b8a0-6ed87524d651" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "164", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "1cb5f30c-b218-4b2c-bc6d-ded672bc5600", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/4013986b-a069-4b16-a957-1d2153c96f51?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "8a8c12d9-05a5-4d1e-a737-788627d39382" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "147", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f0843a07-507f-49ed-aa3d-b0dac220c1c5", + "retry-after" : "0", + "StatusCode" : "404", + "Body" : "{\n \"error\": {\n \"code\": \"NotFound\",\n \"message\": \"Resource not found.\",\n \"innererror\": {\n \"code\": \"ModelNotFound\",\n \"message\": \"The requested model was not found.\"\n }\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:10 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getDocumentAnalysisClientAndValidate[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getDocumentAnalysisClientAndValidate[1].json new file mode 100644 index 0000000000000..ee5fc90065fc0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getDocumentAnalysisClientAndValidate[1].json @@ -0,0 +1,64 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout:analyze?stringIndexType=utf16CodeUnit&api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e7c8e372-d2c8-433b-8644-dd262ecce367", + "Content-Type" : "application/octet-stream" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "188", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "c158346f-1a00-4db5-8f50-f2e1e082089e", + "retry-after" : "0", + "StatusCode" : "202", + "Operation-Location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c158346f-1a00-4db5-8f50-f2e1e082089e?api-version=2021-09-30-preview", + "Date" : "Tue, 28 Sep 2021 02:28:02 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c158346f-1a00-4db5-8f50-f2e1e082089e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f4a30865-7ee5-4221-bac3-0c4cb8b85c48" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "161", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "a899e2e4-23d7-4803-a3cb-4377bfeab45d", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-28T02:28:03Z\",\"lastUpdatedDateTime\":\"2021-09-28T02:28:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Tue, 28 Sep 2021 02:28:07 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/prebuilt-layout/analyzeResults/c158346f-1a00-4db5-8f50-f2e1e082089e?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "ee1366f4-6cbc-4250-b195-69a61eb58a9a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "128", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "39bd9ee3-2869-408e-9b4c-d8bcfa58943c", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-09-28T02:28:03Z\",\"lastUpdatedDateTime\":\"2021-09-28T02:28:05Z\",\"analyzeResult\":{\"apiVersion\":\"2021-09-30-preview\",\"modelId\":\"prebuilt-layout\",\"stringIndexType\":\"utf16CodeUnit\",\"content\":\"\",\"pages\":[{\"pageNumber\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"words\":[],\"selectionMarks\":[],\"lines\":[],\"spans\":[{\"offset\":0,\"length\":0}]}],\"tables\":[]}}", + "Date" : "Tue, 28 Sep 2021 02:28:08 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNonExistingModelID[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNonExistingModelID[1].json new file mode 100644 index 0000000000000..4f8c1964f8dce --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNonExistingModelID[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/00000000-0000-0000-0000-000000000000?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7c33ca1c-e9bd-45a2-bb56-70e78c011e8a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "158", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f20afb94-e67c-4bbd-a0a8-bfd230185ba2", + "retry-after" : "0", + "StatusCode" : "404", + "Body" : "{\n \"error\": {\n \"code\": \"NotFound\",\n \"message\": \"Resource not found.\",\n \"innererror\": {\n \"code\": \"ModelNotFound\",\n \"message\": \"The requested model was not found.\"\n }\n }\n}", + "Date" : "Tue, 28 Sep 2021 21:40:06 GMT", + "Content-Type" : "application/json" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNullModelID[1].json similarity index 100% rename from sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithEmptyModelId[1].json rename to sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelNullModelID[1].json diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelWithResponse[1].json new file mode 100644 index 0000000000000..75795ca59da9b --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.getModelWithResponse[1].json @@ -0,0 +1,102 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels:build?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "bcad525f-d59d-4e06-8655-57cc877a5d1c", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "2285", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "operation-location" : "https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/operations/31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3?api-version=2021-09-30-preview", + "x-content-type-options" : "nosniff", + "apim-request-id" : "f20cf095-33c5-448d-b6c6-37591c68a4b3", + "retry-after" : "0", + "StatusCode" : "202", + "Date" : "Tue, 28 Sep 2021 02:28:03 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "86ca8d37-3fac-40c7-90a4-8c48980eb67f" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "37", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4091750d-9b87-44e2-b707-dda5407d7bc9", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:28:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:06Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/896be726-546a-48eb-826b-638531b125c0?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"896be726-546a-48eb-826b-638531b125c0\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"896be726-546a-48eb-826b-638531b125c0\",\n \"createdDateTime\": \"2021-09-28T02:28:06Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/operations/31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "503726e2-dfaa-4686-838f-7fe3676847ce" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "37", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "7d090c78-0c81-465e-9830-efabfbbfbcaf", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"operationId\": \"31533571918_f20cf095-33c5-448d-b6c6-37591c68a4b3\",\n \"kind\": \"documentModelBuild\",\n \"status\": \"succeeded\",\n \"createdDateTime\": \"2021-09-28T02:28:02Z\",\n \"lastUpdatedDateTime\": \"2021-09-28T02:28:06Z\",\n \"resourceLocation\": \"https://krpratic-form-canary-aad.cognitiveservices.azure.com/formrecognizer/documentModels/896be726-546a-48eb-826b-638531b125c0?api-version=2021-09-30-preview\",\n \"percentCompleted\": 100,\n \"result\": {\n \"docTypes\": {\n \"896be726-546a-48eb-826b-638531b125c0\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"896be726-546a-48eb-826b-638531b125c0\",\n \"createdDateTime\": \"2021-09-28T02:28:06Z\"\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/896be726-546a-48eb-826b-638531b125c0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "5c1ac58b-33e9-4e52-b2c1-bc37b6d13ace" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "143", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "b1fbe6fb-38f5-444d-8ee5-6bacd427c44f", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"docTypes\": {\n \"896be726-546a-48eb-826b-638531b125c0\": {\n \"fieldSchema\": {\n \"Merchant\": {\n \"type\": \"string\"\n },\n \"PhoneNumber\": {\n \"type\": \"string\"\n },\n \"Website\": {\n \"type\": \"string\"\n },\n \"Email\": {\n \"type\": \"string\"\n },\n \"PurchaseOrderNumber\": {\n \"type\": \"string\"\n },\n \"DatedAs\": {\n \"type\": \"string\"\n },\n \"VendorName\": {\n \"type\": \"string\"\n },\n \"CompanyName\": {\n \"type\": \"string\"\n },\n \"CompanyAddress\": {\n \"type\": \"string\"\n },\n \"CompanyPhoneNumber\": {\n \"type\": \"string\"\n },\n \"Subtotal\": {\n \"type\": \"string\"\n },\n \"Tax\": {\n \"type\": \"string\"\n },\n \"Total\": {\n \"type\": \"string\"\n },\n \"Signature\": {\n \"type\": \"string\"\n },\n \"Quantity\": {\n \"type\": \"number\"\n }\n },\n \"fieldConfidence\": {\n \"CompanyAddress\": 0.8,\n \"CompanyName\": 0.95,\n \"CompanyPhoneNumber\": 0.95,\n \"DatedAs\": 0.95,\n \"Email\": 0.8,\n \"Merchant\": 0.95,\n \"PhoneNumber\": 0.95,\n \"PurchaseOrderNumber\": 0.95,\n \"Quantity\": 0.95,\n \"Signature\": 0.6,\n \"Subtotal\": 0.95,\n \"Tax\": 0.95,\n \"Total\": 0.95,\n \"VendorName\": 0.95,\n \"Website\": 0.95\n }\n }\n },\n \"modelId\": \"896be726-546a-48eb-826b-638531b125c0\",\n \"createdDateTime\": \"2021-09-28T02:28:06Z\"\n}", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels/896be726-546a-48eb-826b-638531b125c0?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "f1497362-67c7-471e-b1e3-0243f2b3b93b" + }, + "Response" : { + "content-length" : "0", + "x-envoy-upstream-service-time" : "161", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "8426ddf9-cad8-4ad8-94d8-75a61be02065", + "retry-after" : "0", + "StatusCode" : "204", + "Date" : "Tue, 28 Sep 2021 02:28:09 GMT" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModelsWithContext[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModelsWithContext[1].json new file mode 100644 index 0000000000000..1982204990bc0 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModelsWithContext[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "e2551d19-5b96-4ee6-86db-f1cfe6581a8d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1800", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "4d677674-288b-4855-9be5-12f91abfea51", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"value\": [\n {\n \"modelId\": \"prebuilt-idDocument\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from US driver licenses and international passports.\"\n },\n {\n \"modelId\": \"prebuilt-layout\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, and other layout information.\"\n },\n {\n \"modelId\": \"prebuilt-invoice\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-document\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, entities, and general key-value pairs.\"\n },\n {\n \"modelId\": \"prebuilt-receipt\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English receipts, including merchant name, transaction date, transaction total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-businessCard\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English business cards, including personal contact info, company name, job title, and more.\"\n },\n {\n \"modelId\": \"c14d0945-be41-4851-b3b7-72317e627768\",\n \"createdDateTime\": \"2021-09-28T02:05:53Z\"\n },\n {\n \"modelId\": \"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\n \"createdDateTime\": \"2021-09-27T00:18:46Z\"\n },\n {\n \"modelId\": \"model1\",\n \"createdDateTime\": \"2021-09-27T00:03:28Z\"\n },\n {\n \"modelId\": \"1202af9d-0b2c-4446-847d-c772e8019cd3\",\n \"createdDateTime\": \"2021-09-27T00:03:25Z\"\n },\n {\n \"modelId\": \"sync_component_model_2\",\n \"createdDateTime\": \"2021-09-28T04:45:56Z\"\n },\n {\n \"modelId\": \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\",\n \"createdDateTime\": \"2021-09-27T00:18:22Z\"\n },\n {\n \"modelId\": \"07cd8d43-1e84-4e45-9c53-dc4a6855dbc1\",\n \"createdDateTime\": \"2021-09-27T00:02:54Z\"\n },\n {\n \"modelId\": \"64793888-01c7-4d30-a364-6e66710983db\",\n \"createdDateTime\": \"2021-09-25T21:14:09Z\"\n },\n {\n \"modelId\": \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\",\n \"createdDateTime\": \"2021-09-27T00:18:23Z\"\n },\n {\n \"modelId\": \"sync_component_model_1\",\n \"createdDateTime\": \"2021-09-28T04:45:43Z\"\n },\n {\n \"modelId\": \"78308064-068b-4ff5-9fdb-b5fb6e6befb3\",\n \"createdDateTime\": \"2021-09-27T00:36:21Z\"\n },\n {\n \"modelId\": \"53f8ce2c-4f09-4de8-9f46-570b6ce7b782\",\n \"createdDateTime\": \"2021-09-27T00:02:59Z\"\n },\n {\n \"modelId\": \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\n \"createdDateTime\": \"2021-09-27T00:18:38Z\"\n },\n {\n \"modelId\": \"d9cf1e7f-9917-4325-935d-a465b7a87b1d\",\n \"createdDateTime\": \"2021-09-27T00:03:09Z\"\n },\n {\n \"modelId\": \"d70f7703-bf74-41d8-8596-8a963df34530\",\n \"createdDateTime\": \"2021-09-27T02:45:07Z\"\n },\n {\n \"modelId\": \"b9044d4b-f3f5-4433-9234-231b5829b12c\",\n \"createdDateTime\": \"2021-09-28T02:28:13Z\"\n },\n {\n \"modelId\": \"8b6e4b57-dc01-4c6f-8766-fb9aa845e0b7\",\n \"createdDateTime\": \"2021-09-27T00:36:03Z\"\n },\n {\n \"modelId\": \"bc8c3943-f7d9-4ab5-a855-f1837be10829\",\n \"createdDateTime\": \"2021-09-27T00:03:05Z\"\n },\n {\n \"modelId\": \"bd7612ff-a22e-4986-95e2-8340b8d62e7d\",\n \"createdDateTime\": \"2021-09-20T21:36:10Z\"\n },\n {\n \"modelId\": \"model2\",\n \"createdDateTime\": \"2021-09-27T00:03:37Z\"\n },\n {\n \"modelId\": \"b029deb2-aa39-4585-83ea-2939e7a1b687\",\n \"createdDateTime\": \"2021-09-27T00:18:34Z\"\n },\n {\n \"modelId\": \"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\n \"createdDateTime\": \"2021-09-27T00:18:16Z\"\n },\n {\n \"modelId\": \"28970dc6-0a4b-433e-898b-2e0b6a3776df\",\n \"createdDateTime\": \"2021-09-27T00:18:45Z\"\n },\n {\n \"modelId\": \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\",\n \"createdDateTime\": \"2021-09-27T00:18:31Z\"\n },\n {\n \"modelId\": \"63afb197-cd82-4dcc-bbf6-3990c792085b\",\n \"createdDateTime\": \"2021-09-28T02:05:54Z\"\n },\n {\n \"modelId\": \"918b84b4-46d5-4c97-8b57-a0b72e931590\",\n \"createdDateTime\": \"2021-09-27T00:03:13Z\"\n },\n {\n \"modelId\": \"36bf457d-f1ae-4170-a767-7c613e90e0ab\",\n \"createdDateTime\": \"2021-09-20T09:15:09Z\"\n },\n {\n \"modelId\": \"e86c4d43-a17b-457d-9310-454a6564360a\",\n \"createdDateTime\": \"2021-09-27T00:36:24Z\"\n },\n {\n \"modelId\": \"183400d0-6bdc-41cf-bf40-cf3dacff7f2f\",\n \"createdDateTime\": \"2021-09-27T22:59:13Z\"\n },\n {\n \"modelId\": \"df92d977-11d6-4c9a-96ad-863d6608af03\",\n \"createdDateTime\": \"2021-09-21T04:44:14Z\"\n },\n {\n \"modelId\": \"f6a22337-c663-496a-be96-ea8b6965f40e\",\n \"createdDateTime\": \"2021-09-27T00:03:26Z\"\n },\n {\n \"modelId\": \"c7abf67c-84d2-4aef-98c9-513d7aa2d5e8\",\n \"createdDateTime\": \"2021-09-27T00:03:18Z\"\n }\n ]\n}", + "Date" : "Tue, 28 Sep 2021 17:39:12 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModels[1].json new file mode 100644 index 0000000000000..1805f27bf44ea --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.listModels[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/documentModels?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "164a15ba-10f5-4ddf-9b76-fc639682d9c1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "1155", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "0197dc24-06f9-4628-a5b5-3f95c7f2a100", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"value\": [\n {\n \"modelId\": \"prebuilt-idDocument\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from US driver licenses and international passports.\"\n },\n {\n \"modelId\": \"prebuilt-layout\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, and other layout information.\"\n },\n {\n \"modelId\": \"prebuilt-invoice\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-document\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract text, selection marks, tables, entities, and general key-value pairs.\"\n },\n {\n \"modelId\": \"prebuilt-receipt\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English receipts, including merchant name, transaction date, transaction total, and more.\"\n },\n {\n \"modelId\": \"prebuilt-businessCard\",\n \"createdDateTime\": \"2021-07-30T00:00:00Z\",\n \"description\": \"Prebuilt model to extract key information from English business cards, including personal contact info, company name, job title, and more.\"\n },\n {\n \"modelId\": \"c14d0945-be41-4851-b3b7-72317e627768\",\n \"createdDateTime\": \"2021-09-28T02:05:53Z\"\n },\n {\n \"modelId\": \"b3f678f2-e736-4999-a3dc-32235fdc83a9\",\n \"createdDateTime\": \"2021-09-27T00:18:46Z\"\n },\n {\n \"modelId\": \"model1\",\n \"createdDateTime\": \"2021-09-27T00:03:28Z\"\n },\n {\n \"modelId\": \"1202af9d-0b2c-4446-847d-c772e8019cd3\",\n \"createdDateTime\": \"2021-09-27T00:03:25Z\"\n },\n {\n \"modelId\": \"fea1122f-3bda-4bbb-aa5d-8301e7b02128\",\n \"createdDateTime\": \"2021-09-27T00:18:22Z\"\n },\n {\n \"modelId\": \"07cd8d43-1e84-4e45-9c53-dc4a6855dbc1\",\n \"createdDateTime\": \"2021-09-27T00:02:54Z\"\n },\n {\n \"modelId\": \"64793888-01c7-4d30-a364-6e66710983db\",\n \"createdDateTime\": \"2021-09-25T21:14:09Z\"\n },\n {\n \"modelId\": \"b2ed4e22-7d2d-46dd-8201-e0da3a163f0a\",\n \"createdDateTime\": \"2021-09-27T00:18:23Z\"\n },\n {\n \"modelId\": \"78308064-068b-4ff5-9fdb-b5fb6e6befb3\",\n \"createdDateTime\": \"2021-09-27T00:36:21Z\"\n },\n {\n \"modelId\": \"53f8ce2c-4f09-4de8-9f46-570b6ce7b782\",\n \"createdDateTime\": \"2021-09-27T00:02:59Z\"\n },\n {\n \"modelId\": \"281f62dd-3c16-4d0a-b597-5c05f6ef7967\",\n \"createdDateTime\": \"2021-09-27T00:18:38Z\"\n },\n {\n \"modelId\": \"d9cf1e7f-9917-4325-935d-a465b7a87b1d\",\n \"createdDateTime\": \"2021-09-27T00:03:09Z\"\n },\n {\n \"modelId\": \"d70f7703-bf74-41d8-8596-8a963df34530\",\n \"createdDateTime\": \"2021-09-27T02:45:07Z\"\n },\n {\n \"modelId\": \"8b6e4b57-dc01-4c6f-8766-fb9aa845e0b7\",\n \"createdDateTime\": \"2021-09-27T00:36:03Z\"\n },\n {\n \"modelId\": \"bc8c3943-f7d9-4ab5-a855-f1837be10829\",\n \"createdDateTime\": \"2021-09-27T00:03:05Z\"\n },\n {\n \"modelId\": \"model2\",\n \"createdDateTime\": \"2021-09-27T00:03:37Z\"\n },\n {\n \"modelId\": \"b029deb2-aa39-4585-83ea-2939e7a1b687\",\n \"createdDateTime\": \"2021-09-27T00:18:34Z\"\n },\n {\n \"modelId\": \"3b9e14f2-af0f-4ec2-b327-5861a834e885\",\n \"createdDateTime\": \"2021-09-27T00:18:16Z\"\n },\n {\n \"modelId\": \"28970dc6-0a4b-433e-898b-2e0b6a3776df\",\n \"createdDateTime\": \"2021-09-27T00:18:45Z\"\n },\n {\n \"modelId\": \"3322d1ec-5080-4f24-b1b1-bcd514137cf4\",\n \"createdDateTime\": \"2021-09-27T00:18:31Z\"\n },\n {\n \"modelId\": \"63afb197-cd82-4dcc-bbf6-3990c792085b\",\n \"createdDateTime\": \"2021-09-28T02:05:54Z\"\n },\n {\n \"modelId\": \"918b84b4-46d5-4c97-8b57-a0b72e931590\",\n \"createdDateTime\": \"2021-09-27T00:03:13Z\"\n },\n {\n \"modelId\": \"36bf457d-f1ae-4170-a767-7c613e90e0ab\",\n \"createdDateTime\": \"2021-09-20T09:15:09Z\"\n },\n {\n \"modelId\": \"e86c4d43-a17b-457d-9310-454a6564360a\",\n \"createdDateTime\": \"2021-09-27T00:36:24Z\"\n },\n {\n \"modelId\": \"183400d0-6bdc-41cf-bf40-cf3dacff7f2f\",\n \"createdDateTime\": \"2021-09-27T22:59:13Z\"\n },\n {\n \"modelId\": \"df92d977-11d6-4c9a-96ad-863d6608af03\",\n \"createdDateTime\": \"2021-09-21T04:44:14Z\"\n },\n {\n \"modelId\": \"f6a22337-c663-496a-be96-ea8b6965f40e\",\n \"createdDateTime\": \"2021-09-27T00:03:26Z\"\n },\n {\n \"modelId\": \"c7abf67c-84d2-4aef-98c9-513d7aa2d5e8\",\n \"createdDateTime\": \"2021-09-27T00:03:18Z\"\n }\n ]\n}", + "Date" : "Tue, 28 Sep 2021 02:28:05 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountPropertiesWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountPropertiesWithResponse[1].json new file mode 100644 index 0000000000000..010401f69f299 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountPropertiesWithResponse[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/info?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "424fd232-3552-40d0-8980-cf4db516682d" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "80", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "90c77ab1-d853-4502-801e-572be934253a", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"customDocumentModels\": {\n \"count\": 62,\n \"limit\": 20000\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountProperties[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountProperties[1].json new file mode 100644 index 0000000000000..426cd90519d5f --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/DocumentModelAdministrationClientTest.validGetAccountProperties[1].json @@ -0,0 +1,24 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/info?api-version=2021-09-30-preview", + "Headers" : { + "User-Agent" : "azsdk-java-azure-ai-formrecognizer/4.0.0-beta.1 (11.0.9; Windows 10; 10.0)", + "x-ms-client-request-id" : "7411ebd9-4e68-42b1-8c07-21c6e6ee5241" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-envoy-upstream-service-time" : "80", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-content-type-options" : "nosniff", + "apim-request-id" : "9dd9fb58-1dfd-4e35-88ff-5f32639d6836", + "retry-after" : "0", + "StatusCode" : "200", + "Body" : "{\n \"customDocumentModels\": {\n \"count\": 62,\n \"limit\": 20000\n }\n}", + "Date" : "Tue, 28 Sep 2021 02:28:01 GMT", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardValidLocale[1].json deleted file mode 100644 index e7703bbd04337..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardValidLocale[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e23f620b-fa3e-40b2-8e4f-062ac0855d3c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "614", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b9fa4b52-148b-4430-89ea-0caf84103cb2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b9fa4b52-148b-4430-89ea-0caf84103cb2", - "Date" : "Wed, 07 Jul 2021 06:32:01 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b9fa4b52-148b-4430-89ea-0caf84103cb2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "906a876d-b180-4c64-b320-ba94842249f0" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fcfa5c57-0417-4c1c-a4df-369664e279be", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b9fa4b52-148b-4430-89ea-0caf84103cb2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "be6cd3c2-fa72-4250-9e90-7910abededc3" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "67ee0723-a7de-404c-b838-7e2cafe21330", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardWithPage[1].json deleted file mode 100644 index dd20b9d81d0e2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.businessCardWithPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false&pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "199079c2-ac94-4b19-b25f-d9682531ddf2", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "593", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "304bfbc2-eedb-4ed3-b7cd-6e42bd5439b6", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/304bfbc2-eedb-4ed3-b7cd-6e42bd5439b6", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/304bfbc2-eedb-4ed3-b7cd-6e42bd5439b6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "da00a34f-ebea-4e06-be67-855f2f03cb83" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0c3449fc-872b-4aca-a9ea-b04e53d9895e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/304bfbc2-eedb-4ed3-b7cd-6e42bd5439b6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a0212567-843f-47b0-ba50-ceca222026c6" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c22b626c-d8f0-4437-a4ea-8148b92afb13", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.invoiceValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.invoiceValidLocale[1].json deleted file mode 100644 index 6a048e31bb5b5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.invoiceValidLocale[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bb71975b-2dde-44d3-b281-237d2e3d32a9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "194", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e6bfa833-e8d1-4a7f-bae4-c44cb4bd1ba6", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e6bfa833-e8d1-4a7f-bae4-c44cb4bd1ba6", - "Date" : "Wed, 07 Jul 2021 06:31:10 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e6bfa833-e8d1-4a7f-bae4-c44cb4bd1ba6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b607cffe-8078-4310-9722-4bb6b549e214" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ef525ffb-3029-4aa0-a10e-581460efcd68", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e6bfa833-e8d1-4a7f-bae4-c44cb4bd1ba6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4a99c9f5-8a1a-4a8e-91eb-31d416e4d5c3" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "630578fe-12d1-462f-8c81-9c5210f7820a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e6bfa833-e8d1-4a7f-bae4-c44cb4bd1ba6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fb029e0f-f15c-4c92-9e92-3382aff20900" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "59", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "70d39458-395d-4c74-ab0c-fe23a16cd935", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptValidLocale[1].json deleted file mode 100644 index d582b0a10ed4a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptValidLocale[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7f9fff07-46f2-4ee7-9e28-7461e91a0e66", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "508", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ef86628d-f346-4330-809d-7a4175d02a54", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ef86628d-f346-4330-809d-7a4175d02a54", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ef86628d-f346-4330-809d-7a4175d02a54", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2b959597-fb7b-40d1-8fc4-ab79599fd9e1" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4749be35-fe2b-452c-b81d-7396b3984e6d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:16Z\"}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ef86628d-f346-4330-809d-7a4175d02a54", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c4342321-69da-4023-a58f-d02970a65515" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bfe1d2f5-8604-4b43-bd07-ecf9c7bc2f16", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:22Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ef86628d-f346-4330-809d-7a4175d02a54", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "32f6eaa9-5731-4881-a36f-dfc11cc2b12c" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b13512b0-785a-43f0-818e-9ce9a4f71e81", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:22Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptWithPage[1].json deleted file mode 100644 index 8f4e56fbd7935..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.receiptWithPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false&pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5be83f89-9d98-448e-8970-fbbeb1f0ea30", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "526", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f3283e48-fc4e-408c-9ff9-777a6df35200", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f3283e48-fc4e-408c-9ff9-777a6df35200", - "Date" : "Wed, 07 Jul 2021 06:31:24 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f3283e48-fc4e-408c-9ff9-777a6df35200", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "91b9b505-067c-4809-b18c-65caf4aaad42" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b178ad6d-555a-40e0-a7a3-c52287b733d0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f3283e48-fc4e-408c-9ff9-777a6df35200", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6c052801-61c9-4f20-a512-a8b60d06c40d" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "54b21e62-5e76-47d9-8cca-540a80b78fbb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json deleted file mode 100644 index be6c3ddce3459..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "58754a5d-a196-4d53-86f9-22361427ba8d", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "522", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b793aebd-f356-4e01-993d-82968d8a21a1", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b793aebd-f356-4e01-993d-82968d8a21a1", - "Date" : "Wed, 07 Jul 2021 06:30:30 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b793aebd-f356-4e01-993d-82968d8a21a1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c1ce51f6-ac81-45e5-bd4e-47b128861c84" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ef74f915-26a4-417e-8bca-7a8f4f2d8a07", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:31Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b793aebd-f356-4e01-993d-82968d8a21a1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "093c7c1d-f443-420c-bdf6-8a715f62fbb4" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5112622a-4ce4-4fb4-80ea-818cadffad91", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:31Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b793aebd-f356-4e01-993d-82968d8a21a1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4dad6549-1c6c-4893-b469-cc7c23ffd899" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "010039d2-dac7-4124-8d75-df97cb1bc05f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:42Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/b793aebd-f356-4e01-993d-82968d8a21a1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dcf8970c-8d3f-4b77-97cd-258d8112a3b6" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "667cf417-4e0c-45ef-b7a5-d9df09bc5069", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:42Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithBlankPdf[1].json deleted file mode 100644 index 43ebc8e517d58..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "925c37ac-e88e-463a-a7f7-3e2b4df55575", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "53", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cf27a640-d3fd-45dc-a235-00164eb66cca", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/cf27a640-d3fd-45dc-a235-00164eb66cca", - "Date" : "Wed, 07 Jul 2021 06:30:44 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/cf27a640-d3fd-45dc-a235-00164eb66cca", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b5dc1022-0492-4970-b308-7e3c0a7c8465" - }, - "Response" : { - "content-length" : "305", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc7e1bfa-3518-4657-9b8a-b01aaf58df04", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/cf27a640-d3fd-45dc-a235-00164eb66cca", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "806fcfc7-e760-4c24-9fe1-f7e7ed5acb69" - }, - "Response" : { - "content-length" : "305", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0ee16d46-559f-40b2-9751-aced9d5cf645", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 56f2a6d9173d9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0ae11489-3823-4e68-85c5-3d83721759be", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "667", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ff32a7bf-8768-40a8-ba4e-3639d92ce63a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ff32a7bf-8768-40a8-ba4e-3639d92ce63a", - "Date" : "Wed, 07 Jul 2021 06:30:06 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ff32a7bf-8768-40a8-ba4e-3639d92ce63a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "58c558f0-3fc1-4c29-9162-4aa124bf251f" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2c6b5a4e-f284-436d-9326-f4459ee556a4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:08Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ff32a7bf-8768-40a8-ba4e-3639d92ce63a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "174fc2be-a256-40eb-af6a-d5f771e0e29e" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "88fced22-d147-424b-9d5d-e4dd9ded9570", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:08Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithPngFile[1].json deleted file mode 100644 index 07857f1c19f8b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardDataWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "83bda338-c93c-4f08-bd1c-545c044c0d5f", - "Content-Type" : "image/png" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1311", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c1f8fcbc-d96b-4dee-8fb2-b3e61c971849", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c1f8fcbc-d96b-4dee-8fb2-b3e61c971849", - "Date" : "Wed, 07 Jul 2021 06:30:09 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c1f8fcbc-d96b-4dee-8fb2-b3e61c971849", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a825f220-cd19-4d03-ac18-e06d514dfeed" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c7b27ccd-3ae2-4176-9649-128f05944975", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:12Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c1f8fcbc-d96b-4dee-8fb2-b3e61c971849", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4ecfd942-d123-4b4a-ad7c-87ca6db6fc3d" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "175", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "15353cdd-ab3d-4ef2-88bc-1ef228140d9d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:12Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardData[1].json deleted file mode 100644 index 03ac04d3219ae..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardData[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "05ee0b84-34e7-4bcf-bf21-b396bbc9b0c0", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "510", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c7119f0f-97d2-4578-8ef2-261140a4d96c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c7119f0f-97d2-4578-8ef2-261140a4d96c", - "Date" : "Wed, 07 Jul 2021 06:30:11 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c7119f0f-97d2-4578-8ef2-261140a4d96c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "777d1eb9-b09f-47d3-961c-d1e7140b54e7" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "da509837-e207-446b-8991-c6537dbf828d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:12Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c7119f0f-97d2-4578-8ef2-261140a4d96c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2d6b2ee2-9b2d-4626-948a-1ade0a9b7286" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "49b2b048-c758-40b5-824e-59719d0dc6dc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c7119f0f-97d2-4578-8ef2-261140a4d96c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "97f55d44-d601-404d-859f-8e6de34f361f" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99920e80-5fb2-4ed1-ae57-a2d5b70ca0e0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromDamagedPdf[1].json deleted file mode 100644 index 0006112e551f4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bd090524-a179-4dc8-b085-05244931e8fa", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5a093648-cc6e-4dd2-bbe4-5904a8c7d7cd", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"5a093648-cc6e-4dd2-bbe4-5904a8c7d7cd\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 7ab02651c2e35..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b36c8d31-fd40-4b5b-9070-e667c27af5d1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "528", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e4c7803-1b5c-4097-945a-a5e566147ac0", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/5e4c7803-1b5c-4097-945a-a5e566147ac0", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/5e4c7803-1b5c-4097-945a-a5e566147ac0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bc4b20dc-22b4-4bac-b54f-c827bd7114db" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "869bd522-d713-418b-b82d-fc6d1760a67c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:17Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/5e4c7803-1b5c-4097-945a-a5e566147ac0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "25254a5d-4d43-4f69-a5ec-dc2c68db8fa6" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "035fdb11-da98-4c2d-b8b8-eee5357f1f4a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:17Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index a8f0dc0cc7cce..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5afa9c6-a731-49a7-8106-e8fa12751c5a", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5afa9c6-a731-49a7-8106-e8fa12751c5a", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5afa9c6-a731-49a7-8106-e8fa12751c5a", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5afa9c6-a731-49a7-8106-e8fa12751c5a", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardInvalidSourceUrl[1].json deleted file mode 100644 index 542d18c533d7f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0246bf19-790b-4716-be4c-b79f05fdd0da", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "201", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3aade506-468a-4741-8d12-f26ce186c876", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"3aade506-468a-4741-8d12-f26ce186c876\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json deleted file mode 100644 index c1e8b2ff2b909..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ce6a0b6a-2e02-4710-a905-ba54f7ad0a00", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1423", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e8cd30db-eab9-4684-b81f-9ec3ec4a60cf", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/e8cd30db-eab9-4684-b81f-9ec3ec4a60cf", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/e8cd30db-eab9-4684-b81f-9ec3ec4a60cf", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "da3eae09-68d0-49b4-9687-19deeac64fc3" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "41", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d12a00c6-4a40-4b8f-a0ce-176cbaabf7ef", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:57Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/e8cd30db-eab9-4684-b81f-9ec3ec4a60cf", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "258e5073-3531-4f54-9d7c-5efbe90607ef" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c46fb7a7-bdca-43d9-b3ed-85d3dafa16a5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:57Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrl[1].json deleted file mode 100644 index 8f9fac3361057..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeBusinessCardSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3faa0035-60f3-46ff-b332-d666ce60f447", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "448", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "781a8b6f-4b68-4a21-90a2-aa2dcb67fac5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/781a8b6f-4b68-4a21-90a2-aa2dcb67fac5", - "Date" : "Wed, 07 Jul 2021 06:30:03 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/781a8b6f-4b68-4a21-90a2-aa2dcb67fac5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a8031641-b6c1-418a-9b43-6d0fcef5b684" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c2bb9491-7443-4957-9c5b-c18117c1d411", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:06Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/781a8b6f-4b68-4a21-90a2-aa2dcb67fac5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "13a674fb-d38e-420c-92dd-0d556a0f873c" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e40a6029-46f0-4770-bcef-6700b0161c2b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:06Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentAppearance[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentAppearance[1].json deleted file mode 100644 index 4c56a7b47ab64..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentAppearance[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "31911899-b8fe-47c9-8c71-45fd4e29ff82", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "206", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "31ef3197-8ac2-4c43-8a83-d9e0368fb860", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/31ef3197-8ac2-4c43-8a83-d9e0368fb860", - "Date" : "Wed, 07 Jul 2021 06:31:11 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/31ef3197-8ac2-4c43-8a83-d9e0368fb860", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a6fdc90-91a9-4571-b108-27fb4a7bf6fa" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "75", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66bb3c76-87cd-4620-8d67-c36e517749ca", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/31ef3197-8ac2-4c43-8a83-d9e0368fb860", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "52af7513-8c1b-4c35-bec9-82fce6ffbb56" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "322", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ca26baac-29e8-41b9-a29d-0a1f62b5ead5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDamagedPdf[1].json deleted file mode 100644 index 70839cb69b456..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4b60cb39-0b0b-4456-81e5-1ccc91009888", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "270", - "x-envoy-upstream-service-time" : "8", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "611a989e-ac9a-497a-a4d9-ef53a18e4f46", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImage\",\"message\":\"The file submitted couldn't be parsed. This can be due to one of the following reasons: the file format is not supported ( Supported formats include JPEG, PNG, BMP, PDF and TIFF), the file is corrupted or password protected.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDataMultiPage[1].json deleted file mode 100644 index b7ff2036c6fef..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromDataMultiPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b4ae5bf5-1305-4c62-b814-0157b5df60cd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "54", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c4594084-eac9-4e57-84e2-41a748adf1e2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c4594084-eac9-4e57-84e2-41a748adf1e2", - "Date" : "Wed, 07 Jul 2021 06:29:41 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c4594084-eac9-4e57-84e2-41a748adf1e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ec3eec0b-80fc-420c-aec9-46b0291d4c19" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7b9bf3e8-4e2c-4c73-85ac-695152f33a3b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:41Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c4594084-eac9-4e57-84e2-41a748adf1e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b2de5888-abf7-42a3-87fe-4df95d03e129" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "155", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1edb928b-5b9a-4394-8347-2df6e797c1e8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:41Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlMultiPage[1].json deleted file mode 100644 index eebe67f57a31a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlMultiPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ce0ac9eb-64d5-400e-92fc-8dfe141c7124", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "209", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "abfcf2c5-f970-4a57-9471-11e013b7b9b7", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/abfcf2c5-f970-4a57-9471-11e013b7b9b7", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/abfcf2c5-f970-4a57-9471-11e013b7b9b7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "573773d5-b15d-4abf-95f1-74fe5e313ae5" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "235", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "69711775-e9ce-423b-b8b4-c59ac04d4834", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/abfcf2c5-f970-4a57-9471-11e013b7b9b7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2eeeb599-f635-4a18-ada9-3488985421b9" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "930585e1-e133-4c63-978e-81dd2a9cf293", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index e441746d21327..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "0634b904-b3b7-454e-a1d0-8c2b46a6af8d", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "0634b904-b3b7-454e-a1d0-8c2b46a6af8d", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "0634b904-b3b7-454e-a1d0-8c2b46a6af8d", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "0634b904-b3b7-454e-a1d0-8c2b46a6af8d", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithPdf[1].json deleted file mode 100644 index 112651e5f5345..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrlWithPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fb1171f7-b85d-4d84-8740-48f4840a834d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "353", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bd30a18-c07b-492a-a42b-679b6c13f4a5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4bd30a18-c07b-492a-a42b-679b6c13f4a5", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4bd30a18-c07b-492a-a42b-679b6c13f4a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "237134b8-3d6f-4c7a-8e6d-9b4ee586d588" - }, - "Response" : { - "content-length" : "9723", - "x-envoy-upstream-service-time" : "78", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f9b22025-6e85-49da-9c44-4a3f39d60757", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.3540,0.5375,1.3540],\"text\":\"Contoso Suites\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.3540,0.5375,1.3540],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.7580,1.1349,2.6064,1.1349,2.6064,1.3534,1.7580,1.3534],\"text\":\"Suites\",\"confidence\":1}]},{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"text\":\"Invoice For: First Up Consultants\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"text\":\"For:\",\"confidence\":1},{\"boundingBox\":[5.2048,1.5130,5.4927,1.5130,5.4927,1.6151,5.2048,1.6151],\"text\":\"First\",\"confidence\":1},{\"boundingBox\":[5.5427,1.5130,5.7120,1.5130,5.7120,1.6407,5.5427,1.6407],\"text\":\"Up\",\"confidence\":1},{\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"text\":\"Consultants\",\"confidence\":1}]},{\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"text\":\"14564 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8107,1.7050,1.1733,1.7050,1.1733,1.8075,0.8107,1.8075],\"text\":\"14564\",\"confidence\":1},{\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[5.2043,1.7133,6.0220,1.7133,6.0220,1.8444,5.2043,1.8444],\"text\":\"1234 King St\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.8170,5.2043,1.8170],\"text\":\"1234\",\"confidence\":1},{\"boundingBox\":[5.5499,1.7149,5.8380,1.7149,5.8380,1.8444,5.5499,1.8444],\"text\":\"King\",\"confidence\":1},{\"boundingBox\":[5.8903,1.7133,6.0220,1.7133,6.0220,1.8172,5.8903,1.8172],\"text\":\"St\",\"confidence\":1}]},{\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"text\":\"Saratoga, CA 94588\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"text\":\"Saratoga,\",\"confidence\":1},{\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"text\":\"94588\",\"confidence\":1}]},{\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"text\":\"Redmond, WA 97624\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"text\":\"WA\",\"confidence\":1},{\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"text\":\"97624\",\"confidence\":1}]},{\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"text\":\"Invoice Number\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"text\":\"Number\",\"confidence\":1}]},{\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"text\":\"Invoice Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9491,2.8733,2.4150,2.8733,2.4150,2.9754,1.9491,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"text\":\"Invoice Due Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"text\":\"Due\",\"confidence\":1},{\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"confidence\":1}]},{\"boundingBox\":[6.1410,2.8730,6.5875,2.8730,6.5875,2.9736,6.1410,2.9736],\"text\":\"VAT ID\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.1410,2.8730,6.4147,2.8730,6.4147,2.9736,6.1410,2.9736],\"text\":\"VAT\",\"confidence\":1},{\"boundingBox\":[6.4655,2.8730,6.5875,2.8730,6.5875,2.9736,6.4655,2.9736],\"text\":\"ID\",\"confidence\":1}]},{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"confidence\":1}]},{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"confidence\":1}]},{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"confidence\":1}]},{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"confidence\":1}]},{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"confidence\":1}]},{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"confidence\":1}]},{\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"text\":\"1 of\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"text\":\"1\",\"confidence\":1},{\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"text\":\"of\",\"confidence\":1}]},{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.7900,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.7900,3.3036,2.7900,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.7900,4.7022,2.7900,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.7900,6.1008,2.7900,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.7900,7.4994,2.7900,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"7689302\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"3/09/2015\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/29/2016\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$22,123.24\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"QR\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.4981,2.7802,7.4935,2.7817,7.4916,3.8459,0.4963,3.8448]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4bd30a18-c07b-492a-a42b-679b6c13f4a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c4367fa6-0974-4919-a3fa-4bb77d363209" - }, - "Response" : { - "content-length" : "9723", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d1a63a50-2bd0-4eeb-af73-011bfdda578e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.3540,0.5375,1.3540],\"text\":\"Contoso Suites\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.3540,0.5375,1.3540],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.7580,1.1349,2.6064,1.1349,2.6064,1.3534,1.7580,1.3534],\"text\":\"Suites\",\"confidence\":1}]},{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"text\":\"Invoice For: First Up Consultants\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"text\":\"For:\",\"confidence\":1},{\"boundingBox\":[5.2048,1.5130,5.4927,1.5130,5.4927,1.6151,5.2048,1.6151],\"text\":\"First\",\"confidence\":1},{\"boundingBox\":[5.5427,1.5130,5.7120,1.5130,5.7120,1.6407,5.5427,1.6407],\"text\":\"Up\",\"confidence\":1},{\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"text\":\"Consultants\",\"confidence\":1}]},{\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"text\":\"14564 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8107,1.7050,1.1733,1.7050,1.1733,1.8075,0.8107,1.8075],\"text\":\"14564\",\"confidence\":1},{\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[5.2043,1.7133,6.0220,1.7133,6.0220,1.8444,5.2043,1.8444],\"text\":\"1234 King St\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.8170,5.2043,1.8170],\"text\":\"1234\",\"confidence\":1},{\"boundingBox\":[5.5499,1.7149,5.8380,1.7149,5.8380,1.8444,5.5499,1.8444],\"text\":\"King\",\"confidence\":1},{\"boundingBox\":[5.8903,1.7133,6.0220,1.7133,6.0220,1.8172,5.8903,1.8172],\"text\":\"St\",\"confidence\":1}]},{\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"text\":\"Saratoga, CA 94588\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"text\":\"Saratoga,\",\"confidence\":1},{\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"text\":\"94588\",\"confidence\":1}]},{\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"text\":\"Redmond, WA 97624\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"text\":\"WA\",\"confidence\":1},{\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"text\":\"97624\",\"confidence\":1}]},{\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"text\":\"Invoice Number\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"text\":\"Number\",\"confidence\":1}]},{\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"text\":\"Invoice Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9491,2.8733,2.4150,2.8733,2.4150,2.9754,1.9491,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"text\":\"Invoice Due Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"text\":\"Due\",\"confidence\":1},{\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"confidence\":1}]},{\"boundingBox\":[6.1410,2.8730,6.5875,2.8730,6.5875,2.9736,6.1410,2.9736],\"text\":\"VAT ID\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.1410,2.8730,6.4147,2.8730,6.4147,2.9736,6.1410,2.9736],\"text\":\"VAT\",\"confidence\":1},{\"boundingBox\":[6.4655,2.8730,6.5875,2.8730,6.5875,2.9736,6.4655,2.9736],\"text\":\"ID\",\"confidence\":1}]},{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"confidence\":1}]},{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"confidence\":1}]},{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"confidence\":1}]},{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"confidence\":1}]},{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"confidence\":1}]},{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"confidence\":1}]},{\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"text\":\"1 of\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"text\":\"1\",\"confidence\":1},{\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"text\":\"of\",\"confidence\":1}]},{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.7900,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.7900,3.3036,2.7900,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.7900,4.7022,2.7900,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.7900,6.1008,2.7900,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.7900,7.4994,2.7900,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"7689302\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"3/09/2015\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/29/2016\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$22,123.24\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"QR\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.4981,2.7802,7.4935,2.7817,7.4916,3.8459,0.4963,3.8448]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrl[1].json deleted file mode 100644 index 623be7c72d9d2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e983301e-d83a-4d7d-9e68-d50a772f9f66", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "251", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1a9a637c-a112-4453-be01-b9a8457a592d", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/1a9a637c-a112-4453-be01-b9a8457a592d", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/1a9a637c-a112-4453-be01-b9a8457a592d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "279245ea-b217-4f71-a99e-2008cf4d736b" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "be5c9693-6ae5-4a03-bcc5-c59e8150e5aa", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/1a9a637c-a112-4453-be01-b9a8457a592d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35dcd40b-d8f6-43a2-a0f6-6265277355ec" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99048aa4-6369-4fe6-9ba2-20855f3f9c2f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentIncorrectLanguageFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentIncorrectLanguageFromUrl[1].json deleted file mode 100644 index dbb9af3c5ae9a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentIncorrectLanguageFromUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?language=language", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d79516b6-f4fa-4ce8-bf2e-5769e3aca14e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "121", - "x-envoy-upstream-service-time" : "2", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92b389b6-5bac-44e2-80ae-1dba539e9802", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"NotSupportedLanguage\",\"message\":\"The requested operation is not supported in the language specified.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentInvalidSourceUrl[1].json deleted file mode 100644 index 5298e29d54c44..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a80a8ee4-0374-40fa-9156-14f72bf1ae58", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "208", - "x-envoy-upstream-service-time" : "1074", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d4592db8-e521-4327-8ebb-465e3fc10208", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"message\":\"Failed to download the image from the submitted URL. The URL may either be invalid or the server hosting the image is experiencing some technical difficulties.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithBlankPdf[1].json deleted file mode 100644 index 9d69b963aad53..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0d43cac4-035b-45e0-8fd6-867468770e31", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9d0dadac-8fa5-473f-9d11-0e46283ae0e2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/9d0dadac-8fa5-473f-9d11-0e46283ae0e2", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/9d0dadac-8fa5-473f-9d11-0e46283ae0e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "47b57449-774d-4d43-a3cd-f4afb3fe9567" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d68dc1f6-2227-4f64-b7ce-da39bc72e66b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/9d0dadac-8fa5-473f-9d11-0e46283ae0e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8121a3e9-f771-4d5c-92ef-889c96c4e7b2" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "210", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6b2a0bef-9a4c-485c-938a-dab989d35bd7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json deleted file mode 100644 index a20f08e373965..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1330b693-01ce-4704-90b4-52d9d8de7dd3", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "142", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "941a7560-2636-451c-b4e8-d0dccf9b547e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/941a7560-2636-451c-b4e8-d0dccf9b547e", - "Date" : "Wed, 07 Jul 2021 06:29:59 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/941a7560-2636-451c-b4e8-d0dccf9b547e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a0971a82-9912-4429-ac86-f61b80896d38" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "658f59b0-40e3-4305-a49d-0c7a3915eac7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:02Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/941a7560-2636-451c-b4e8-d0dccf9b547e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fac0cbd6-251c-4a5e-8208-f372db286bc9" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "85575a9c-2814-4316-b55b-3495c04a3e77", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:02Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPageRange[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPageRange[1].json deleted file mode 100644 index 5932b76a9fcd0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPageRange[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1-2%2C3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3e075b51-3769-46fa-b63a-c1856059e0cd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "72", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "65c85bac-db32-4e62-8650-0d7dd9913674", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/65c85bac-db32-4e62-8650-0d7dd9913674", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/65c85bac-db32-4e62-8650-0d7dd9913674", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "030a4841-e9bc-41b3-b651-d61221ebf169" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f90a0af2-9cc9-43bd-b883-0d7c1bba1d23", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/65c85bac-db32-4e62-8650-0d7dd9913674", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51b4b5f8-15c8-4d1a-95ce-3c960466bd37" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "106", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fd945bd1-2047-4620-a410-00b734a9960c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPage[1].json deleted file mode 100644 index 0bab8fcddb5b8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3f27fb37-1ef3-409a-a0a1-abcabcd65d31", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "120", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b0ed1a55-ef67-4f03-9690-6c77cb6bb54f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/b0ed1a55-ef67-4f03-9690-6c77cb6bb54f", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/b0ed1a55-ef67-4f03-9690-6c77cb6bb54f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a5e53cc5-1811-4133-8b0f-683a9519237d" - }, - "Response" : { - "content-length" : "16614", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "515ac0eb-9196-41c8-9342-2ab675122b6d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/b0ed1a55-ef67-4f03-9690-6c77cb6bb54f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b827abda-83b4-45a5-ba01-b3f756d39ea1" - }, - "Response" : { - "content-length" : "16614", - "x-envoy-upstream-service-time" : "149", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "207128ca-4bcd-450f-80ec-8cbfd540712d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPages[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPages[1].json deleted file mode 100644 index 740e17d12c6e4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithPages[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1%2C2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "92a44d3c-3858-465e-a10c-749ee193a72a", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "75", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fb737635-89b0-4eff-9c18-df8e4d0c85e1", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fb737635-89b0-4eff-9c18-df8e4d0c85e1", - "Date" : "Wed, 07 Jul 2021 06:31:55 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fb737635-89b0-4eff-9c18-df8e4d0c85e1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e90078a6-5d23-4270-b4b9-d595fa7e731c" - }, - "Response" : { - "content-length" : "16707", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f8b355fc-15a3-4ad5-98c6-9476f81cd6b1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:58Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fb737635-89b0-4eff-9c18-df8e4d0c85e1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5f46c21-4541-4584-9bbe-c6c89e3c5dfc" - }, - "Response" : { - "content-length" : "16707", - "x-envoy-upstream-service-time" : "170", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cd03637b-66f2-43af-a8b1-63232da72b11", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:58Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrderNatural[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrderNatural[1].json deleted file mode 100644 index 0930418623bc7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrderNatural[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?readingOrder=natural", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f6fef66b-3ebf-4c83-a21b-eca2bb9cd2d2", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "249", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3826a392-e611-4486-b0f6-d91d36b65422", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3826a392-e611-4486-b0f6-d91d36b65422", - "Date" : "Wed, 07 Jul 2021 06:29:08 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3826a392-e611-4486-b0f6-d91d36b65422", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4154b927-70f5-46da-96be-791b5ad87e17" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "106", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "85cab230-d8c5-4905-a68c-6e0aa1df63f4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/48/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/49/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/50/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/51/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3826a392-e611-4486-b0f6-d91d36b65422", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "efe3c58a-4760-4ca9-8a3b-db3722c2bdb8" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "71", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bec42dcd-e20e-4047-b0af-0a011604b40d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/48/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/49/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/50/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/51/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3826a392-e611-4486-b0f6-d91d36b65422", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22389efe-c8a6-4a08-aca9-b1938fa3fdcc" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d813e1c1-c772-4bbb-bd02-abd7a486482e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/48/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/49/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/50/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/51/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrder[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrder[1].json deleted file mode 100644 index 0dae0d46df006..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithReadingOrder[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?readingOrder=basic", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7be78dcc-35bb-48dd-a954-b87a26b4e818", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "370", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "205ff852-aa75-44cf-ab77-620afad40e7d", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/205ff852-aa75-44cf-ab77-620afad40e7d", - "Date" : "Wed, 07 Jul 2021 06:29:51 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/205ff852-aa75-44cf-ab77-620afad40e7d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aa1c86b9-fbda-4ba1-9d4a-0de70371db6d" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "315c3149-03ba-48eb-8da9-7dcc59073e20", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:53Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/205ff852-aa75-44cf-ab77-620afad40e7d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "396f4d15-f373-4f34-aa5a-23b5b3c60271" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5ead87ea-c29a-4555-84a1-402c720031de", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:53Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/205ff852-aa75-44cf-ab77-620afad40e7d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ae34cd50-ead2-4b16-b236-0fd2c77cf760" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "60", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2bb21c45-0a3a-429c-8068-4518f00770b7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:53Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarksFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarksFromUrl[1].json deleted file mode 100644 index df7231360e6e8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarksFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "24308778-76a5-4a03-af74-0cf4a6a1c130", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "238", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3808a95c-8a59-421b-b47a-fb29ffe57360", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3808a95c-8a59-421b-b47a-fb29ffe57360", - "Date" : "Wed, 07 Jul 2021 06:30:20 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3808a95c-8a59-421b-b47a-fb29ffe57360", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22f6ea45-df63-44a6-a438-0c591abf8748" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66ebfd7b-80c5-45f8-85fc-d5921584ef4d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3808a95c-8a59-421b-b47a-fb29ffe57360", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a528b233-d885-45bb-b3f2-f770d2e10eef" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "25854a04-dabf-452d-83a7-9b5e2a8c5e6f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarks[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarks[1].json deleted file mode 100644 index 3beb7bcec17c7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContentWithSelectionMarks[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c7064d4b-69c4-4781-87a5-4e7449923014", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "151", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "73df5d46-d788-4463-9415-a643d516abc7", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/73df5d46-d788-4463-9415-a643d516abc7", - "Date" : "Wed, 07 Jul 2021 06:30:16 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/73df5d46-d788-4463-9415-a643d516abc7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4ea11fac-bf6a-4a6f-a629-a609da3997b0" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a4d5dddf-c573-44cb-93ec-b2e938b7dffa", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/73df5d46-d788-4463-9415-a643d516abc7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "01a5cf48-d916-4102-b514-6dfeafa3b717" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "94b9712b-49bc-4325-9818-452340b8a821", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContent[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContent[1].json deleted file mode 100644 index 70c8f42bce4be..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeContent[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bdadbc37-cb31-4171-9f5e-90783e34a05d", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "214", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d6df168-6ca5-4a19-b4fd-a2f54968c6ba", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/0d6df168-6ca5-4a19-b4fd-a2f54968c6ba", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/0d6df168-6ca5-4a19-b4fd-a2f54968c6ba", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6f122b7f-827d-4cd9-8d1b-5e18fd904c49" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c407c8f-8a21-4a38-9881-159d4853ddbc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/0d6df168-6ca5-4a19-b4fd-a2f54968c6ba", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7db72161-1f5e-4020-8c0d-f33d0dc6479c" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fadf6444-58ab-40ae-a4e2-d0442ed4cd7b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormDamagedPdf[1].json deleted file mode 100644 index 4afbde5a7d933..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormDamagedPdf[1].json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3e4792a9-647b-4169-bc2e-9ca4c8914961", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "478", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b0239133-929d-418d-8873-7c5fe3053764", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:50 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "379d878e-48cc-42f5-b809-ce35407e1c55" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b5021c9b-9aa0-4f18-9fc1-da3411407652", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "721a5683-c877-4f80-8222-6151465149e6" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c1bfa53-198b-4ec9-ac83-8ea46aab6360", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3a410f7e-95be-4320-9fb0-a18319267589" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fafe1032-8c2b-4e48-a549-4cbf189b8e1f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35aa06dc-56f4-4f4c-8dc7-617225269706" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "72e8fa9d-d775-4eb6-995f-58966e422c99", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/88bdf5d4-a1f0-4f28-ab7d-fed4b292ef1b/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ae67ca7b-d9e6-4164-b201-dfbb05018368", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "57", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5816079f-ca04-49ff-bd3c-332748a1d3ef", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1000\",\"message\":\"Invalid input file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index ab60b590ff6d7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "c76835d4-d40a-4eac-8c95-651c54d9dc24", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "124", - "x-envoy-upstream-service-time" : "96", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f12e0654-a2d9-410c-bbac-168f12cb5619", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready, Model Id: 00000000-0000-0000-0000-000000000000\"}}", - "Date" : "Tue, 11 May 2021 21:18:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidSourceUrl[1].json deleted file mode 100644 index 1cc3ed3d64db2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidSourceUrl[1].json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8c3f3886-e0c0-49ac-9ab7-6328c0c8b12e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "404", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99636ae2-cf72-4295-ad47-996dac05f1f4", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:12 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5278c0d8-a6af-48a5-ae0e-278043a131cc" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5278c0d8-a6af-48a5-ae0e-278043a131cc?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22610916-f917-4d04-9921-b20a53ae03e1" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3486ad1a-31aa-4314-9f3c-3742d2cbaecc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5278c0d8-a6af-48a5-ae0e-278043a131cc\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:15Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5278c0d8-a6af-48a5-ae0e-278043a131cc?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "18ddf5f3-81f6-466b-a983-f408465be9e6" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "584f4d1c-a704-47bd-810b-51f1fa6cfb26", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5278c0d8-a6af-48a5-ae0e-278043a131cc\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:15Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5278c0d8-a6af-48a5-ae0e-278043a131cc/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "97c0b2e9-5708-4dff-90fe-b129e17cf3dd", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "76", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "82be9855-0e34-4ad2-afa2-2b26913acf93", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1003\",\"message\":\"Parameter 'Source' is not a valid Uri.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidStatus[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidStatus[1].json deleted file mode 100644 index 015b327b74363..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormInvalidStatus[1].json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5ccd7911-ffce-4faa-8edd-6273a2bf9eca", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "435", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b82bcb0a-87db-43fd-8a33-98eedede1f83", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:28 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e02c8b97-e521-43f0-b873-9da0ca4e6029" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e02c8b97-e521-43f0-b873-9da0ca4e6029?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "894cbdda-36b4-4da8-a6b4-759fb8d2bd34" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c08a58c0-1b1e-46e0-ab65-1f6542461d18", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e02c8b97-e521-43f0-b873-9da0ca4e6029\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e02c8b97-e521-43f0-b873-9da0ca4e6029?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3632d223-e2a1-484a-978c-c88a1f9e6c04" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eb75b988-b44a-4a14-92f7-5806bf97427e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e02c8b97-e521-43f0-b873-9da0ca4e6029\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e02c8b97-e521-43f0-b873-9da0ca4e6029/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6b536d61-270c-413a-954c-6d4ed401694e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "197", - "x-envoy-upstream-service-time" : "928", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92301f74-6f11-43cd-a7bd-deadb57841e0", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"2001\",\"message\":\"Failed to download the image from the submitted URL. The URL may either be invalid or the server hosting the image is experiencing some technical difficulties.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:35 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "UserResourceNotAvailable" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json deleted file mode 100644 index c8b81630ab482..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bc998a40-4d5e-4b45-94e3-84a40f905cb5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1065", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0c2369ef-f73c-4c0d-b42c-c08a738de794", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:42 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35870ff8-a68b-4821-892e-5ceacbdcf207" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bc6d0d30-9731-4b2b-851c-edb17177854c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"71a65c93-63f8-472e-b521-1136fe4c50e2\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:46Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "52ee819a-1818-4a98-ae41-ff7c3fc8d0f6" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "76", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "836e7dc9-134d-4305-888a-84bedb11bdbb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"71a65c93-63f8-472e-b521-1136fe4c50e2\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:46Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9267d226-248b-40c8-b847-ea1a14a79dce", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "86", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8e85f53d-ed8f-4308-a7ea-31c5d4789842", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2/analyzeresults/7e65a5bd-493f-4b6d-affd-fa67c88a9af5", - "Date" : "Wed, 07 Jul 2021 06:27:49 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2/analyzeResults/7e65a5bd-493f-4b6d-affd-fa67c88a9af5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e17ad403-93fa-4726-bc0b-043b33681eee" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7c1a1c6b-8fe4-48a6-9578-7ca1a78cd46b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:71a65c93-63f8-472e-b521-1136fe4c50e2\",\"modelId\":\"71a65c93-63f8-472e-b521-1136fe4c50e2\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/71a65c93-63f8-472e-b521-1136fe4c50e2/analyzeResults/7e65a5bd-493f-4b6d-affd-fa67c88a9af5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e4e71bdd-35da-4b30-9fe7-76f96031af39" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "380aea76-a787-4911-95fa-1b56b279a275", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:71a65c93-63f8-472e-b521-1136fe4c50e2\",\"modelId\":\"71a65c93-63f8-472e-b521-1136fe4c50e2\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json deleted file mode 100644 index 19dc9ada962cc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c9b658f7-2e5f-466a-8fc6-6677db461fac", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "740", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f328a6a7-ec3d-49ed-8c67-a440a2144c2c", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9ba30330-a614-4d52-8aac-02968584afe7" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "697b31e9-6127-445c-8827-2c1dd391ba94", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:06Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6abaf0a7-44ed-4603-b1e7-f9f3516fa37c" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "88", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d4535704-4e2d-4b54-93a4-08edd6f8c540", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:06Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc82cea3-3416-4316-8161-124c6e237cee", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "65", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f84abde9-0bc9-4ba8-88ad-9bac2bc72802", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d/analyzeresults/7748a1ed-5274-4c9d-b293-5ab0e18f8c6f", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d/analyzeResults/7748a1ed-5274-4c9d-b293-5ab0e18f8c6f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "441a4ca9-9a30-4826-9605-40c091407c6a" - }, - "Response" : { - "content-length" : "1195", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "24eb02da-42e7-49e6-8f9c-9d8ddd4ca680", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"modelId\":\"1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"confidence\":0.128},\"Merchant\":{\"type\":\"string\",\"confidence\":0.128},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.128},\"Tax\":{\"type\":\"string\",\"confidence\":0.128},\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.128},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.128},\"VendorName\":{\"type\":\"string\",\"confidence\":0.128},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.128},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.128},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.128},\"Total\":{\"type\":\"string\",\"confidence\":0.128},\"Quantity\":{\"type\":\"number\",\"confidence\":0.128},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.128},\"Website\":{\"type\":\"string\",\"confidence\":0.128},\"Email\":{\"type\":\"string\",\"confidence\":0.128}},\"docTypeConfidence\":0.001}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d7cfd8f-4f3d-4509-9249-c6bb023ed91d/analyzeResults/7748a1ed-5274-4c9d-b293-5ab0e18f8c6f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f48d3d5f-01dd-4244-925e-207017e14c4c" - }, - "Response" : { - "content-length" : "1195", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bde4bf61-2934-4f15-8d4f-a6b5184995c1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"modelId\":\"1d7cfd8f-4f3d-4509-9249-c6bb023ed91d\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"confidence\":0.128},\"Merchant\":{\"type\":\"string\",\"confidence\":0.128},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.128},\"Tax\":{\"type\":\"string\",\"confidence\":0.128},\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.128},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.128},\"VendorName\":{\"type\":\"string\",\"confidence\":0.128},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.128},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.128},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.128},\"Total\":{\"type\":\"string\",\"confidence\":0.128},\"Quantity\":{\"type\":\"number\",\"confidence\":0.128},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.128},\"Website\":{\"type\":\"string\",\"confidence\":0.128},\"Email\":{\"type\":\"string\",\"confidence\":0.128}},\"docTypeConfidence\":0.001}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 09c5f07df7298..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "364843a6-d2c2-41b1-9527-fa78d22e2c02", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "739", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d7b3965-6bdd-4bc5-ad0a-b342aaf6e221", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:52 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8edae306-004f-492b-96b0-26948a231625" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0e252163-71a8-46f3-b60f-35803567649a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:56Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b056070a-ff03-4b01-9694-5b791dcabd5b" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1729d33c-2171-4013-a5ca-1f0aa18e5e70", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:56Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "acec12b2-b5ca-47e2-803d-cadcd8d0ad02", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "87", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d2ea8b0b-087c-48af-b365-ee5bb2dbd95b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4/analyzeresults/e2bed3f7-46d4-4dde-be9a-cb986b0e37a3", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4/analyzeResults/e2bed3f7-46d4-4dde-be9a-cb986b0e37a3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "264dc020-a77f-4531-a1fc-d686c3db83c2" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c87697b-8f10-4221-bdd7-aec51851fb20", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"modelId\":\"c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4757107-e0d9-4abe-9da8-f8b5533c96e4/analyzeResults/e2bed3f7-46d4-4dde-be9a-cb986b0e37a3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7d92fb5e-761c-41ba-973b-12b7196d5692" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b703d5d5-78a3-4854-8556-0c9aa90ffc99", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"modelId\":\"c4757107-e0d9-4abe-9da8-f8b5533c96e4\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json deleted file mode 100644 index 79715a2d432a9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d64e3bda-5983-40fe-bb6a-0ca53fad3878", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "434", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "22fac526-d2f4-4156-9102-adf5e7a0fc3e", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:41 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4de29a8b-0c8d-46bd-b88a-a2daa19c591d" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7f9752a9-5283-44fd-8699-5d7eafb808df", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:45Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22b83add-080e-4d26-a890-42fbc941036c" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bef1ae27-615b-41b6-b1a0-5cb4d9159c22", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:45Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "96a58833-c464-43ce-a808-8e2017baf305", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "86", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "35df6c5e-42dd-48fc-8d60-39bfe5e69566", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60/analyzeresults/24ad36df-8580-4a56-a51b-462426fbb554", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60/analyzeResults/24ad36df-8580-4a56-a51b-462426fbb554", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "151b1787-97a0-4d08-a75c-dd3074ab0e33" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc23099f-f194-417d-ba44-bad443f2d737", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:30:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:51Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60/analyzeResults/24ad36df-8580-4a56-a51b-462426fbb554", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f94d85aa-9dcc-4c24-ab07-ebda135bd47b" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1b539dcf-bf0d-4825-a5e1-859d6333fd31", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"modelId\":\"5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"pageRange\":[1,1],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5bcc3ce6-48e1-46f4-b908-8b958cd43a60/analyzeResults/24ad36df-8580-4a56-a51b-462426fbb554", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "75ab22a6-2e64-4ee3-b14e-ad239dc5a319" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a0b4a7d2-a2a8-4d6c-8b61-6edf3a0ded30", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"modelId\":\"5bcc3ce6-48e1-46f4-b908-8b958cd43a60\",\"pageRange\":[1,1],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json deleted file mode 100644 index 9f52bb4a46e3d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4ad59c09-a6d8-4b48-a2e8-31155cfb99aa", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "424", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4dadcf85-952c-4307-a624-7aeb65e99574", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d6f9181d-260a-4726-a625-c1d97f7707f0" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d6f9181d-260a-4726-a625-c1d97f7707f0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3b562aa3-dda5-447d-8fd6-1dd73c766360" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5f4e88fc-7f5c-4642-8629-61cf1db3eac8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d6f9181d-260a-4726-a625-c1d97f7707f0\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:37Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d6f9181d-260a-4726-a625-c1d97f7707f0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1f08c2e8-b47b-426c-865e-b10553205214" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e49fb448-6261-4956-8c23-4c550a074664", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d6f9181d-260a-4726-a625-c1d97f7707f0\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:37Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json deleted file mode 100644 index f6d8d7e59d1c9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1b8f8d45-1827-4ff2-8bac-2dcc540173db", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "413", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d57e5a0f-284c-4a1b-b9f9-b391fd0b8a1e", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "44f031b5-8bf3-4eb5-a27b-a7be463e3d35" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "31867072-0685-401b-819b-d2c32f7ae1ce", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:24Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ec21ed3f-1d54-4a14-8205-9af7acf93601" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0a537cef-ac52-4c19-8d7f-1916231ded9e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:24Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "961478ba-c69c-45eb-897a-26e6d45a3996", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "75", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "02a3352a-ad3b-46ca-b660-27efd59833fb", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340/analyzeresults/37aa688b-cbfa-4b49-b59e-877bcbe8e2f0", - "Date" : "Wed, 07 Jul 2021 06:31:27 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340/analyzeResults/37aa688b-cbfa-4b49-b59e-877bcbe8e2f0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "de181597-1a20-49dc-a2c3-e4bc63784d96" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ba9f0e08-aa05-4368-983a-16d41086c537", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"modelId\":\"6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6ef4dadc-42cb-46b2-b93d-fa57dfa2a340/analyzeResults/37aa688b-cbfa-4b49-b59e-877bcbe8e2f0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5cddea0-aa16-4e7c-9a4d-b10c82d6cf15" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "45", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0be137ce-4df7-4536-9ac0-6fad5ddd3de7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"modelId\":\"6ef4dadc-42cb-46b2-b93d-fa57dfa2a340\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledData[1].json deleted file mode 100644 index ff7e69f17d27e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormLabeledData[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f1a44330-7ef8-493b-804e-360f89135d45", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "435", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "acf035fa-fc78-4de1-b082-2b5201ccc6dd", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:11 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "979e0201-863f-441f-adcf-3d5ca1021463" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d7eb1883-cbe4-410a-8c4e-51f96846b38b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "60587934-6209-45a5-97e8-47776dc09fe9" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "17fe6a78-7c55-49c8-97b8-3c80a9e9c1b9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:14Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "904fcaa6-8073-4601-ac3e-6089c28c7df1", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "98", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66692d08-9378-4da0-986c-337af98a0ba7", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87/analyzeresults/9c105edf-a34c-4b27-bf5c-1af461369334", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87/analyzeResults/9c105edf-a34c-4b27-bf5c-1af461369334", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c327a7a3-38e0-42a6-b67c-80ac06520854" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a56484b1-b8b6-4cb4-86e3-5aa7305cb873", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:31:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:21Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87/analyzeResults/9c105edf-a34c-4b27-bf5c-1af461369334", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bc64c807-c45e-4bcd-a86e-f4ece98b6c05" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ec71e66e-e9d2-4e4d-b69e-4ea597fab1ff", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:24Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"modelId\":\"5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"pageRange\":[1,1],\"fields\":{\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5cc0adaf-3a88-4b30-a9bd-f2e9976abd87/analyzeResults/9c105edf-a34c-4b27-bf5c-1af461369334", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7bbc6c8e-1ee8-45ec-8fc3-fa683219642b" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "00fb5d54-e686-405b-bb22-3f02f3f9b456", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:24Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"modelId\":\"5cc0adaf-3a88-4b30-a9bd-f2e9976abd87\",\"pageRange\":[1,1],\"fields\":{\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageLabeled[1].json deleted file mode 100644 index 3cda8afb7b984..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageLabeled[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c84ad718-a673-4600-8715-183f011ef17c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "419", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b7931b81-9545-4092-bb9f-301c179d5852", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:08 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "30d83f3c-0d95-4fe9-b66a-cfd79c9460de" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c8a7e2b4-cc90-4364-8399-ba694f961d5c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "625ce3f1-635b-4933-81da-890523b494e6" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a5577d30-12ac-4e31-a17c-0057ea240866", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f905dc6c-67c9-4b20-885b-27decdc3618e", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "63", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "98e21f99-ff03-4e4a-9bc8-5ed49941538f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211/analyzeresults/73b678c8-14da-4dc1-a035-f74ecbda4b98", - "Date" : "Wed, 07 Jul 2021 06:31:13 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211/analyzeResults/73b678c8-14da-4dc1-a035-f74ecbda4b98", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "212e84ee-9aff-4e4c-aed8-470d3743f221" - }, - "Response" : { - "content-length" : "37319", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ddb834af-43de-41b7-a03f-a0988a61e53a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"modelId\":\"4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"pageRange\":[1,3],\"fields\":{\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"]},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/35/words/1\"]},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\"]},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993,\"elements\":[\"#/readResults/2/lines/37/words/1\"]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99,\"elements\":[\"#/readResults/2/lines/38/words/1\",\"#/readResults/2/lines/38/words/2\"]},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/38/words/1\",\"#/readResults/0/lines/38/words/2\"]},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/34/words/1\"]},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/36/words/1\"]},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993,\"elements\":[\"#/readResults/2/lines/3/words/0\",\"#/readResults/2/lines/3/words/1\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/37/words/1\"]},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/15/words/0\"]}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4250ab82-4207-48b6-b5ed-e204cdcfe211/analyzeResults/73b678c8-14da-4dc1-a035-f74ecbda4b98", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5ef47837-4fc2-466f-8c60-0a8bf7b8f2ea" - }, - "Response" : { - "content-length" : "37319", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f2d2d252-ed4f-4571-9c3b-2d67d63155ae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.396,1.4556,6.8967,1.4556,6.8967,1.5931,6.396,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.319,5.4232,3.319],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.531,3.2541,3.531],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.78,3.6341,5.78,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.845,3.3202,3.845,3.3202,3.951,3.2589,3.951],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.781,4.0546,5.781,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.781,4.4746,5.781,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.632,4.8981,6.632,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.632,4.9042,6.632,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.836,5.1245,6.2022,5.1245,6.2022,5.2333,5.836,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.811,5.3445,6.2587,5.3445,6.2587,5.4533,5.811,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.942,5.5645,6.3987,5.5645,6.3987,5.6733,5.942,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.747,6.6553,2.4278,6.6553,2.4278,6.7981,1.747,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.764,1.1248,1.764,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.45,1.4556,6.9506,1.4556,6.9506,1.5931,6.45,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.803,1.6782,7.1006,1.6782,7.1006,1.7854,6.803,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.846,1.713,1.846,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.846,1.5022,1.846,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.891,6.9793,1.891,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.891,6.6861,1.891,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.061,1.8537,2.061,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.061,1.5605,2.061,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.109,1.0943,3.109],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.423,2.9996,5.7372,2.9996,5.7372,3.109,5.423,3.109],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.318,1.0832,3.318],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.319,3.2589,3.319],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.319,5.4232,3.319],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.531,1.0943,3.531],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.951,1.0943,3.951],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.836,5.1245,6.2887,5.1245,6.2887,5.2333,5.836,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.811,5.3445,6.3422,5.3445,6.3422,5.4533,5.811,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.942,5.5645,6.4825,5.5645,6.4825,5.6733,5.942,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.747,6.6556,2.4778,6.6556,2.4778,6.7981,1.747,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"modelId\":\"4250ab82-4207-48b6-b5ed-e204cdcfe211\",\"pageRange\":[1,3],\"fields\":{\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"]},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/35/words/1\"]},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\"]},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993,\"elements\":[\"#/readResults/2/lines/37/words/1\"]},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99,\"elements\":[\"#/readResults/2/lines/38/words/1\",\"#/readResults/2/lines/38/words/2\"]},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/38/words/1\",\"#/readResults/0/lines/38/words/2\"]},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/34/words/1\"]},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/36/words/1\"]},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993,\"elements\":[\"#/readResults/2/lines/3/words/0\",\"#/readResults/2/lines/3/words/1\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/37/words/1\"]},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/15/words/0\"]}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageUnlabeled[1].json deleted file mode 100644 index d2860f07ddd93..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormMultiPageUnlabeled[1].json +++ /dev/null @@ -1,524 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a53f308-f64f-4a3c-90b2-5a3c3018c9f9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "428", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2055d12a-5770-42d6-a9d8-4a8233dc1cbb", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:22 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f0be0f37-d63e-4a43-8f9b-bf0963c2d89c" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "249b3146-11db-4cfc-a6d6-59485cce3455", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "92e3bed9-6a95-4a2c-b0bd-38349efc7b27" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "123", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1a466558-bd19-4a00-ad57-7c06602a9226", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9b614775-4bc4-42b1-aa6b-12b085b2f986" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "78976ece-6f49-4b21-ab1c-4e2a45aa91d4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b2387290-b36d-4751-8457-30725db3b86e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d8f8f3c8-347b-4052-85b5-378cacd2420d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dd1d4c7f-295b-425b-aba1-1888aa32a9d2" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8950aba5-9781-4fc6-83cf-16ec9a276e87", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c1b05af2-596d-4ad8-b6b5-7263a2bfc7e9" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "44c946f7-b497-4ad9-9a4d-45feae52003f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7d9b4e0a-55e1-4a91-83c4-5d3f86aee512" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a1885b37-87fa-456e-9d21-b2b6d33b6729", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e1d05928-5bec-4adb-b323-778ef35b8a32" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "921b7b46-c0a7-4d10-a89b-9d899d53f88b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "017d9784-8c2c-4481-871b-ee781b6655c0" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "76ff0af7-d0a4-4bfe-a7d9-9560eee174fd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1ed06bfe-757c-4a77-a007-cad23dee2482" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cfef2190-1937-4066-a123-672b44079d7b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "833e3073-3997-4170-adfb-ced5898aed51" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "30f647e5-880c-4221-8886-a505e711a19e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dbf472c4-8231-4046-9dbc-b4963b93cde6" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "147f23aa-493d-47b9-9c10-c305008817be", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "70459df9-8957-4068-acf9-abc4be43e358" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fdc5cf11-a46d-4920-bf9e-b2e64704d548", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "75b517fc-6f2d-4ff2-8efb-d18654f11c1f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d9325529-06f7-498c-a8cb-d8be46264cb8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b60a7dd-55ea-47df-8206-b335ea15322a" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "086e39ba-b988-4b07-bf8a-c40e5f88d21b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "16626b71-c600-45fa-9b22-2d4348421a9d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1d4ea433-e451-457f-a231-1565d1408a7d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b4ceed3b-3c25-4ee6-a3b9-5d12284c4d73" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6ad9f1a6-a2fb-4107-ab7c-75c69451c747", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f475b3fa-1f1b-441c-a076-b76450cb3b0f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "18153d11-83c0-4a23-bcd6-8d8f4bfa6209", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8a563b99-1990-4e3e-bf22-24e0332bb3c2" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "beded011-005e-4809-a7c9-615e6191d727", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:33:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ad1ee116-5dec-4e44-829d-cc3c11bf3e62" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3179ac87-93ab-4101-9da6-5c4e4b1590a0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:33:05Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:33:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4f65fc33-10b2-4d55-8043-1dbecf061846" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bdf69f5f-2b82-4fb7-802f-4153da0c49b9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"0e53c864-738d-4e06-92e2-bd0b6f08cf9b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:33:05Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:33:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "71deb477-972b-4b26-a9d8-925deafe2c56", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "69", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e99e66b-5411-4464-be34-f74570026aef", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b/analyzeresults/fc49b5e7-9c3b-49e1-8026-b0033c9689f1", - "Date" : "Wed, 07 Jul 2021 06:33:05 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b/analyzeResults/fc49b5e7-9c3b-49e1-8026-b0033c9689f1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c759cf31-4f2c-4de6-82bf-0187efcc80a7" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3b3b3768-c677-4407-98cd-f295ea6ff6cf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:33:06Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:07Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:33:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b/analyzeResults/fc49b5e7-9c3b-49e1-8026-b0033c9689f1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "706dc841-842e-4e81-89c6-3ca6f5c897da" - }, - "Response" : { - "content-length" : "43475", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a14759cc-9517-4236-99d2-56b8892eaa4d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:33:06Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:14Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Company A Invoice\", \"boundingBox\": [0.8722, 1.1107, 2.3958, 1.1107, 2.3958, 1.2917, 0.8722, 1.2917], \"words\": [{\"text\": \"Company\", \"boundingBox\": [0.8722, 1.1146, 1.6042, 1.1146, 1.6042, 1.2917, 0.8722, 1.2917], \"confidence\": 0.994}, {\"text\": \"A\", \"boundingBox\": [1.6389, 1.1076, 1.7431, 1.1076, 1.7431, 1.2917, 1.6389, 1.2917], \"confidence\": 0.997}, {\"text\": \"Invoice\", \"boundingBox\": [1.7944, 1.1076, 2.3958, 1.1076, 2.3958, 1.2917, 1.7944, 1.2917], \"confidence\": 0.932}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [6.0028, 1.059, 6.6181, 1.059, 6.6181, 1.2292, 6.0028, 1.2292], \"confidence\": 0.94}, {\"text\": \"For:\", \"boundingBox\": [6.6667, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.6667, 1.2292], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"confidence\": 0.994}]}, {\"text\": \"Bilbo Baggins\", \"boundingBox\": [6.0028, 1.4428, 6.9167, 1.4428, 6.9167, 1.5924, 6.0028, 1.5924], \"words\": [{\"text\": \"Bilbo\", \"boundingBox\": [6.0028, 1.441, 6.3306, 1.441, 6.3306, 1.5868, 6.0028, 1.5868], \"confidence\": 0.996}, {\"text\": \"Baggins\", \"boundingBox\": [6.3583, 1.4444, 6.9167, 1.4444, 6.9167, 1.5972, 6.3583, 1.5972], \"confidence\": 0.996}]}, {\"text\": \"123 Hobbit Lane\", \"boundingBox\": [6.0, 1.6657, 7.1, 1.6657, 7.1, 1.8056, 6.0, 1.8056], \"words\": [{\"text\": \"123\", \"boundingBox\": [6.0, 1.6632, 6.2361, 1.6632, 6.2361, 1.8021, 6.0, 1.8021], \"confidence\": 0.994}, {\"text\": \"Hobbit\", \"boundingBox\": [6.2639, 1.6667, 6.7361, 1.6667, 6.7361, 1.8056, 6.2639, 1.8056], \"confidence\": 0.996}, {\"text\": \"Lane\", \"boundingBox\": [6.7639, 1.6667, 7.1, 1.6667, 7.1, 1.809, 6.7639, 1.809], \"confidence\": 0.994}]}, {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"words\": [{\"text\": \"567\", \"boundingBox\": [0.875, 1.8368, 1.1111, 1.8368, 1.1111, 1.9722, 0.875, 1.9722], \"confidence\": 0.997}, {\"text\": \"Main\", \"boundingBox\": [1.1389, 1.8368, 1.5, 1.8368, 1.5, 1.9688, 1.1389, 1.9688], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5278, 1.8368, 1.7194, 1.8368, 1.7194, 1.9688, 1.5278, 1.9688], \"confidence\": 0.997}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [6.0, 1.8854, 6.6917, 1.8854, 6.6917, 2.0243, 6.0, 2.0243], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [6.7194, 1.8819, 6.9556, 1.8819, 6.9556, 2.0312, 6.7194, 2.0312], \"confidence\": 0.998}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [0.875, 2.0556, 1.5625, 2.0556, 1.5625, 2.1944, 0.875, 2.1944], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [1.5903, 2.0521, 1.8264, 2.0521, 1.8264, 2.2014, 1.5903, 2.2014], \"confidence\": 0.996}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"confidence\": 0.984}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"confidence\": 0.978}]}, {\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"words\": [{\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 0.744}]}, {\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 0.994}]}, {\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"words\": [{\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 0.994}]}, {\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"words\": [{\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 0.994}]}, {\"text\": \"1\", \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"words\": [{\"text\": \"1\", \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 0.997}]}, {\"text\": \"10.99\", \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"words\": [{\"text\": \"10.99\", \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 0.994}]}, {\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"words\": [{\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"2\", \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"words\": [{\"text\": \"2\", \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"14.67\", \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"words\": [{\"text\": \"14.67\", \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 0.994}]}, {\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"words\": [{\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 0.996}]}, {\"text\": \"4\", \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"words\": [{\"text\": \"4\", \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 0.958}]}, {\"text\": \"15.66\", \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"words\": [{\"text\": \"15.66\", \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 0.993}]}, {\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"words\": [{\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"1\", \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"words\": [{\"text\": \"1\", \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 0.997}]}, {\"text\": \"12.00\", \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"words\": [{\"text\": \"12.00\", \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 0.993}]}, {\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"words\": [{\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 0.997}]}, {\"text\": \"4\", \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"words\": [{\"text\": \"4\", \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 0.997}]}, {\"text\": \"10.00\", \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"words\": [{\"text\": \"10.00\", \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 0.994}]}, {\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"words\": [{\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 0.997}]}, {\"text\": \"6\", \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"words\": [{\"text\": \"6\", \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 0.997}]}, {\"text\": \"12.00\", \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"words\": [{\"text\": \"12.00\", \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 0.994}]}, {\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"words\": [{\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 0.996}]}, {\"text\": \"8\", \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"words\": [{\"text\": \"8\", \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 0.995}]}, {\"text\": \"22.00\", \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"words\": [{\"text\": \"22.00\", \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 0.996}]}, {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"words\": [{\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"confidence\": 0.991}]}, {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"words\": [{\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"confidence\": 0.996}]}, {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"words\": [{\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"confidence\": 0.994}]}, {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"words\": [{\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"confidence\": 0.958}]}, {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"words\": [{\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"confidence\": 0.994}]}, {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"confidence\": 0.996}]}, {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"words\": [{\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"confidence\": 0.994}]}, {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"words\": [{\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"confidence\": 0.992}]}, {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"words\": [{\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"confidence\": 0.993}]}, {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"words\": [{\"text\": \"Bilbo\", \"boundingBox\": [2.0694, 6.6285, 2.4097, 6.6285, 2.4097, 6.8021, 2.0694, 6.8021], \"confidence\": 0.996}, {\"text\": \"Baggins\", \"boundingBox\": [2.4444, 6.6354, 3.0028, 6.6354, 3.0028, 6.8056, 2.4444, 6.8056], \"confidence\": 0.996}]}], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Company B Invoice\", \"boundingBox\": [0.8722, 1.1111, 2.3861, 1.1111, 2.3861, 1.2917, 0.8722, 1.2917], \"words\": [{\"text\": \"Company\", \"boundingBox\": [0.8722, 1.1146, 1.6042, 1.1146, 1.6042, 1.2917, 0.8722, 1.2917], \"confidence\": 0.994}, {\"text\": \"B\", \"boundingBox\": [1.6389, 1.1111, 1.7431, 1.1111, 1.7431, 1.2917, 1.6389, 1.2917], \"confidence\": 0.996}, {\"text\": \"Invoice\", \"boundingBox\": [1.7806, 1.1076, 2.3861, 1.1076, 2.3861, 1.2917, 1.7806, 1.2917], \"confidence\": 0.987}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [6.0028, 1.059, 6.6181, 1.059, 6.6181, 1.2292, 6.0028, 1.2292], \"confidence\": 0.941}, {\"text\": \"For:\", \"boundingBox\": [6.6778, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.6778, 1.2292], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"confidence\": 0.994}]}, {\"text\": \"Frodo Baggins\", \"boundingBox\": [6.0, 1.4444, 6.9653, 1.4444, 6.9653, 1.5924, 6.0, 1.5924], \"words\": [{\"text\": \"Frodo\", \"boundingBox\": [6.0, 1.4444, 6.3819, 1.4444, 6.3819, 1.5868, 6.0, 1.5868], \"confidence\": 0.994}, {\"text\": \"Baggins\", \"boundingBox\": [6.4139, 1.4444, 6.9653, 1.4444, 6.9653, 1.5972, 6.4139, 1.5972], \"confidence\": 0.996}]}, {\"text\": \"123 Hobbit Lane\", \"boundingBox\": [6.0, 1.6667, 7.0972, 1.6667, 7.0972, 1.8046, 6.0, 1.8046], \"words\": [{\"text\": \"123\", \"boundingBox\": [6.0, 1.6667, 6.2333, 1.6667, 6.2333, 1.8021, 6.0, 1.8021], \"confidence\": 0.994}, {\"text\": \"Hobbit\", \"boundingBox\": [6.2611, 1.6667, 6.7389, 1.6667, 6.7389, 1.8056, 6.2611, 1.8056], \"confidence\": 0.996}, {\"text\": \"Lane\", \"boundingBox\": [6.7667, 1.6667, 7.0972, 1.6667, 7.0972, 1.8056, 6.7667, 1.8056], \"confidence\": 0.994}]}, {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"words\": [{\"text\": \"567\", \"boundingBox\": [0.875, 1.8368, 1.1111, 1.8368, 1.1111, 1.9722, 0.875, 1.9722], \"confidence\": 0.997}, {\"text\": \"Main\", \"boundingBox\": [1.1389, 1.8368, 1.5, 1.8368, 1.5, 1.9688, 1.1389, 1.9688], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5278, 1.8368, 1.7194, 1.8368, 1.7194, 1.9688, 1.5278, 1.9688], \"confidence\": 0.997}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [6.0, 1.8854, 6.6917, 1.8854, 6.6917, 2.0243, 6.0, 2.0243], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [6.7153, 1.8819, 6.9514, 1.8819, 6.9514, 2.0312, 6.7153, 2.0312], \"confidence\": 0.998}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [0.875, 2.0556, 1.5625, 2.0556, 1.5625, 2.1944, 0.875, 2.1944], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [1.5903, 2.0521, 1.8264, 2.0521, 1.8264, 2.2014, 1.5903, 2.2014], \"confidence\": 0.996}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"confidence\": 0.984}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"confidence\": 0.978}]}, {\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"words\": [{\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 0.744}]}, {\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 0.994}]}, {\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"words\": [{\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 0.994}]}, {\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"words\": [{\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 0.994}]}, {\"text\": \"10\", \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"words\": [{\"text\": \"10\", \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 0.994}]}, {\"text\": \"100.99\", \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"words\": [{\"text\": \"100.99\", \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 0.992}]}, {\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"words\": [{\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"20\", \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"words\": [{\"text\": \"20\", \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 0.998}]}, {\"text\": \"140.67\", \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"words\": [{\"text\": \"140.67\", \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 0.994}]}, {\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"words\": [{\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 0.996}]}, {\"text\": \"40\", \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"words\": [{\"text\": \"40\", \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 0.994}]}, {\"text\": \"150.66\", \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"words\": [{\"text\": \"150.66\", \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 0.994}]}, {\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"words\": [{\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"10\", \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"words\": [{\"text\": \"10\", \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"120.00\", \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"words\": [{\"text\": \"120.00\", \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 0.991}]}, {\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"words\": [{\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 0.997}]}, {\"text\": \"40\", \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"words\": [{\"text\": \"40\", \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 0.994}]}, {\"text\": \"100.00\", \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 0.056}]}, {\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"words\": [{\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 0.997}]}, {\"text\": \"60\", \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"words\": [{\"text\": \"60\", \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 0.994}]}, {\"text\": \"120.00\", \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"words\": [{\"text\": \"120.00\", \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 0.994}]}, {\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"words\": [{\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 0.996}]}, {\"text\": \"80\", \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"words\": [{\"text\": \"80\", \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 0.986}]}, {\"text\": \"220.00\", \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"words\": [{\"text\": \"220.00\", \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 0.987}]}, {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"words\": [{\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"confidence\": 0.992}]}, {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"words\": [{\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"confidence\": 0.996}]}, {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"words\": [{\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"confidence\": 0.994}]}, {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"words\": [{\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"confidence\": 0.996}]}, {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"words\": [{\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"confidence\": 0.994}]}, {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"words\": [{\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"confidence\": 0.991}]}, {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"words\": [{\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"confidence\": 0.994}]}, {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"words\": [{\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"confidence\": 0.995}]}, {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"words\": [{\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"confidence\": 0.986}]}, {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"words\": [{\"text\": \"Frodo\", \"boundingBox\": [2.0722, 6.6493, 2.4653, 6.6493, 2.4653, 6.7847, 2.0722, 6.7847], \"confidence\": 0.994}, {\"text\": \"Baggins\", \"boundingBox\": [2.4931, 6.6458, 3.0528, 6.6458, 3.0528, 6.7951, 2.4931, 6.7951], \"confidence\": 0.996}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": [\"#/readResults/0/lines/1/words/0\", \"#/readResults/0/lines/1/words/1\"]}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": [\"#/readResults/0/lines/2/words/0\"]}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": [\"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": [\"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": [\"#/readResults/0/lines/8/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": [\"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": [\"#/readResults/0/lines/34/words/0\"]}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": [\"#/readResults/0/lines/35/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": [\"#/readResults/0/lines/36/words/0\"]}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": [\"#/readResults/0/lines/37/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": [\"#/readResults/0/lines/38/words/0\"]}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": [\"#/readResults/0/lines/39/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": [\"#/readResults/0/lines/40/words/0\"]}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": [\"#/readResults/0/lines/41/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": [\"#/readResults/0/lines/42/words/0\"]}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": [\"#/readResults/0/lines/43/words/0\", \"#/readResults/0/lines/43/words/1\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/18/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/19/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/20/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/21/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/22/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/23/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/24/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/25/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/26/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/27/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/28/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/29/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/30/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/31/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/32/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": [\"#/readResults/2/lines/1/words/0\", \"#/readResults/2/lines/1/words/1\"]}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": [\"#/readResults/2/lines/3/words/0\", \"#/readResults/2/lines/3/words/1\", \"#/readResults/2/lines/4/words/0\", \"#/readResults/2/lines/4/words/1\", \"#/readResults/2/lines/4/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": [\"#/readResults/2/lines/2/words/0\"]}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": [\"#/readResults/2/lines/5/words/0\", \"#/readResults/2/lines/5/words/1\", \"#/readResults/2/lines/5/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": [\"#/readResults/2/lines/6/words/0\", \"#/readResults/2/lines/6/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": [\"#/readResults/2/lines/8/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": [\"#/readResults/2/lines/7/words/0\", \"#/readResults/2/lines/7/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": [\"#/readResults/2/lines/9/words/0\"]}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": [\"#/readResults/2/lines/34/words/0\"]}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": [\"#/readResults/2/lines/35/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": [\"#/readResults/2/lines/36/words/0\"]}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": [\"#/readResults/2/lines/37/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": [\"#/readResults/2/lines/38/words/0\"]}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": [\"#/readResults/2/lines/39/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": [\"#/readResults/2/lines/40/words/0\"]}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": [\"#/readResults/2/lines/41/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": [\"#/readResults/2/lines/42/words/0\"]}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": [\"#/readResults/2/lines/43/words/0\", \"#/readResults/2/lines/43/words/1\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/10/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/12/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/18/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/19/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/20/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/21/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/22/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/23/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/24/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/25/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/26/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/27/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/28/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/29/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/30/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/31/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/32/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/33/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/0e53c864-738d-4e06-92e2-bd0b6f08cf9b/analyzeResults/fc49b5e7-9c3b-49e1-8026-b0033c9689f1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dfd859e7-6570-4db1-934b-57bb9293204b" - }, - "Response" : { - "content-length" : "43475", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "252cea4d-6b62-4340-b399-5d6168d28492", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:33:06Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:14Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Company A Invoice\", \"boundingBox\": [0.8722, 1.1107, 2.3958, 1.1107, 2.3958, 1.2917, 0.8722, 1.2917], \"words\": [{\"text\": \"Company\", \"boundingBox\": [0.8722, 1.1146, 1.6042, 1.1146, 1.6042, 1.2917, 0.8722, 1.2917], \"confidence\": 0.994}, {\"text\": \"A\", \"boundingBox\": [1.6389, 1.1076, 1.7431, 1.1076, 1.7431, 1.2917, 1.6389, 1.2917], \"confidence\": 0.997}, {\"text\": \"Invoice\", \"boundingBox\": [1.7944, 1.1076, 2.3958, 1.1076, 2.3958, 1.2917, 1.7944, 1.2917], \"confidence\": 0.932}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [6.0028, 1.059, 6.6181, 1.059, 6.6181, 1.2292, 6.0028, 1.2292], \"confidence\": 0.94}, {\"text\": \"For:\", \"boundingBox\": [6.6667, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.6667, 1.2292], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"confidence\": 0.994}]}, {\"text\": \"Bilbo Baggins\", \"boundingBox\": [6.0028, 1.4428, 6.9167, 1.4428, 6.9167, 1.5924, 6.0028, 1.5924], \"words\": [{\"text\": \"Bilbo\", \"boundingBox\": [6.0028, 1.441, 6.3306, 1.441, 6.3306, 1.5868, 6.0028, 1.5868], \"confidence\": 0.996}, {\"text\": \"Baggins\", \"boundingBox\": [6.3583, 1.4444, 6.9167, 1.4444, 6.9167, 1.5972, 6.3583, 1.5972], \"confidence\": 0.996}]}, {\"text\": \"123 Hobbit Lane\", \"boundingBox\": [6.0, 1.6657, 7.1, 1.6657, 7.1, 1.8056, 6.0, 1.8056], \"words\": [{\"text\": \"123\", \"boundingBox\": [6.0, 1.6632, 6.2361, 1.6632, 6.2361, 1.8021, 6.0, 1.8021], \"confidence\": 0.994}, {\"text\": \"Hobbit\", \"boundingBox\": [6.2639, 1.6667, 6.7361, 1.6667, 6.7361, 1.8056, 6.2639, 1.8056], \"confidence\": 0.996}, {\"text\": \"Lane\", \"boundingBox\": [6.7639, 1.6667, 7.1, 1.6667, 7.1, 1.809, 6.7639, 1.809], \"confidence\": 0.994}]}, {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"words\": [{\"text\": \"567\", \"boundingBox\": [0.875, 1.8368, 1.1111, 1.8368, 1.1111, 1.9722, 0.875, 1.9722], \"confidence\": 0.997}, {\"text\": \"Main\", \"boundingBox\": [1.1389, 1.8368, 1.5, 1.8368, 1.5, 1.9688, 1.1389, 1.9688], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5278, 1.8368, 1.7194, 1.8368, 1.7194, 1.9688, 1.5278, 1.9688], \"confidence\": 0.997}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [6.0, 1.8854, 6.6917, 1.8854, 6.6917, 2.0243, 6.0, 2.0243], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [6.7194, 1.8819, 6.9556, 1.8819, 6.9556, 2.0312, 6.7194, 2.0312], \"confidence\": 0.998}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [0.875, 2.0556, 1.5625, 2.0556, 1.5625, 2.1944, 0.875, 2.1944], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [1.5903, 2.0521, 1.8264, 2.0521, 1.8264, 2.2014, 1.5903, 2.2014], \"confidence\": 0.996}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"confidence\": 0.984}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"confidence\": 0.978}]}, {\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"words\": [{\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 0.744}]}, {\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 0.994}]}, {\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"words\": [{\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 0.994}]}, {\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"words\": [{\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 0.994}]}, {\"text\": \"1\", \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"words\": [{\"text\": \"1\", \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 0.997}]}, {\"text\": \"10.99\", \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"words\": [{\"text\": \"10.99\", \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 0.994}]}, {\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"words\": [{\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"2\", \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"words\": [{\"text\": \"2\", \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"14.67\", \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"words\": [{\"text\": \"14.67\", \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 0.994}]}, {\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"words\": [{\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 0.996}]}, {\"text\": \"4\", \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"words\": [{\"text\": \"4\", \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 0.958}]}, {\"text\": \"15.66\", \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"words\": [{\"text\": \"15.66\", \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 0.993}]}, {\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"words\": [{\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"1\", \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"words\": [{\"text\": \"1\", \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 0.997}]}, {\"text\": \"12.00\", \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"words\": [{\"text\": \"12.00\", \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 0.993}]}, {\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"words\": [{\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 0.997}]}, {\"text\": \"4\", \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"words\": [{\"text\": \"4\", \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 0.997}]}, {\"text\": \"10.00\", \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"words\": [{\"text\": \"10.00\", \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 0.994}]}, {\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"words\": [{\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 0.997}]}, {\"text\": \"6\", \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"words\": [{\"text\": \"6\", \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 0.997}]}, {\"text\": \"12.00\", \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"words\": [{\"text\": \"12.00\", \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 0.994}]}, {\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"words\": [{\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 0.996}]}, {\"text\": \"8\", \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"words\": [{\"text\": \"8\", \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 0.995}]}, {\"text\": \"22.00\", \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"words\": [{\"text\": \"22.00\", \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 0.996}]}, {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"words\": [{\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"confidence\": 0.991}]}, {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"words\": [{\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"confidence\": 0.996}]}, {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"words\": [{\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"confidence\": 0.994}]}, {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"words\": [{\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"confidence\": 0.958}]}, {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"words\": [{\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"confidence\": 0.994}]}, {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"confidence\": 0.996}]}, {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"words\": [{\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"confidence\": 0.994}]}, {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"words\": [{\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"confidence\": 0.992}]}, {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"words\": [{\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"confidence\": 0.993}]}, {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"words\": [{\"text\": \"Bilbo\", \"boundingBox\": [2.0694, 6.6285, 2.4097, 6.6285, 2.4097, 6.8021, 2.0694, 6.8021], \"confidence\": 0.996}, {\"text\": \"Baggins\", \"boundingBox\": [2.4444, 6.6354, 3.0028, 6.6354, 3.0028, 6.8056, 2.4444, 6.8056], \"confidence\": 0.996}]}], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Company B Invoice\", \"boundingBox\": [0.8722, 1.1111, 2.3861, 1.1111, 2.3861, 1.2917, 0.8722, 1.2917], \"words\": [{\"text\": \"Company\", \"boundingBox\": [0.8722, 1.1146, 1.6042, 1.1146, 1.6042, 1.2917, 0.8722, 1.2917], \"confidence\": 0.994}, {\"text\": \"B\", \"boundingBox\": [1.6389, 1.1111, 1.7431, 1.1111, 1.7431, 1.2917, 1.6389, 1.2917], \"confidence\": 0.996}, {\"text\": \"Invoice\", \"boundingBox\": [1.7806, 1.1076, 2.3861, 1.1076, 2.3861, 1.2917, 1.7806, 1.2917], \"confidence\": 0.987}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [6.0028, 1.059, 6.6181, 1.059, 6.6181, 1.2292, 6.0028, 1.2292], \"confidence\": 0.941}, {\"text\": \"For:\", \"boundingBox\": [6.6778, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.6778, 1.2292], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"confidence\": 0.994}]}, {\"text\": \"Frodo Baggins\", \"boundingBox\": [6.0, 1.4444, 6.9653, 1.4444, 6.9653, 1.5924, 6.0, 1.5924], \"words\": [{\"text\": \"Frodo\", \"boundingBox\": [6.0, 1.4444, 6.3819, 1.4444, 6.3819, 1.5868, 6.0, 1.5868], \"confidence\": 0.994}, {\"text\": \"Baggins\", \"boundingBox\": [6.4139, 1.4444, 6.9653, 1.4444, 6.9653, 1.5972, 6.4139, 1.5972], \"confidence\": 0.996}]}, {\"text\": \"123 Hobbit Lane\", \"boundingBox\": [6.0, 1.6667, 7.0972, 1.6667, 7.0972, 1.8046, 6.0, 1.8046], \"words\": [{\"text\": \"123\", \"boundingBox\": [6.0, 1.6667, 6.2333, 1.6667, 6.2333, 1.8021, 6.0, 1.8021], \"confidence\": 0.994}, {\"text\": \"Hobbit\", \"boundingBox\": [6.2611, 1.6667, 6.7389, 1.6667, 6.7389, 1.8056, 6.2611, 1.8056], \"confidence\": 0.996}, {\"text\": \"Lane\", \"boundingBox\": [6.7667, 1.6667, 7.0972, 1.6667, 7.0972, 1.8056, 6.7667, 1.8056], \"confidence\": 0.994}]}, {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"words\": [{\"text\": \"567\", \"boundingBox\": [0.875, 1.8368, 1.1111, 1.8368, 1.1111, 1.9722, 0.875, 1.9722], \"confidence\": 0.997}, {\"text\": \"Main\", \"boundingBox\": [1.1389, 1.8368, 1.5, 1.8368, 1.5, 1.9688, 1.1389, 1.9688], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5278, 1.8368, 1.7194, 1.8368, 1.7194, 1.9688, 1.5278, 1.9688], \"confidence\": 0.997}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [6.0, 1.8854, 6.6917, 1.8854, 6.6917, 2.0243, 6.0, 2.0243], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [6.7153, 1.8819, 6.9514, 1.8819, 6.9514, 2.0312, 6.7153, 2.0312], \"confidence\": 0.998}]}, {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [0.875, 2.0556, 1.5625, 2.0556, 1.5625, 2.1944, 0.875, 2.1944], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [1.5903, 2.0521, 1.8264, 2.0521, 1.8264, 2.2014, 1.5903, 2.2014], \"confidence\": 0.996}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"confidence\": 0.984}]}, {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"words\": [{\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"confidence\": 0.978}]}, {\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"words\": [{\"text\": \"Item\", \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 0.744}]}, {\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 0.994}]}, {\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"words\": [{\"text\": \"Price\", \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 0.994}]}, {\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"words\": [{\"text\": \"A\", \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 0.994}]}, {\"text\": \"10\", \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"words\": [{\"text\": \"10\", \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 0.994}]}, {\"text\": \"100.99\", \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"words\": [{\"text\": \"100.99\", \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 0.992}]}, {\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"words\": [{\"text\": \"B\", \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 0.997}]}, {\"text\": \"20\", \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"words\": [{\"text\": \"20\", \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 0.998}]}, {\"text\": \"140.67\", \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"words\": [{\"text\": \"140.67\", \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 0.994}]}, {\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"words\": [{\"text\": \"C\", \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 0.996}]}, {\"text\": \"40\", \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"words\": [{\"text\": \"40\", \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 0.994}]}, {\"text\": \"150.66\", \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"words\": [{\"text\": \"150.66\", \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 0.994}]}, {\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"words\": [{\"text\": \"D\", \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"10\", \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"words\": [{\"text\": \"10\", \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 0.994}]}, {\"text\": \"120.00\", \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"words\": [{\"text\": \"120.00\", \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 0.991}]}, {\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"words\": [{\"text\": \"E\", \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 0.997}]}, {\"text\": \"40\", \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"words\": [{\"text\": \"40\", \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 0.994}]}, {\"text\": \"100.00\", \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 0.056}]}, {\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"words\": [{\"text\": \"F\", \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 0.997}]}, {\"text\": \"60\", \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"words\": [{\"text\": \"60\", \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 0.994}]}, {\"text\": \"120.00\", \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"words\": [{\"text\": \"120.00\", \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 0.994}]}, {\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"words\": [{\"text\": \"G\", \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 0.996}]}, {\"text\": \"80\", \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"words\": [{\"text\": \"80\", \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 0.986}]}, {\"text\": \"220.00\", \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"words\": [{\"text\": \"220.00\", \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 0.987}]}, {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"words\": [{\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"confidence\": 0.992}]}, {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"words\": [{\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"confidence\": 0.996}]}, {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"words\": [{\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"confidence\": 0.994}]}, {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"words\": [{\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"confidence\": 0.996}]}, {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"words\": [{\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"confidence\": 0.994}]}, {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"words\": [{\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"confidence\": 0.991}]}, {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"words\": [{\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"confidence\": 0.994}]}, {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"words\": [{\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"confidence\": 0.995}]}, {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"words\": [{\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"confidence\": 0.986}]}, {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"words\": [{\"text\": \"Frodo\", \"boundingBox\": [2.0722, 6.6493, 2.4653, 6.6493, 2.4653, 6.7847, 2.0722, 6.7847], \"confidence\": 0.994}, {\"text\": \"Baggins\", \"boundingBox\": [2.4931, 6.6458, 3.0528, 6.6458, 3.0528, 6.7951, 2.4931, 6.7951], \"confidence\": 0.996}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": [\"#/readResults/0/lines/1/words/0\", \"#/readResults/0/lines/1/words/1\"]}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": [\"#/readResults/0/lines/2/words/0\"]}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": [\"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": [\"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": [\"#/readResults/0/lines/8/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": [\"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": [\"#/readResults/0/lines/34/words/0\"]}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": [\"#/readResults/0/lines/35/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": [\"#/readResults/0/lines/36/words/0\"]}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": [\"#/readResults/0/lines/37/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": [\"#/readResults/0/lines/38/words/0\"]}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": [\"#/readResults/0/lines/39/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": [\"#/readResults/0/lines/40/words/0\"]}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": [\"#/readResults/0/lines/41/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": [\"#/readResults/0/lines/42/words/0\"]}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": [\"#/readResults/0/lines/43/words/0\", \"#/readResults/0/lines/43/words/1\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/18/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/19/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/20/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/21/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/22/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/23/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/24/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/25/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/26/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/27/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/28/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/29/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/30/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/31/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/32/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": [\"#/readResults/2/lines/1/words/0\", \"#/readResults/2/lines/1/words/1\"]}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": [\"#/readResults/2/lines/3/words/0\", \"#/readResults/2/lines/3/words/1\", \"#/readResults/2/lines/4/words/0\", \"#/readResults/2/lines/4/words/1\", \"#/readResults/2/lines/4/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": [\"#/readResults/2/lines/2/words/0\"]}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": [\"#/readResults/2/lines/5/words/0\", \"#/readResults/2/lines/5/words/1\", \"#/readResults/2/lines/5/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": [\"#/readResults/2/lines/6/words/0\", \"#/readResults/2/lines/6/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": [\"#/readResults/2/lines/8/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": [\"#/readResults/2/lines/7/words/0\", \"#/readResults/2/lines/7/words/1\"]}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": [\"#/readResults/2/lines/9/words/0\"]}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": [\"#/readResults/2/lines/34/words/0\"]}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": [\"#/readResults/2/lines/35/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": [\"#/readResults/2/lines/36/words/0\"]}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": [\"#/readResults/2/lines/37/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": [\"#/readResults/2/lines/38/words/0\"]}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": [\"#/readResults/2/lines/39/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": [\"#/readResults/2/lines/40/words/0\"]}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": [\"#/readResults/2/lines/41/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": [\"#/readResults/2/lines/42/words/0\"]}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": [\"#/readResults/2/lines/43/words/0\", \"#/readResults/2/lines/43/words/1\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/10/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/12/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/18/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/19/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/20/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/21/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/22/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/23/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/24/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/25/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/26/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/27/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/28/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/29/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/30/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/31/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/32/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/2/lines/33/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json deleted file mode 100644 index a9428d487819e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b1bf9bcb-7127-49a4-ab3a-dc37bd00922f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "644", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5c7cbe2e-2667-4a85-b2fb-cdb48b3ac739", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:32 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3e3c26b9-235c-450b-92d4-9a0d3881de1e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "175da479-cdbc-4308-a2e6-659899f91947", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f2f37101-1f06-4b8f-b0b8-cece869797e5\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a4c954c7-3969-468a-96c9-7b538b9abb77" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "41d2aa4f-0138-42ad-8038-499e77a4b431", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f2f37101-1f06-4b8f-b0b8-cece869797e5\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "50389f84-2f09-4402-8ba4-aeb93e70e5d1" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d425317a-cfe4-4e59-b568-5bdfbacb45a0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f2f37101-1f06-4b8f-b0b8-cece869797e5\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "59def35e-ddad-45e9-9718-09bae2b95841" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1a2135a0-496a-4a97-ba92-41f66ec10d11", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f2f37101-1f06-4b8f-b0b8-cece869797e5\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f2d9feb4-33b1-4203-9ee7-2871f0b789f4", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "69", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "de540a7e-60c8-43c3-a77b-fdf0225396d0", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5/analyzeresults/bdf985b9-830d-409c-82d7-ca058d72d533", - "Date" : "Wed, 07 Jul 2021 06:30:48 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5/analyzeResults/bdf985b9-830d-409c-82d7-ca058d72d533", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3c2b31ac-9145-4140-83de-4c6ba51135b8" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "03a01d51-a11d-4567-b131-8c70e7bdecbc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:49Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:49Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5/analyzeResults/bdf985b9-830d-409c-82d7-ca058d72d533", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e652cb86-030a-45b2-9c06-bffae752bb26" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2b1504f1-5f85-4dcd-947a-c23d0464b196", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:49Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:56Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f2f37101-1f06-4b8f-b0b8-cece869797e5/analyzeResults/bdf985b9-830d-409c-82d7-ca058d72d533", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e545ade8-9a4b-43c2-92c8-d9265a13bd6b" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "08232bac-f6f9-470d-8a49-1f339bb3c676", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:49Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:56Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json deleted file mode 100644 index f79c82eb64060..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8e07f29a-85d5-48e5-94ee-8b94149926ce", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "489", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c617488-a4e2-4e25-b4ff-9ce4ad48a006", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b383d474-4ba2-4a32-ab92-ca5be118f506" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e333689e-88e7-437b-9c90-b827922a86fc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"22e6c88f-0f25-4b28-814b-22f90b2d3829\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:48Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "931ec370-1759-4216-bb30-fb661f2f8f50" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bb8bb7df-7040-4fde-9a8b-7a86e44bb1d5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"22e6c88f-0f25-4b28-814b-22f90b2d3829\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:48Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90e9576b-844f-45ec-89ef-567b5b4bf1ad" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a7a24af8-7d9a-4bad-86cb-34f7dd151d8b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"22e6c88f-0f25-4b28-814b-22f90b2d3829\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "68f019c5-146a-4fc8-ba0c-bf935aad7848" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d438ceca-126c-4c88-8a34-b80a77fb9c9c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"22e6c88f-0f25-4b28-814b-22f90b2d3829\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51cd9477-10c7-43f0-8d10-ce3d0ff57554", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "72", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f02a5f12-aea7-41c0-95ea-fa302a57dab8", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829/analyzeresults/7e9781cd-2497-48b1-b1a0-6dfdd6b171a5", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829/analyzeResults/7e9781cd-2497-48b1-b1a0-6dfdd6b171a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e91fac9f-db92-4dbc-a8a4-b507a59c2daf" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "87fa1dd1-b232-4357-a0a8-940e81b1fa03", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:05Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829/analyzeResults/7e9781cd-2497-48b1-b1a0-6dfdd6b171a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "14fe9703-6a93-4109-a921-019e9b08be90" - }, - "Response" : { - "content-length" : "398", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eecf027f-7223-43a7-b46e-39bb9ce873f1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:10Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/22e6c88f-0f25-4b28-814b-22f90b2d3829/analyzeResults/7e9781cd-2497-48b1-b1a0-6dfdd6b171a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9157af8-6bea-43dc-8ed0-91710bc73972" - }, - "Response" : { - "content-length" : "398", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7dafb4e0-3b04-45c5-97fd-01dca3e54807", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:10Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json deleted file mode 100644 index 28869d1571d31..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1a4f732f-8b6d-4201-be19-d5fd962de252", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "423", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "38821e0a-3c74-4323-8b4f-60992338e3d1", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:46 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "012ff1ad-46b1-4a34-aac2-49f1bb0940b5" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1079add8-ff7e-49a9-8367-d3905833afe0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1ea79372-32bc-48d0-a8cc-e9ee0af2f60e\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:47Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3aed033-ea8f-4bad-85c6-2e2059c89042" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "526b6f49-8cb2-4da3-8ba7-f355da031217", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1ea79372-32bc-48d0-a8cc-e9ee0af2f60e\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:47Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cd041f06-596b-4378-951c-01572ff275fb" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "35861125-0118-4a50-b674-28d1e3c0441a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1ea79372-32bc-48d0-a8cc-e9ee0af2f60e\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ce58f68d-c234-46a5-bc60-404f3847e1b9" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "acc1cc26-5284-4d1b-9648-b1302c75e435", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1ea79372-32bc-48d0-a8cc-e9ee0af2f60e\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7e8f7a25-1c56-49c4-9843-a0e7aa5ba3fc", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "85", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fe099d73-6113-4be6-a138-9968189620b2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyzeresults/df3683f4-7610-4c65-a650-66f9e20c5fed", - "Date" : "Wed, 07 Jul 2021 06:30:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyzeResults/df3683f4-7610-4c65-a650-66f9e20c5fed", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "83dec96f-ea59-4d8a-ab85-49ee4b170f6c" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1d6d62bf-2f8b-464b-a501-9d2514a34560", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:05Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:05Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyzeResults/df3683f4-7610-4c65-a650-66f9e20c5fed", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "123ded0c-e589-48b2-818c-ecda9c5cc963" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c9902c1f-847e-4b16-9d6c-12505d86f27c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:05Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:05Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyzeResults/df3683f4-7610-4c65-a650-66f9e20c5fed", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6677da5d-f8c8-4b48-af34-cbf231c9cf10" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc99fa7a-46a9-42a1-a9a8-d633c4860a09", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:05Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:15Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1ea79372-32bc-48d0-a8cc-e9ee0af2f60e/analyzeResults/df3683f4-7610-4c65-a650-66f9e20c5fed", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3f12f40-0dcb-402b-8e11-cce94e01012c" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fbd5a967-79e0-4b74-9450-021dabf3d23e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:05Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:15Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledData[1].json deleted file mode 100644 index baf4a0ab12898..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUnlabeledData[1].json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0168bfd8-f7da-4155-8a95-3b79b009850c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "415", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "53be03df-1031-4584-aa29-5336c9b7a0fe", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:37 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b9b22be-f72a-481d-94fc-4dabfdeab575" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ba9a1205-ca26-4f8b-b1d3-7d92ac5765e9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed435f89-b8aa-4898-8e81-3d6618c54306\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:37Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4f7c0fe1-1189-48a4-9043-7da9f816d177" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d339015e-f1fb-4c42-b167-0b898fe65480", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed435f89-b8aa-4898-8e81-3d6618c54306\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:37Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c414f561-10ab-4736-a997-6221dd3c6f76" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a76e4452-b820-4d6b-acf9-4b559eada668", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed435f89-b8aa-4898-8e81-3d6618c54306\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:51Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6f35bdc3-bea5-498a-8621-ecf2e4d3f704" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f68a14b2-2370-410d-ac05-0b267fca787a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed435f89-b8aa-4898-8e81-3d6618c54306\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:51Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4b395eb0-816d-4ae3-9c3c-98c93a9ed0f8", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "82", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6e26d53a-8d61-495a-8bd9-5e91d052f037", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyzeresults/6ee1643f-3270-4feb-9abc-40e69720e493", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyzeResults/6ee1643f-3270-4feb-9abc-40e69720e493", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6a24bfc2-a4e9-4842-a34d-575f412aafdf" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c41c860-54e9-4855-b0f9-bf353d4ce722", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:54Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:54Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyzeResults/6ee1643f-3270-4feb-9abc-40e69720e493", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "489e1805-c0ed-44f5-a094-0a15945720dd" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "64438270-d283-4c0a-b569-d37b2f836d8b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:54Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:54Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyzeResults/6ee1643f-3270-4feb-9abc-40e69720e493", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "98d744c7-b295-48c0-875a-c3097b9b0bb7" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9a75830f-0234-436f-81fc-39614de2150c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:54Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:05Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed435f89-b8aa-4898-8e81-3d6618c54306/analyzeResults/6ee1643f-3270-4feb-9abc-40e69720e493", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "caea8279-8f3c-44b2-8e26-fdc9e0e600bf" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "49", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4276ad93-604b-4a65-b7f6-a02692aab123", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:54Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:05Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json deleted file mode 100644 index 472cd821cc513..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7969d2b6-210a-4fc3-aec0-52da2588a898", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "436", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c763e195-8cb0-4e39-a2f5-149cefa331b5", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:54 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9b243399-2439-4141-adb5-a8ccb528c6b5" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "25508610-7d83-44dc-b00c-31570e419eda", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:57Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b4df74f6-719f-4ac2-8634-a2d999372cd2" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "017699e2-c457-4a4c-975a-ceeed8ebdaef", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:57Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "be1e9dcc-2a61-474c-a727-b6117e96323d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "236", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2d363dc6-0f41-4b42-bdba-58a53bc97b42", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d/analyzeresults/3338ceac-c103-4073-9738-d6679aaee38c", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d/analyzeResults/3338ceac-c103-4073-9738-d6679aaee38c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7b014a7d-bbf9-4143-b5a4-2fbabfe2015c" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2c3e78ab-159d-460d-a84a-04f65d243d7c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"modelId\":\"58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"pageRange\":[1,1],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/58931e8a-40bc-4a90-9b71-876d616c5f8d/analyzeResults/3338ceac-c103-4073-9738-d6679aaee38c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6dd7a602-907e-42c5-a0d9-93690dcb2308" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ca49612b-0ba3-442b-a68d-7d7c051862ab", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"modelId\":\"58931e8a-40bc-4a90-9b71-876d616c5f8d\",\"pageRange\":[1,1],\"fields\":{\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithPages[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithPages[1].json deleted file mode 100644 index b47b3cc649385..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithPages[1].json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c17d6e96-26d4-4f64-8eba-aa770cef384d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "653", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "42d3e23a-e12e-4492-809d-af20da46b626", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:27 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b5d7d0d4-c4df-41e4-aa21-64e40a28e670" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3ccca75f-0743-44da-8e8c-aace163928d9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:30Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "791f8b00-4402-49e8-b9e8-038a0508b519" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d41b82a3-fd32-45dc-8384-8070fe2f2316", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:30Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyze?includeTextDetails=true&pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ffbfdb4f-5559-4771-9e66-3e990a0c1f4d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "275", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1bebe3bc-a34f-44e3-99dd-20981f1d5409", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyzeresults/8471f58b-2ff5-4055-b73c-e07a29200c6d", - "Date" : "Wed, 07 Jul 2021 06:28:33 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyzeResults/8471f58b-2ff5-4055-b73c-e07a29200c6d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a1e5f07d-0e21-46fc-9366-4c5400186037" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b8860528-fab9-4c7a-a7f5-95060a694669", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:34Z\"}", - "Date" : "Wed, 07 Jul 2021 06:28:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyzeResults/8471f58b-2ff5-4055-b73c-e07a29200c6d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bee812dd-3c7f-46c8-8e92-a6203eb7a210" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b8fdf236-fef5-4a0e-b283-ea49b90b7d48", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"modelId\":\"7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyzeResults/8471f58b-2ff5-4055-b73c-e07a29200c6d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "544e0be2-cc1e-41e7-99cf-342354114f65" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b2113f93-1ab0-4116-91ae-b3a5962b3758", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"modelId\":\"7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d/analyzeResults/8471f58b-2ff5-4055-b73c-e07a29200c6d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "47388da6-236a-4787-9dac-fe4ad158cbb3" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0c70125f-9163-4b9f-88a9-5501c7ac623c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"modelId\":\"7d3797e1-899d-4bb2-bcdc-1e81bc96ae3d\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json deleted file mode 100644 index 427c2e8b16252..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e577e180-7f1f-4758-adc3-661d8a8c48a1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "421", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3c4f72aa-bfe6-4c0c-b891-8526583bf8e1", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "52e0bd91-80cc-4088-a64b-89cbc19b417c" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bfe687e9-f6da-4774-b5df-aeebd86a5547", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:23Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "11e657aa-2f0b-4231-b697-f6dee0e4c536" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "599a0439-ab90-4a53-883e-7a63a8db61dd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:23Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3bffb84e-6fe6-4070-9b5b-a5fd7e06c517", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "219", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d99fbd18-d3d5-4cd6-8283-0bcc9e21eeb3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b/analyzeresults/afeed356-da72-4b38-82c8-f4df78d96bb9", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b/analyzeResults/afeed356-da72-4b38-82c8-f4df78d96bb9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "96891477-8bfe-4fd3-8816-55ffd853f4bc" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6f4d8956-886a-4990-9ae5-d641c43e89e6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:31:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:29Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b/analyzeResults/afeed356-da72-4b38-82c8-f4df78d96bb9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ff7947d4-134f-435c-88ec-6d263f7b2afa" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e789824a-bd43-407e-a642-0b8a4a1c8883", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"modelId\":\"ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ead8401c-c452-4c2d-a913-03a59a47ff1b/analyzeResults/afeed356-da72-4b38-82c8-f4df78d96bb9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "69f5789e-c560-41a4-98c9-149ad8ee63db" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cd608310-e795-4b07-b623-a5b43b097709", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"modelId\":\"ead8401c-c452-4c2d-a913-03a59a47ff1b\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledData[1].json deleted file mode 100644 index a5b6643eab3a4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlLabeledData[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dd00cd04-4258-4ad8-9e18-145c0c3f2bb7", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "414", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "be68ce64-8766-4890-b589-260bc70e77ca", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:37 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8754c1b4-1962-444c-8eb9-d97ac4338c17" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d386bc22-c18b-4bae-a0b8-b428983cd01c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"98da710d-87a1-4504-91a7-a83ddc0ff540\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:40Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d628d1c7-a60f-4c80-8f0b-40ff2baa6c6b" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f6731ccd-8e9d-480f-bbcc-eed156ca2564", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"98da710d-87a1-4504-91a7-a83ddc0ff540\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:40Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc60efbd-d3a1-42cc-90c3-db1bceb251d5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "222", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66da1c36-8524-4ba1-a17e-47054f9d3bcd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540/analyzeresults/2b76d735-74e8-4976-b96b-67b88f074a25", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540/analyzeResults/2b76d735-74e8-4976-b96b-67b88f074a25", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8e5ef7cd-5c89-408f-a515-dd8d0a9ca057" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "49844816-0c22-4ad8-9898-7e0000c1a10f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:47Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540/analyzeResults/2b76d735-74e8-4976-b96b-67b88f074a25", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e67114d3-1acc-4623-8d66-f5ce7b65c677" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "38306604-cbe1-4959-b036-c0a62f696163", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:98da710d-87a1-4504-91a7-a83ddc0ff540\",\"modelId\":\"98da710d-87a1-4504-91a7-a83ddc0ff540\",\"pageRange\":[1,1],\"fields\":{\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/98da710d-87a1-4504-91a7-a83ddc0ff540/analyzeResults/2b76d735-74e8-4976-b96b-67b88f074a25", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3cfe2c6e-5766-4186-9f3e-eaeb1d1d1fe6" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d140021-9521-4c1c-8467-3b7b7727e003", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:98da710d-87a1-4504-91a7-a83ddc0ff540\",\"modelId\":\"98da710d-87a1-4504-91a7-a83ddc0ff540\",\"pageRange\":[1,1],\"fields\":{\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json deleted file mode 100644 index 9287d777c5a8d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88ac93e6-6510-4007-b8b3-08f79f1a9d44", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "417", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f6f3b6c6-cf6b-46c0-9ee0-94e450598939", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4433ddfc-99a0-4135-8cbd-7192de9f88ec" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cce61391-1c0e-478a-88a6-2d20dfa3d7cb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:25Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66da44ae-22d0-41d4-a2a9-3ee36f2ae35f" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2387eb15-43f3-4ca3-b732-c4680aeb1a01", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:25Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c848057a-3498-475d-ae94-a82f5128d5e9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "296", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5085f7a8-5568-4f76-b83f-8e9a88700ff8", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3/analyzeresults/314b0530-df09-45d7-a0d0-70a98d5dd755", - "Date" : "Wed, 07 Jul 2021 06:30:27 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3/analyzeResults/314b0530-df09-45d7-a0d0-70a98d5dd755", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "99c36c54-9fb3-455a-a01a-a0142167bd89" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cd166c38-edf5-4780-ad92-47b78c3a6b9a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:30:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:29Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3/analyzeResults/314b0530-df09-45d7-a0d0-70a98d5dd755", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3a34a922-cf3d-42f4-a6b0-c65924c6be1e" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "43caa3a8-6661-4997-b87c-bba8ec042a2f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:38Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"modelId\":\"5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"pageRange\":[1,3],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5a2287b6-89f1-4e70-aa99-870b70de27e3/analyzeResults/314b0530-df09-45d7-a0d0-70a98d5dd755", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c6f8aa24-f671-4bf4-87d8-fa0aeec580cc" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1ca9928c-7d50-483f-8e5e-0bf085c8b185", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:38Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"modelId\":\"5a2287b6-89f1-4e70-aa99-870b70de27e3\",\"pageRange\":[1,3],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json deleted file mode 100644 index 7ca6ee8061081..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json +++ /dev/null @@ -1,244 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1ec237c7-e2bb-438f-b251-81d95e310a64", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "677", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f2960030-fe5b-41b3-bcdb-cd1fa53255ef", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:10 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9d18c8db-07ab-4fb8-9eca-ec937a98cd57" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "38142faa-2b34-41b7-b870-5bb30103478d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "773320ad-f553-41e5-99d0-0e5652db9be1" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8b7951f7-b10f-4f13-beb7-35d374f12e2e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c9d21f77-2abb-449b-abfd-eee97d2109cc" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "14bbc6c2-1b75-420a-952f-8cff60ac7a56", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aae75266-886a-4be0-abee-ffae686d764f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e7eea398-d3ad-4490-9e62-8530345b2ff8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5b00fa12-cb6d-4497-81e7-93845fb1ac5d" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d121d632-ff87-4c73-84b4-45431cc0f43f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22a7e67d-2711-4100-800c-4c00db960a5d" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a2029473-e6d6-46c9-a2a4-e49115232bc0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a35ffe31-d6bb-43c3-879e-e20db8ec08b9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:32Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fd6116d0-0563-462f-948f-962a04125240", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "389", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "507f37cd-e712-4226-ad34-80379e655768", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyzeresults/490ddad3-74f6-4356-88cf-ea214d4f019b", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyzeResults/490ddad3-74f6-4356-88cf-ea214d4f019b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bbd4d5c3-86e1-4170-9661-ac17ff64b3e3" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b2d2c20b-640c-4c81-992a-58fa097ef810", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:38Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyzeResults/490ddad3-74f6-4356-88cf-ea214d4f019b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0e806074-f8cd-4c08-bc7c-9f2dbe83f209" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "583563ea-efbe-4a36-bfea-ab5ed11c65cf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:38Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyzeResults/490ddad3-74f6-4356-88cf-ea214d4f019b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b1abc182-5c17-41a8-b265-d8f2d8e96014" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fa1ab139-59e0-47c5-88e9-249f573e6bd8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:48Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a35ffe31-d6bb-43c3-879e-e20db8ec08b9/analyzeResults/490ddad3-74f6-4356-88cf-ea214d4f019b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7841527d-c8ca-4902-ac40-c6422a0938de" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fa938092-5d35-4e81-84ba-31b474cbb005", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:48Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlNonExistModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlNonExistModelId[1].json deleted file mode 100644 index 82c343029e131..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlNonExistModelId[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "53ae329c-0643-4f34-a2a6-4c76b0e7200e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "124", - "x-envoy-upstream-service-time" : "209", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "12a352c0-ed4c-4893-a6e5-e475a4987361", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready, Model Id: 00000000-0000-0000-0000-000000000000\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json deleted file mode 100644 index 5e5cdd1a7850a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cc86da3d-1cb2-4dc2-94fc-9f24965a923c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "679", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6e1b11fb-007b-4868-a1f9-49409b59e49f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "03b1249f-0830-41a7-ba70-ebb8bfda5ebb" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c2d29ae0-d0ff-4226-a4d4-ff768c96c3dc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:47Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6dee1e0b-e581-48b1-8e97-debd7dd5fdb7" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "067eb6b0-c33e-42e1-82b8-66ab96481fc6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:47Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5d7ee874-a55f-4373-87bc-c304a267def5" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d3a8c251-71cf-4804-bad1-44c13ee846a5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:01Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9f60aa2f-0564-4d03-b4f1-ccdb7d31f725" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1a03756c-a10e-459a-a7e9-f42580b9ba73", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:01Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aceada15-723c-4bc9-ae52-06c5b822ef43", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "155", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0691b4fc-8bff-4d87-8efb-e976a36cdb4f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22/analyzeresults/5137e063-ee38-4b1f-95b4-0dc983ab4ddd", - "Date" : "Wed, 07 Jul 2021 06:31:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22/analyzeResults/5137e063-ee38-4b1f-95b4-0dc983ab4ddd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1d6cf32a-7d02-4a30-a210-63b84d85358a" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "71c36b77-f954-4812-84ff-bc3b152df8ca", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:05Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22/analyzeResults/5137e063-ee38-4b1f-95b4-0dc983ab4ddd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0d086bbb-b631-4584-95f1-96e47824ec0e" - }, - "Response" : { - "content-length" : "33020", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6edd189f-b775-405a-aa85-d6ccebb15758", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:10Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [{\"text\": \"Purchase Order\", \"boundingBox\": [137, 140, 350, 140, 350, 167, 137, 167], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [137, 140, 259, 140, 259, 167, 137, 167], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [265, 139, 350, 139, 350, 167, 265, 167], \"confidence\": 0.996}]}, {\"text\": \"Hero Limited\", \"boundingBox\": [621, 206, 1062, 206, 1062, 266, 621, 266], \"words\": [{\"text\": \"Hero\", \"boundingBox\": [621, 208, 773, 208, 773, 266, 621, 266], \"confidence\": 0.994}, {\"text\": \"Limited\", \"boundingBox\": [797, 205, 1062, 205, 1062, 266, 797, 266], \"confidence\": 0.996}]}, {\"text\": \"Purchase Order\", \"boundingBox\": [1113, 322, 1550, 322, 1550, 369, 1113, 369], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1113, 322, 1367, 322, 1367, 368, 1113, 368], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1386, 321, 1550, 321, 1550, 370, 1386, 370], \"confidence\": 0.996}]}, {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"words\": [{\"text\": \"Company\", \"boundingBox\": [163, 353, 272, 353, 272, 378, 163, 378], \"confidence\": 0.996}, {\"text\": \"Phone:\", \"boundingBox\": [277, 351, 361, 351, 361, 379, 277, 379], \"confidence\": 0.992}]}, {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"words\": [{\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"confidence\": 0.994}]}, {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"words\": [{\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"confidence\": 0.995}]}, {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"words\": [{\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"confidence\": 0.983}]}, {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"words\": [{\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"confidence\": 0.994}]}, {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"words\": [{\"text\": \"Dated\", \"boundingBox\": [1025, 421, 1104, 421, 1104, 448, 1025, 448], \"confidence\": 0.994}, {\"text\": \"As:\", \"boundingBox\": [1112, 420, 1158, 420, 1158, 448, 1112, 448], \"confidence\": 0.998}]}, {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"words\": [{\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"confidence\": 0.988}]}, {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1023, 461, 1149, 461, 1149, 488, 1023, 488], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1155, 461, 1238, 461, 1238, 489, 1155, 489], \"confidence\": 0.996}, {\"text\": \"#:\", \"boundingBox\": [1243, 461, 1273, 461, 1273, 489, 1243, 489], \"confidence\": 0.966}]}, {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"words\": [{\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"confidence\": 0.994}]}, {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"words\": [{\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"confidence\": 0.949}]}, {\"text\": \"Shipped To\", \"boundingBox\": [167, 547, 392, 547, 392, 592, 167, 592], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 547, 328, 547, 328, 592, 167, 592], \"confidence\": 0.996}, {\"text\": \"To\", \"boundingBox\": [341, 547, 392, 547, 392, 592, 341, 592], \"confidence\": 0.994}]}, {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"words\": [{\"text\": \"Vendor\", \"boundingBox\": [160, 611, 252, 611, 252, 637, 160, 637], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [257, 610, 344, 610, 344, 638, 257, 638], \"confidence\": 0.996}]}, {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"words\": [{\"text\": \"Hillary\", \"boundingBox\": [349, 609, 431, 609, 431, 639, 349, 639], \"confidence\": 0.996}, {\"text\": \"Swank\", \"boundingBox\": [436, 609, 520, 609, 520, 639, 436, 639], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"words\": [{\"text\": \"Company\", \"boundingBox\": [160, 649, 278, 649, 278, 676, 160, 676], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [283, 647, 371, 647, 371, 678, 283, 678], \"confidence\": 0.996}]}, {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"words\": [{\"text\": \"Higgly\", \"boundingBox\": [376, 647, 453, 647, 453, 679, 376, 679], \"confidence\": 0.996}, {\"text\": \"Wiggly\", \"boundingBox\": [458, 646, 544, 646, 544, 679, 458, 679], \"confidence\": 0.996}, {\"text\": \"Books\", \"boundingBox\": [549, 646, 629, 646, 629, 678, 549, 678], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"confidence\": 0.994}]}, {\"text\": \"938 NE Burner Road\", \"boundingBox\": [274, 685, 523, 685, 523, 713, 274, 713], \"words\": [{\"text\": \"938\", \"boundingBox\": [274, 685, 321, 685, 321, 712, 274, 712], \"confidence\": 0.994}, {\"text\": \"NE\", \"boundingBox\": [326, 685, 362, 685, 362, 713, 326, 713], \"confidence\": 0.997}, {\"text\": \"Burner\", \"boundingBox\": [367, 685, 453, 685, 453, 713, 367, 713], \"confidence\": 0.996}, {\"text\": \"Road\", \"boundingBox\": [458, 685, 523, 685, 523, 713, 458, 713], \"confidence\": 0.994}]}, {\"text\": \"Boulder City, CO 92848\", \"boundingBox\": [279, 722, 561, 722, 561, 751, 279, 751], \"words\": [{\"text\": \"Boulder\", \"boundingBox\": [279, 722, 371, 722, 371, 750, 279, 750], \"confidence\": 0.996}, {\"text\": \"City,\", \"boundingBox\": [376, 722, 433, 722, 433, 751, 376, 751], \"confidence\": 0.996}, {\"text\": \"CO\", \"boundingBox\": [438, 722, 474, 722, 474, 751, 438, 751], \"confidence\": 0.997}, {\"text\": \"92848\", \"boundingBox\": [483, 722, 561, 722, 561, 751, 483, 751], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"confidence\": 0.994}]}, {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"words\": [{\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"confidence\": 0.982}]}, {\"text\": \"Shipped From\", \"boundingBox\": [167, 784, 432, 784, 432, 830, 167, 830], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 784, 326, 784, 326, 830, 167, 830], \"confidence\": 0.996}, {\"text\": \"From\", \"boundingBox\": [335, 785, 432, 785, 432, 830, 335, 830], \"confidence\": 0.985}]}, {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"words\": [{\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"confidence\": 0.996}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [253, 852, 337, 852, 337, 879, 253, 879], \"confidence\": 0.996}, {\"text\": \"Sanders\", \"boundingBox\": [343, 852, 445, 852, 445, 880, 343, 880], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"words\": [{\"text\": \"Company\", \"boundingBox\": [164, 890, 282, 890, 282, 919, 164, 919], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [288, 890, 373, 890, 373, 919, 288, 919], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [379, 889, 467, 889, 467, 919, 379, 919], \"confidence\": 0.996}, {\"text\": \"Book\", \"boundingBox\": [473, 889, 537, 889, 537, 919, 473, 919], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [543, 889, 629, 889, 629, 920, 543, 920], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"confidence\": 0.994}]}, {\"text\": \"383 N Kinnick Road\", \"boundingBox\": [280, 926, 516, 926, 516, 953, 280, 953], \"words\": [{\"text\": \"383\", \"boundingBox\": [280, 925, 325, 925, 325, 953, 280, 953], \"confidence\": 0.998}, {\"text\": \"N\", \"boundingBox\": [330, 925, 345, 925, 345, 953, 330, 953], \"confidence\": 0.995}, {\"text\": \"Kinnick\", \"boundingBox\": [358, 926, 448, 926, 448, 953, 358, 953], \"confidence\": 0.995}, {\"text\": \"Road\", \"boundingBox\": [453, 926, 516, 926, 516, 954, 453, 954], \"confidence\": 0.994}]}, {\"text\": \"Seattle, WA 38383\", \"boundingBox\": [282, 965, 513, 965, 513, 991, 282, 991], \"words\": [{\"text\": \"Seattle,\", \"boundingBox\": [282, 965, 376, 965, 376, 991, 282, 991], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [382, 964, 425, 964, 425, 991, 382, 991], \"confidence\": 0.997}, {\"text\": \"38383\", \"boundingBox\": [435, 964, 513, 964, 513, 991, 435, 991], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"confidence\": 0.996}]}, {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"words\": [{\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"confidence\": 0.994}]}, {\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"words\": [{\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 0.994}]}, {\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 0.994}]}, {\"text\": \"Unit Price\", \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"words\": [{\"text\": \"Unit\", \"boundingBox\": [1111, 1047, 1179, 1047, 1179, 1078, 1111, 1078], \"confidence\": 0.994}, {\"text\": \"Price\", \"boundingBox\": [1185, 1047, 1266, 1047, 1266, 1078, 1185, 1078], \"confidence\": 0.996}]}, {\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"words\": [{\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 0.994}]}, {\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"words\": [{\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 0.994}]}, {\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 0.994}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 0.996}]}, {\"text\": \"Covers Small\", \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"words\": [{\"text\": \"Covers\", \"boundingBox\": [170, 1136, 255, 1136, 255, 1161, 170, 1161], \"confidence\": 0.994}, {\"text\": \"Small\", \"boundingBox\": [260, 1136, 333, 1136, 333, 1161, 260, 1161], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 0.993}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 0.996}]}, {\"text\": \"Feather Bookmark\", \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"words\": [{\"text\": \"Feather\", \"boundingBox\": [173, 1180, 266, 1180, 266, 1206, 173, 1206], \"confidence\": 0.996}, {\"text\": \"Bookmark\", \"boundingBox\": [271, 1179, 399, 1179, 399, 1206, 271, 1206], \"confidence\": 0.995}]}, {\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 0.993}]}, {\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 0.994}]}, {\"text\": \"Copper Swirl Marker\", \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"words\": [{\"text\": \"Copper\", \"boundingBox\": [170, 1223, 259, 1223, 259, 1253, 170, 1253], \"confidence\": 0.996}, {\"text\": \"Swirl\", \"boundingBox\": [265, 1222, 328, 1222, 328, 1252, 265, 1252], \"confidence\": 0.996}, {\"text\": \"Marker\", \"boundingBox\": [334, 1222, 429, 1222, 429, 1251, 334, 1251], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 0.986}]}, {\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 0.074}]}, {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"words\": [{\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"confidence\": 0.995}]}, {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"words\": [{\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"confidence\": 0.995}]}, {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"words\": [{\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"confidence\": 0.997}]}, {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"words\": [{\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"confidence\": 0.992}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [484, 1671, 761, 1671, 761, 1706, 484, 1706], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [484, 1671, 595, 1671, 595, 1706, 484, 1706], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [602, 1671, 761, 1671, 761, 1706, 602, 1706], \"confidence\": 0.997}]}, {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"words\": [{\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"confidence\": 0.994}]}, {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"words\": [{\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"confidence\": 0.986}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [542, 1719, 716, 1719, 716, 1742, 542, 1742], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [542, 1719, 616, 1719, 616, 1742, 542, 1742], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [621, 1719, 716, 1719, 716, 1742, 621, 1742], \"confidence\": 0.996}]}, {\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"words\": [{\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"confidence\": 0.994}]}, {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"words\": [{\"text\": \"Additional\", \"boundingBox\": [173, 1796, 354, 1796, 354, 1831, 173, 1831], \"confidence\": 0.993}, {\"text\": \"Notes:\", \"boundingBox\": [361, 1796, 479, 1796, 479, 1832, 361, 1832], \"confidence\": 0.996}]}, {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy.\", \"boundingBox\": [175, 1880, 707, 1880, 707, 1909, 175, 1909], \"words\": [{\"text\": \"Do\", \"boundingBox\": [175, 1881, 204, 1881, 204, 1907, 175, 1907], \"confidence\": 0.994}, {\"text\": \"not\", \"boundingBox\": [209, 1881, 254, 1881, 254, 1907, 209, 1907], \"confidence\": 0.997}, {\"text\": \"Jostle\", \"boundingBox\": [259, 1880, 332, 1880, 332, 1908, 259, 1908], \"confidence\": 0.996}, {\"text\": \"Box.\", \"boundingBox\": [338, 1880, 401, 1880, 401, 1909, 338, 1909], \"confidence\": 0.994}, {\"text\": \"Unpack\", \"boundingBox\": [406, 1880, 499, 1880, 499, 1909, 406, 1909], \"confidence\": 0.996}, {\"text\": \"carefully.\", \"boundingBox\": [504, 1880, 623, 1880, 623, 1910, 504, 1910], \"confidence\": 0.994}, {\"text\": \"Enjoy.\", \"boundingBox\": [628, 1880, 707, 1880, 707, 1911, 628, 1911], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\", \"boundingBox\": [169, 1924, 1509, 1924, 1509, 1958, 169, 1958], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [169, 1924, 269, 1924, 269, 1959, 169, 1959], \"confidence\": 0.994}, {\"text\": \"Book\", \"boundingBox\": [276, 1924, 354, 1924, 354, 1959, 276, 1959], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [361, 1924, 464, 1924, 464, 1958, 361, 1958], \"confidence\": 0.994}, {\"text\": \"will\", \"boundingBox\": [471, 1924, 519, 1924, 519, 1958, 471, 1958], \"confidence\": 0.991}, {\"text\": \"refund\", \"boundingBox\": [526, 1924, 625, 1924, 625, 1958, 526, 1958], \"confidence\": 0.996}, {\"text\": \"you\", \"boundingBox\": [632, 1924, 688, 1924, 688, 1958, 632, 1958], \"confidence\": 0.997}, {\"text\": \"50%\", \"boundingBox\": [696, 1924, 762, 1924, 762, 1958, 696, 1958], \"confidence\": 0.986}, {\"text\": \"per\", \"boundingBox\": [769, 1924, 822, 1924, 822, 1958, 769, 1958], \"confidence\": 0.998}, {\"text\": \"book\", \"boundingBox\": [829, 1924, 902, 1924, 902, 1958, 829, 1958], \"confidence\": 0.994}, {\"text\": \"if\", \"boundingBox\": [909, 1924, 930, 1924, 930, 1958, 909, 1958], \"confidence\": 0.997}, {\"text\": \"returned\", \"boundingBox\": [937, 1924, 1063, 1924, 1063, 1958, 937, 1958], \"confidence\": 0.994}, {\"text\": \"within\", \"boundingBox\": [1070, 1924, 1157, 1924, 1157, 1958, 1070, 1958], \"confidence\": 0.995}, {\"text\": \"60\", \"boundingBox\": [1164, 1924, 1203, 1924, 1203, 1958, 1164, 1958], \"confidence\": 0.999}, {\"text\": \"days\", \"boundingBox\": [1210, 1924, 1283, 1924, 1283, 1958, 1210, 1958], \"confidence\": 0.994}, {\"text\": \"of\", \"boundingBox\": [1290, 1924, 1322, 1924, 1322, 1958, 1290, 1958], \"confidence\": 0.999}, {\"text\": \"reading\", \"boundingBox\": [1329, 1924, 1441, 1924, 1441, 1958, 1329, 1958], \"confidence\": 0.996}, {\"text\": \"and\", \"boundingBox\": [1448, 1924, 1509, 1924, 1509, 1958, 1448, 1958], \"confidence\": 0.997}]}, {\"text\": \"offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1958, 786, 1958, 786, 1992, 169, 1992], \"words\": [{\"text\": \"offer\", \"boundingBox\": [169, 1958, 235, 1958, 235, 1991, 169, 1991], \"confidence\": 0.991}, {\"text\": \"you\", \"boundingBox\": [241, 1958, 296, 1958, 296, 1991, 241, 1991], \"confidence\": 0.994}, {\"text\": \"25%\", \"boundingBox\": [307, 1958, 373, 1958, 373, 1992, 307, 1992], \"confidence\": 0.997}, {\"text\": \"off\", \"boundingBox\": [380, 1958, 420, 1958, 420, 1992, 380, 1992], \"confidence\": 0.997}, {\"text\": \"you\", \"boundingBox\": [427, 1958, 482, 1958, 482, 1992, 427, 1992], \"confidence\": 0.997}, {\"text\": \"next\", \"boundingBox\": [489, 1958, 555, 1958, 555, 1992, 489, 1992], \"confidence\": 0.994}, {\"text\": \"total\", \"boundingBox\": [561, 1959, 630, 1959, 630, 1992, 561, 1992], \"confidence\": 0.996}, {\"text\": \"purchase.\", \"boundingBox\": [636, 1959, 786, 1959, 786, 1991, 636, 1991], \"confidence\": 0.994}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\"]}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": [\"#/readResults/0/lines/4/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": [\"#/readResults/0/lines/5/words/0\"]}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": [\"#/readResults/0/lines/6/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": [\"#/readResults/0/lines/7/words/0\"]}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": [\"#/readResults/0/lines/12/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": [\"#/readResults/0/lines/14/words/0\", \"#/readResults/0/lines/14/words/1\"]}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": [\"#/readResults/0/lines/15/words/0\", \"#/readResults/0/lines/15/words/1\"]}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": [\"#/readResults/0/lines/16/words/0\", \"#/readResults/0/lines/16/words/1\"]}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": [\"#/readResults/0/lines/17/words/0\", \"#/readResults/0/lines/17/words/1\", \"#/readResults/0/lines/17/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": [\"#/readResults/0/lines/18/words/0\"]}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": [\"#/readResults/0/lines/19/words/0\", \"#/readResults/0/lines/19/words/1\", \"#/readResults/0/lines/19/words/2\", \"#/readResults/0/lines/19/words/3\", \"#/readResults/0/lines/20/words/0\", \"#/readResults/0/lines/20/words/1\", \"#/readResults/0/lines/20/words/2\", \"#/readResults/0/lines/20/words/3\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": [\"#/readResults/0/lines/21/words/0\"]}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": [\"#/readResults/0/lines/22/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": [\"#/readResults/0/lines/24/words/0\"]}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": [\"#/readResults/0/lines/25/words/0\", \"#/readResults/0/lines/25/words/1\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": [\"#/readResults/0/lines/26/words/0\", \"#/readResults/0/lines/26/words/1\"]}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": [\"#/readResults/0/lines/27/words/0\", \"#/readResults/0/lines/27/words/1\", \"#/readResults/0/lines/27/words/2\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": [\"#/readResults/0/lines/28/words/0\"]}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": [\"#/readResults/0/lines/29/words/0\", \"#/readResults/0/lines/29/words/1\", \"#/readResults/0/lines/29/words/2\", \"#/readResults/0/lines/29/words/3\", \"#/readResults/0/lines/30/words/0\", \"#/readResults/0/lines/30/words/1\", \"#/readResults/0/lines/30/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": [\"#/readResults/0/lines/31/words/0\"]}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": [\"#/readResults/0/lines/32/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": [\"#/readResults/0/lines/53/words/0\"]}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": [\"#/readResults/0/lines/54/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": [\"#/readResults/0/lines/55/words/0\"]}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": [\"#/readResults/0/lines/56/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": [\"#/readResults/0/lines/58/words/0\"]}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": [\"#/readResults/0/lines/59/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": [\"#/readResults/0/lines/62/words/0\", \"#/readResults/0/lines/62/words/1\"]}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": [\"#/readResults/0/lines/63/words/0\", \"#/readResults/0/lines/63/words/1\", \"#/readResults/0/lines/63/words/2\", \"#/readResults/0/lines/63/words/3\", \"#/readResults/0/lines/63/words/4\", \"#/readResults/0/lines/63/words/5\", \"#/readResults/0/lines/63/words/6\", \"#/readResults/0/lines/64/words/0\", \"#/readResults/0/lines/64/words/1\", \"#/readResults/0/lines/64/words/2\", \"#/readResults/0/lines/64/words/3\", \"#/readResults/0/lines/64/words/4\", \"#/readResults/0/lines/64/words/5\", \"#/readResults/0/lines/64/words/6\", \"#/readResults/0/lines/64/words/7\", \"#/readResults/0/lines/64/words/8\", \"#/readResults/0/lines/64/words/9\", \"#/readResults/0/lines/64/words/10\", \"#/readResults/0/lines/64/words/11\", \"#/readResults/0/lines/64/words/12\", \"#/readResults/0/lines/64/words/13\", \"#/readResults/0/lines/64/words/14\", \"#/readResults/0/lines/64/words/15\", \"#/readResults/0/lines/64/words/16\", \"#/readResults/0/lines/65/words/0\", \"#/readResults/0/lines/65/words/1\", \"#/readResults/0/lines/65/words/2\", \"#/readResults/0/lines/65/words/3\", \"#/readResults/0/lines/65/words/4\", \"#/readResults/0/lines/65/words/5\", \"#/readResults/0/lines/65/words/6\", \"#/readResults/0/lines/65/words/7\"]}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/34/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/35/words/0\", \"#/readResults/0/lines/35/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/36/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/37/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/38/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/39/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/40/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/41/words/0\", \"#/readResults/0/lines/41/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/42/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/43/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/44/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/45/words/0\", \"#/readResults/0/lines/45/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/46/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/47/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/48/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/49/words/0\", \"#/readResults/0/lines/49/words/1\", \"#/readResults/0/lines/49/words/2\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/50/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/51/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/52/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c6b4a0ac-8cc2-43ae-8ec6-95a662ae6b22/analyzeResults/5137e063-ee38-4b1f-95b4-0dc983ab4ddd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f9bc5bad-2439-4833-b732-86d768d0f2a0" - }, - "Response" : { - "content-length" : "33020", - "x-envoy-upstream-service-time" : "57", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "196cfeda-7b73-40df-9f19-4b0c11769a38", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:04Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:10Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [{\"text\": \"Purchase Order\", \"boundingBox\": [137, 140, 350, 140, 350, 167, 137, 167], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [137, 140, 259, 140, 259, 167, 137, 167], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [265, 139, 350, 139, 350, 167, 265, 167], \"confidence\": 0.996}]}, {\"text\": \"Hero Limited\", \"boundingBox\": [621, 206, 1062, 206, 1062, 266, 621, 266], \"words\": [{\"text\": \"Hero\", \"boundingBox\": [621, 208, 773, 208, 773, 266, 621, 266], \"confidence\": 0.994}, {\"text\": \"Limited\", \"boundingBox\": [797, 205, 1062, 205, 1062, 266, 797, 266], \"confidence\": 0.996}]}, {\"text\": \"Purchase Order\", \"boundingBox\": [1113, 322, 1550, 322, 1550, 369, 1113, 369], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1113, 322, 1367, 322, 1367, 368, 1113, 368], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1386, 321, 1550, 321, 1550, 370, 1386, 370], \"confidence\": 0.996}]}, {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"words\": [{\"text\": \"Company\", \"boundingBox\": [163, 353, 272, 353, 272, 378, 163, 378], \"confidence\": 0.996}, {\"text\": \"Phone:\", \"boundingBox\": [277, 351, 361, 351, 361, 379, 277, 379], \"confidence\": 0.992}]}, {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"words\": [{\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"confidence\": 0.994}]}, {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"words\": [{\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"confidence\": 0.995}]}, {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"words\": [{\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"confidence\": 0.983}]}, {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"words\": [{\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"confidence\": 0.994}]}, {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"words\": [{\"text\": \"Dated\", \"boundingBox\": [1025, 421, 1104, 421, 1104, 448, 1025, 448], \"confidence\": 0.994}, {\"text\": \"As:\", \"boundingBox\": [1112, 420, 1158, 420, 1158, 448, 1112, 448], \"confidence\": 0.998}]}, {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"words\": [{\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"confidence\": 0.988}]}, {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1023, 461, 1149, 461, 1149, 488, 1023, 488], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1155, 461, 1238, 461, 1238, 489, 1155, 489], \"confidence\": 0.996}, {\"text\": \"#:\", \"boundingBox\": [1243, 461, 1273, 461, 1273, 489, 1243, 489], \"confidence\": 0.966}]}, {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"words\": [{\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"confidence\": 0.994}]}, {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"words\": [{\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"confidence\": 0.949}]}, {\"text\": \"Shipped To\", \"boundingBox\": [167, 547, 392, 547, 392, 592, 167, 592], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 547, 328, 547, 328, 592, 167, 592], \"confidence\": 0.996}, {\"text\": \"To\", \"boundingBox\": [341, 547, 392, 547, 392, 592, 341, 592], \"confidence\": 0.994}]}, {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"words\": [{\"text\": \"Vendor\", \"boundingBox\": [160, 611, 252, 611, 252, 637, 160, 637], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [257, 610, 344, 610, 344, 638, 257, 638], \"confidence\": 0.996}]}, {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"words\": [{\"text\": \"Hillary\", \"boundingBox\": [349, 609, 431, 609, 431, 639, 349, 639], \"confidence\": 0.996}, {\"text\": \"Swank\", \"boundingBox\": [436, 609, 520, 609, 520, 639, 436, 639], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"words\": [{\"text\": \"Company\", \"boundingBox\": [160, 649, 278, 649, 278, 676, 160, 676], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [283, 647, 371, 647, 371, 678, 283, 678], \"confidence\": 0.996}]}, {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"words\": [{\"text\": \"Higgly\", \"boundingBox\": [376, 647, 453, 647, 453, 679, 376, 679], \"confidence\": 0.996}, {\"text\": \"Wiggly\", \"boundingBox\": [458, 646, 544, 646, 544, 679, 458, 679], \"confidence\": 0.996}, {\"text\": \"Books\", \"boundingBox\": [549, 646, 629, 646, 629, 678, 549, 678], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"confidence\": 0.994}]}, {\"text\": \"938 NE Burner Road\", \"boundingBox\": [274, 685, 523, 685, 523, 713, 274, 713], \"words\": [{\"text\": \"938\", \"boundingBox\": [274, 685, 321, 685, 321, 712, 274, 712], \"confidence\": 0.994}, {\"text\": \"NE\", \"boundingBox\": [326, 685, 362, 685, 362, 713, 326, 713], \"confidence\": 0.997}, {\"text\": \"Burner\", \"boundingBox\": [367, 685, 453, 685, 453, 713, 367, 713], \"confidence\": 0.996}, {\"text\": \"Road\", \"boundingBox\": [458, 685, 523, 685, 523, 713, 458, 713], \"confidence\": 0.994}]}, {\"text\": \"Boulder City, CO 92848\", \"boundingBox\": [279, 722, 561, 722, 561, 751, 279, 751], \"words\": [{\"text\": \"Boulder\", \"boundingBox\": [279, 722, 371, 722, 371, 750, 279, 750], \"confidence\": 0.996}, {\"text\": \"City,\", \"boundingBox\": [376, 722, 433, 722, 433, 751, 376, 751], \"confidence\": 0.996}, {\"text\": \"CO\", \"boundingBox\": [438, 722, 474, 722, 474, 751, 438, 751], \"confidence\": 0.997}, {\"text\": \"92848\", \"boundingBox\": [483, 722, 561, 722, 561, 751, 483, 751], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"confidence\": 0.994}]}, {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"words\": [{\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"confidence\": 0.982}]}, {\"text\": \"Shipped From\", \"boundingBox\": [167, 784, 432, 784, 432, 830, 167, 830], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 784, 326, 784, 326, 830, 167, 830], \"confidence\": 0.996}, {\"text\": \"From\", \"boundingBox\": [335, 785, 432, 785, 432, 830, 335, 830], \"confidence\": 0.985}]}, {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"words\": [{\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"confidence\": 0.996}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [253, 852, 337, 852, 337, 879, 253, 879], \"confidence\": 0.996}, {\"text\": \"Sanders\", \"boundingBox\": [343, 852, 445, 852, 445, 880, 343, 880], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"words\": [{\"text\": \"Company\", \"boundingBox\": [164, 890, 282, 890, 282, 919, 164, 919], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [288, 890, 373, 890, 373, 919, 288, 919], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [379, 889, 467, 889, 467, 919, 379, 919], \"confidence\": 0.996}, {\"text\": \"Book\", \"boundingBox\": [473, 889, 537, 889, 537, 919, 473, 919], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [543, 889, 629, 889, 629, 920, 543, 920], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"confidence\": 0.994}]}, {\"text\": \"383 N Kinnick Road\", \"boundingBox\": [280, 926, 516, 926, 516, 953, 280, 953], \"words\": [{\"text\": \"383\", \"boundingBox\": [280, 925, 325, 925, 325, 953, 280, 953], \"confidence\": 0.998}, {\"text\": \"N\", \"boundingBox\": [330, 925, 345, 925, 345, 953, 330, 953], \"confidence\": 0.995}, {\"text\": \"Kinnick\", \"boundingBox\": [358, 926, 448, 926, 448, 953, 358, 953], \"confidence\": 0.995}, {\"text\": \"Road\", \"boundingBox\": [453, 926, 516, 926, 516, 954, 453, 954], \"confidence\": 0.994}]}, {\"text\": \"Seattle, WA 38383\", \"boundingBox\": [282, 965, 513, 965, 513, 991, 282, 991], \"words\": [{\"text\": \"Seattle,\", \"boundingBox\": [282, 965, 376, 965, 376, 991, 282, 991], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [382, 964, 425, 964, 425, 991, 382, 991], \"confidence\": 0.997}, {\"text\": \"38383\", \"boundingBox\": [435, 964, 513, 964, 513, 991, 435, 991], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"confidence\": 0.996}]}, {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"words\": [{\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"confidence\": 0.994}]}, {\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"words\": [{\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 0.994}]}, {\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 0.994}]}, {\"text\": \"Unit Price\", \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"words\": [{\"text\": \"Unit\", \"boundingBox\": [1111, 1047, 1179, 1047, 1179, 1078, 1111, 1078], \"confidence\": 0.994}, {\"text\": \"Price\", \"boundingBox\": [1185, 1047, 1266, 1047, 1266, 1078, 1185, 1078], \"confidence\": 0.996}]}, {\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"words\": [{\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 0.994}]}, {\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"words\": [{\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 0.994}]}, {\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 0.994}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 0.996}]}, {\"text\": \"Covers Small\", \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"words\": [{\"text\": \"Covers\", \"boundingBox\": [170, 1136, 255, 1136, 255, 1161, 170, 1161], \"confidence\": 0.994}, {\"text\": \"Small\", \"boundingBox\": [260, 1136, 333, 1136, 333, 1161, 260, 1161], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 0.993}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 0.996}]}, {\"text\": \"Feather Bookmark\", \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"words\": [{\"text\": \"Feather\", \"boundingBox\": [173, 1180, 266, 1180, 266, 1206, 173, 1206], \"confidence\": 0.996}, {\"text\": \"Bookmark\", \"boundingBox\": [271, 1179, 399, 1179, 399, 1206, 271, 1206], \"confidence\": 0.995}]}, {\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 0.993}]}, {\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 0.994}]}, {\"text\": \"Copper Swirl Marker\", \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"words\": [{\"text\": \"Copper\", \"boundingBox\": [170, 1223, 259, 1223, 259, 1253, 170, 1253], \"confidence\": 0.996}, {\"text\": \"Swirl\", \"boundingBox\": [265, 1222, 328, 1222, 328, 1252, 265, 1252], \"confidence\": 0.996}, {\"text\": \"Marker\", \"boundingBox\": [334, 1222, 429, 1222, 429, 1251, 334, 1251], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 0.986}]}, {\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 0.074}]}, {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"words\": [{\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"confidence\": 0.995}]}, {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"words\": [{\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"confidence\": 0.995}]}, {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"words\": [{\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"confidence\": 0.997}]}, {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"words\": [{\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"confidence\": 0.992}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [484, 1671, 761, 1671, 761, 1706, 484, 1706], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [484, 1671, 595, 1671, 595, 1706, 484, 1706], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [602, 1671, 761, 1671, 761, 1706, 602, 1706], \"confidence\": 0.997}]}, {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"words\": [{\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"confidence\": 0.994}]}, {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"words\": [{\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"confidence\": 0.986}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [542, 1719, 716, 1719, 716, 1742, 542, 1742], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [542, 1719, 616, 1719, 616, 1742, 542, 1742], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [621, 1719, 716, 1719, 716, 1742, 621, 1742], \"confidence\": 0.996}]}, {\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"words\": [{\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"confidence\": 0.994}]}, {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"words\": [{\"text\": \"Additional\", \"boundingBox\": [173, 1796, 354, 1796, 354, 1831, 173, 1831], \"confidence\": 0.993}, {\"text\": \"Notes:\", \"boundingBox\": [361, 1796, 479, 1796, 479, 1832, 361, 1832], \"confidence\": 0.996}]}, {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy.\", \"boundingBox\": [175, 1880, 707, 1880, 707, 1909, 175, 1909], \"words\": [{\"text\": \"Do\", \"boundingBox\": [175, 1881, 204, 1881, 204, 1907, 175, 1907], \"confidence\": 0.994}, {\"text\": \"not\", \"boundingBox\": [209, 1881, 254, 1881, 254, 1907, 209, 1907], \"confidence\": 0.997}, {\"text\": \"Jostle\", \"boundingBox\": [259, 1880, 332, 1880, 332, 1908, 259, 1908], \"confidence\": 0.996}, {\"text\": \"Box.\", \"boundingBox\": [338, 1880, 401, 1880, 401, 1909, 338, 1909], \"confidence\": 0.994}, {\"text\": \"Unpack\", \"boundingBox\": [406, 1880, 499, 1880, 499, 1909, 406, 1909], \"confidence\": 0.996}, {\"text\": \"carefully.\", \"boundingBox\": [504, 1880, 623, 1880, 623, 1910, 504, 1910], \"confidence\": 0.994}, {\"text\": \"Enjoy.\", \"boundingBox\": [628, 1880, 707, 1880, 707, 1911, 628, 1911], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\", \"boundingBox\": [169, 1924, 1509, 1924, 1509, 1958, 169, 1958], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [169, 1924, 269, 1924, 269, 1959, 169, 1959], \"confidence\": 0.994}, {\"text\": \"Book\", \"boundingBox\": [276, 1924, 354, 1924, 354, 1959, 276, 1959], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [361, 1924, 464, 1924, 464, 1958, 361, 1958], \"confidence\": 0.994}, {\"text\": \"will\", \"boundingBox\": [471, 1924, 519, 1924, 519, 1958, 471, 1958], \"confidence\": 0.991}, {\"text\": \"refund\", \"boundingBox\": [526, 1924, 625, 1924, 625, 1958, 526, 1958], \"confidence\": 0.996}, {\"text\": \"you\", \"boundingBox\": [632, 1924, 688, 1924, 688, 1958, 632, 1958], \"confidence\": 0.997}, {\"text\": \"50%\", \"boundingBox\": [696, 1924, 762, 1924, 762, 1958, 696, 1958], \"confidence\": 0.986}, {\"text\": \"per\", \"boundingBox\": [769, 1924, 822, 1924, 822, 1958, 769, 1958], \"confidence\": 0.998}, {\"text\": \"book\", \"boundingBox\": [829, 1924, 902, 1924, 902, 1958, 829, 1958], \"confidence\": 0.994}, {\"text\": \"if\", \"boundingBox\": [909, 1924, 930, 1924, 930, 1958, 909, 1958], \"confidence\": 0.997}, {\"text\": \"returned\", \"boundingBox\": [937, 1924, 1063, 1924, 1063, 1958, 937, 1958], \"confidence\": 0.994}, {\"text\": \"within\", \"boundingBox\": [1070, 1924, 1157, 1924, 1157, 1958, 1070, 1958], \"confidence\": 0.995}, {\"text\": \"60\", \"boundingBox\": [1164, 1924, 1203, 1924, 1203, 1958, 1164, 1958], \"confidence\": 0.999}, {\"text\": \"days\", \"boundingBox\": [1210, 1924, 1283, 1924, 1283, 1958, 1210, 1958], \"confidence\": 0.994}, {\"text\": \"of\", \"boundingBox\": [1290, 1924, 1322, 1924, 1322, 1958, 1290, 1958], \"confidence\": 0.999}, {\"text\": \"reading\", \"boundingBox\": [1329, 1924, 1441, 1924, 1441, 1958, 1329, 1958], \"confidence\": 0.996}, {\"text\": \"and\", \"boundingBox\": [1448, 1924, 1509, 1924, 1509, 1958, 1448, 1958], \"confidence\": 0.997}]}, {\"text\": \"offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1958, 786, 1958, 786, 1992, 169, 1992], \"words\": [{\"text\": \"offer\", \"boundingBox\": [169, 1958, 235, 1958, 235, 1991, 169, 1991], \"confidence\": 0.991}, {\"text\": \"you\", \"boundingBox\": [241, 1958, 296, 1958, 296, 1991, 241, 1991], \"confidence\": 0.994}, {\"text\": \"25%\", \"boundingBox\": [307, 1958, 373, 1958, 373, 1992, 307, 1992], \"confidence\": 0.997}, {\"text\": \"off\", \"boundingBox\": [380, 1958, 420, 1958, 420, 1992, 380, 1992], \"confidence\": 0.997}, {\"text\": \"you\", \"boundingBox\": [427, 1958, 482, 1958, 482, 1992, 427, 1992], \"confidence\": 0.997}, {\"text\": \"next\", \"boundingBox\": [489, 1958, 555, 1958, 555, 1992, 489, 1992], \"confidence\": 0.994}, {\"text\": \"total\", \"boundingBox\": [561, 1959, 630, 1959, 630, 1992, 561, 1992], \"confidence\": 0.996}, {\"text\": \"purchase.\", \"boundingBox\": [636, 1959, 786, 1959, 786, 1991, 636, 1991], \"confidence\": 0.994}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\"]}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": [\"#/readResults/0/lines/4/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": [\"#/readResults/0/lines/5/words/0\"]}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": [\"#/readResults/0/lines/6/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": [\"#/readResults/0/lines/7/words/0\"]}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": [\"#/readResults/0/lines/12/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": [\"#/readResults/0/lines/14/words/0\", \"#/readResults/0/lines/14/words/1\"]}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": [\"#/readResults/0/lines/15/words/0\", \"#/readResults/0/lines/15/words/1\"]}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": [\"#/readResults/0/lines/16/words/0\", \"#/readResults/0/lines/16/words/1\"]}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": [\"#/readResults/0/lines/17/words/0\", \"#/readResults/0/lines/17/words/1\", \"#/readResults/0/lines/17/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": [\"#/readResults/0/lines/18/words/0\"]}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": [\"#/readResults/0/lines/19/words/0\", \"#/readResults/0/lines/19/words/1\", \"#/readResults/0/lines/19/words/2\", \"#/readResults/0/lines/19/words/3\", \"#/readResults/0/lines/20/words/0\", \"#/readResults/0/lines/20/words/1\", \"#/readResults/0/lines/20/words/2\", \"#/readResults/0/lines/20/words/3\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": [\"#/readResults/0/lines/21/words/0\"]}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": [\"#/readResults/0/lines/22/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": [\"#/readResults/0/lines/24/words/0\"]}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": [\"#/readResults/0/lines/25/words/0\", \"#/readResults/0/lines/25/words/1\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": [\"#/readResults/0/lines/26/words/0\", \"#/readResults/0/lines/26/words/1\"]}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": [\"#/readResults/0/lines/27/words/0\", \"#/readResults/0/lines/27/words/1\", \"#/readResults/0/lines/27/words/2\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": [\"#/readResults/0/lines/28/words/0\"]}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": [\"#/readResults/0/lines/29/words/0\", \"#/readResults/0/lines/29/words/1\", \"#/readResults/0/lines/29/words/2\", \"#/readResults/0/lines/29/words/3\", \"#/readResults/0/lines/30/words/0\", \"#/readResults/0/lines/30/words/1\", \"#/readResults/0/lines/30/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": [\"#/readResults/0/lines/31/words/0\"]}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": [\"#/readResults/0/lines/32/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": [\"#/readResults/0/lines/53/words/0\"]}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": [\"#/readResults/0/lines/54/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": [\"#/readResults/0/lines/55/words/0\"]}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": [\"#/readResults/0/lines/56/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": [\"#/readResults/0/lines/58/words/0\"]}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": [\"#/readResults/0/lines/59/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": [\"#/readResults/0/lines/62/words/0\", \"#/readResults/0/lines/62/words/1\"]}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": [\"#/readResults/0/lines/63/words/0\", \"#/readResults/0/lines/63/words/1\", \"#/readResults/0/lines/63/words/2\", \"#/readResults/0/lines/63/words/3\", \"#/readResults/0/lines/63/words/4\", \"#/readResults/0/lines/63/words/5\", \"#/readResults/0/lines/63/words/6\", \"#/readResults/0/lines/64/words/0\", \"#/readResults/0/lines/64/words/1\", \"#/readResults/0/lines/64/words/2\", \"#/readResults/0/lines/64/words/3\", \"#/readResults/0/lines/64/words/4\", \"#/readResults/0/lines/64/words/5\", \"#/readResults/0/lines/64/words/6\", \"#/readResults/0/lines/64/words/7\", \"#/readResults/0/lines/64/words/8\", \"#/readResults/0/lines/64/words/9\", \"#/readResults/0/lines/64/words/10\", \"#/readResults/0/lines/64/words/11\", \"#/readResults/0/lines/64/words/12\", \"#/readResults/0/lines/64/words/13\", \"#/readResults/0/lines/64/words/14\", \"#/readResults/0/lines/64/words/15\", \"#/readResults/0/lines/64/words/16\", \"#/readResults/0/lines/65/words/0\", \"#/readResults/0/lines/65/words/1\", \"#/readResults/0/lines/65/words/2\", \"#/readResults/0/lines/65/words/3\", \"#/readResults/0/lines/65/words/4\", \"#/readResults/0/lines/65/words/5\", \"#/readResults/0/lines/65/words/6\", \"#/readResults/0/lines/65/words/7\"]}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/34/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/35/words/0\", \"#/readResults/0/lines/35/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/36/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/37/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/38/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/39/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/40/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/41/words/0\", \"#/readResults/0/lines/41/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/42/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/43/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/44/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/45/words/0\", \"#/readResults/0/lines/45/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/46/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/47/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/48/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/49/words/0\", \"#/readResults/0/lines/49/words/1\", \"#/readResults/0/lines/49/words/2\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/50/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/51/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/52/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledData[1].json deleted file mode 100644 index 7ab53e8a04715..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeCustomFormUrlUnlabeledData[1].json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5948676a-2c85-481c-8eee-bc1db1ead74d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "396", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2b0ccd0f-9237-4b57-b52c-3acbcd1b7bf5", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dd9e183d-4847-4db9-bf1c-04d4800b27b8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ec803244-4972-4375-a780-0d351ee05a03", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"aec29342-ca80-4d7a-a2bc-8ea3d188ce58\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:30Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90b5b90d-ba4a-4df6-b74f-1cd77ebf0b93" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "22e47a52-7ced-44ec-8c2c-66d841602067", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"aec29342-ca80-4d7a-a2bc-8ea3d188ce58\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:30Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "73b45e58-9d3f-448e-b8b1-25e52c985a79" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ff210323-3f62-461c-bd96-c98ba465fa50", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"aec29342-ca80-4d7a-a2bc-8ea3d188ce58\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:45Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "230b656a-da52-4b4b-9166-ce9935959c7d" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "67033ab2-e911-49c8-99dc-75e4db479b3e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"aec29342-ca80-4d7a-a2bc-8ea3d188ce58\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:45Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "57b6e253-e0b6-4d51-90dd-ba31307d18be", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "108", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "287eff02-e267-47c9-a568-7bc13a925317", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyzeresults/e44a1140-47c9-4613-9076-bd26f282c868", - "Date" : "Wed, 07 Jul 2021 06:31:46 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyzeResults/e44a1140-47c9-4613-9076-bd26f282c868", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "60a75274-1324-42df-8a89-e511f82ecf43" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a7fac140-f88b-4960-841d-9d26d9176358", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:46Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:47Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyzeResults/e44a1140-47c9-4613-9076-bd26f282c868", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fe282bef-97e2-4e5d-943b-f03b90d0745a" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cddd78b1-5f16-4dcb-9d65-38d310dc9d8c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:46Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:47Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyzeResults/e44a1140-47c9-4613-9076-bd26f282c868", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3584346b-538d-4025-a35d-b3148e7ffd7b" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "29aedd4b-aa3b-468c-86c5-4758f9a52f2f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:46Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:57Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/aec29342-ca80-4d7a-a2bc-8ea3d188ce58/analyzeResults/e44a1140-47c9-4613-9076-bd26f282c868", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b92c2252-d0fb-4825-b7cd-b36989026478" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e526bdf8-2e00-4ffe-97b5-4208b20f5ba1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:46Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:57Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeGermanContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeGermanContentFromUrl[1].json deleted file mode 100644 index 2ebbdf9f071ab..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeGermanContentFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?language=de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8cb252b7-186a-4d16-a574-83ed0109711f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "590", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3a76af5c-d169-423c-96f1-0517b895ba0a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3a76af5c-d169-423c-96f1-0517b895ba0a", - "Date" : "Wed, 07 Jul 2021 06:29:02 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3a76af5c-d169-423c-96f1-0517b895ba0a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b0dab4e2-8692-4238-b4e4-096e8071971b" - }, - "Response" : { - "content-length" : "16376", - "x-envoy-upstream-service-time" : "56", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "307f906e-688d-40e6-95b5-24ec7813955a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"language\":\"de\",\"lines\":[{\"boundingBox\":[0.8915,1.1143,2.3620,1.1143,2.3620,1.2485,0.8915,1.2485],\"text\":\"Unternehmen Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8915,1.1143,1.9730,1.1143,1.9730,1.2485,0.8915,1.2485],\"text\":\"Unternehmen\",\"confidence\":1},{\"boundingBox\":[2.0475,1.1206,2.3620,1.1206,2.3620,1.2485,2.0475,1.2485],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"text\":\"Rechnung für:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"text\":\"Rechnung\",\"confidence\":1},{\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"text\":\"für:\",\"confidence\":1}]},{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.4486,6.8940,1.4486,6.8940,1.5914,6.0150,1.5914],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.4486,6.3363,1.4486,6.3363,1.5633,6.0150,1.5633],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3963,1.4539,6.8940,1.4539,6.8940,1.5914,6.3963,1.5914],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.6686,6.8121,1.6686,6.8121,1.7833,6.0150,1.7833],\"text\":\"Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.6686,6.4578,1.6686,6.4578,1.7833,6.0150,1.7833],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"confidence\":1}]},{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"confidence\":1}]},{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5051,4.8957,7.2010,4.8957,7.2010,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme:\",\"confidence\":1},{\"boundingBox\":[6.7468,4.9019,7.2010,4.9019,7.2010,5.0107,6.7468,5.0107],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"text\":\"Steuer: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5061,5.1219,5.9900,5.1219,5.9900,5.2307,5.5061,5.2307],\"text\":\"Steuer:\",\"confidence\":1},{\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5020,5.3385,6.3493,5.3385,6.3493,5.4784,5.5020,5.4784],\"text\":\"Tipp: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5020,5.3385,5.8398,5.3385,5.8398,5.4784,5.5020,5.4784],\"text\":\"Tipp:\",\"confidence\":1},{\"boundingBox\":[5.8990,5.3419,6.3493,5.3419,6.3493,5.4507,5.8990,5.4507],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5070,5.5602,6.5795,5.5602,6.5795,5.6690,5.5070,5.6690],\"text\":\"Gesamt: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5070,5.5602,6.0680,5.5602,6.0680,5.6690,5.5070,5.6690],\"text\":\"Gesamt:\",\"confidence\":1},{\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.6690,6.1201,5.6690],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"text\":\"Signatur: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"text\":\"Signatur:\",\"confidence\":1},{\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Artikel\",\"boundingBox\":[0.9976,2.9416,3.1649,2.9416,3.1649,3.1484,0.9976,3.1484],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Menge\",\"boundingBox\":[3.1649,2.9416,5.3322,2.9416,5.3322,3.1484,3.1649,3.1484],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Preis\",\"boundingBox\":[5.3322,2.9416,7.4995,2.9478,7.4995,3.1546,5.3322,3.1484],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Eine\",\"boundingBox\":[0.9976,3.1484,3.1649,3.1484,3.1649,3.3614,0.9909,3.3614],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1484,5.3322,3.1484,5.3322,3.3614,3.1649,3.3614],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1484,7.4995,3.1546,7.4995,3.3614,5.3322,3.3614],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9909,3.3614,3.1649,3.3614,3.1649,3.5682,0.9909,3.5682],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3614,5.3322,3.3614,5.3322,3.5682,3.1649,3.5682],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3614,7.4995,3.3614,7.4995,3.5745,5.3322,3.5682],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9909,3.5682,3.1649,3.5682,3.1649,3.7813,0.9909,3.7813],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5682,5.3322,3.5682,5.3322,3.7813,3.1649,3.7813],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5682,7.4995,3.5745,7.4995,3.7813,5.3322,3.7813],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9909,3.7813,3.1649,3.7813,3.1649,3.9943,0.9909,3.9943],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7813,5.3322,3.7813,5.3322,3.9943,3.1649,3.9943],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7813,7.4995,3.7813,7.4995,3.9943,5.3322,3.9943],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9909,3.9943,3.1649,3.9943,3.1649,4.2011,0.9909,4.2011],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9943,5.3322,3.9943,5.3322,4.2011,3.1649,4.2011],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9943,7.4995,3.9943,7.4995,4.2074,5.3322,4.2011],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9909,4.2011,3.1649,4.2011,3.1649,4.4141,0.9909,4.4141],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2011,5.3322,4.2011,5.3322,4.4141,3.1649,4.4141],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2011,7.4995,4.2074,7.4995,4.4141,5.3322,4.4141],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9909,4.4141,3.1649,4.4141,3.1649,4.6272,0.9909,4.6272],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4141,5.3322,4.4141,5.3322,4.6272,3.1649,4.6272],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4141,7.4995,4.4141,7.4995,4.6272,5.3322,4.6272],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9969,2.9321,7.4979,2.9326,7.4976,4.6320,0.9956,4.6311]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/3a76af5c-d169-423c-96f1-0517b895ba0a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a5073e9-fb68-4536-9dab-40b97dbd1057" - }, - "Response" : { - "content-length" : "16376", - "x-envoy-upstream-service-time" : "89", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a99f281d-f8bf-4d90-a7e6-0de78b339768", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"language\":\"de\",\"lines\":[{\"boundingBox\":[0.8915,1.1143,2.3620,1.1143,2.3620,1.2485,0.8915,1.2485],\"text\":\"Unternehmen Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8915,1.1143,1.9730,1.1143,1.9730,1.2485,0.8915,1.2485],\"text\":\"Unternehmen\",\"confidence\":1},{\"boundingBox\":[2.0475,1.1206,2.3620,1.1206,2.3620,1.2485,2.0475,1.2485],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"text\":\"Rechnung für:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"text\":\"Rechnung\",\"confidence\":1},{\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"text\":\"für:\",\"confidence\":1}]},{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.4486,6.8940,1.4486,6.8940,1.5914,6.0150,1.5914],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.4486,6.3363,1.4486,6.3363,1.5633,6.0150,1.5633],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3963,1.4539,6.8940,1.4539,6.8940,1.5914,6.3963,1.5914],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.6686,6.8121,1.6686,6.8121,1.7833,6.0150,1.7833],\"text\":\"Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.6686,6.4578,1.6686,6.4578,1.7833,6.0150,1.7833],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"confidence\":1}]},{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"confidence\":1}]},{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5051,4.8957,7.2010,4.8957,7.2010,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme:\",\"confidence\":1},{\"boundingBox\":[6.7468,4.9019,7.2010,4.9019,7.2010,5.0107,6.7468,5.0107],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"text\":\"Steuer: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5061,5.1219,5.9900,5.1219,5.9900,5.2307,5.5061,5.2307],\"text\":\"Steuer:\",\"confidence\":1},{\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5020,5.3385,6.3493,5.3385,6.3493,5.4784,5.5020,5.4784],\"text\":\"Tipp: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5020,5.3385,5.8398,5.3385,5.8398,5.4784,5.5020,5.4784],\"text\":\"Tipp:\",\"confidence\":1},{\"boundingBox\":[5.8990,5.3419,6.3493,5.3419,6.3493,5.4507,5.8990,5.4507],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5070,5.5602,6.5795,5.5602,6.5795,5.6690,5.5070,5.6690],\"text\":\"Gesamt: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5070,5.5602,6.0680,5.5602,6.0680,5.6690,5.5070,5.6690],\"text\":\"Gesamt:\",\"confidence\":1},{\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.6690,6.1201,5.6690],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"text\":\"Signatur: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"text\":\"Signatur:\",\"confidence\":1},{\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Artikel\",\"boundingBox\":[0.9976,2.9416,3.1649,2.9416,3.1649,3.1484,0.9976,3.1484],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Menge\",\"boundingBox\":[3.1649,2.9416,5.3322,2.9416,5.3322,3.1484,3.1649,3.1484],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Preis\",\"boundingBox\":[5.3322,2.9416,7.4995,2.9478,7.4995,3.1546,5.3322,3.1484],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Eine\",\"boundingBox\":[0.9976,3.1484,3.1649,3.1484,3.1649,3.3614,0.9909,3.3614],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1484,5.3322,3.1484,5.3322,3.3614,3.1649,3.3614],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1484,7.4995,3.1546,7.4995,3.3614,5.3322,3.3614],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9909,3.3614,3.1649,3.3614,3.1649,3.5682,0.9909,3.5682],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3614,5.3322,3.3614,5.3322,3.5682,3.1649,3.5682],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3614,7.4995,3.3614,7.4995,3.5745,5.3322,3.5682],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9909,3.5682,3.1649,3.5682,3.1649,3.7813,0.9909,3.7813],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5682,5.3322,3.5682,5.3322,3.7813,3.1649,3.7813],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5682,7.4995,3.5745,7.4995,3.7813,5.3322,3.7813],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9909,3.7813,3.1649,3.7813,3.1649,3.9943,0.9909,3.9943],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7813,5.3322,3.7813,5.3322,3.9943,3.1649,3.9943],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7813,7.4995,3.7813,7.4995,3.9943,5.3322,3.9943],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9909,3.9943,3.1649,3.9943,3.1649,4.2011,0.9909,4.2011],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9943,5.3322,3.9943,5.3322,4.2011,3.1649,4.2011],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9943,7.4995,3.9943,7.4995,4.2074,5.3322,4.2011],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9909,4.2011,3.1649,4.2011,3.1649,4.4141,0.9909,4.4141],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2011,5.3322,4.2011,5.3322,4.4141,3.1649,4.4141],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2011,7.4995,4.2074,7.4995,4.4141,5.3322,4.4141],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9909,4.4141,3.1649,4.4141,3.1649,4.6272,0.9909,4.6272],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4141,5.3322,4.4141,5.3322,4.6272,3.1649,4.6272],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4141,7.4995,4.4141,7.4995,4.6272,5.3322,4.6272],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9969,2.9321,7.4979,2.9326,7.4976,4.6320,0.9956,4.6311]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromDamagedPdf[1].json deleted file mode 100644 index 8af2d0fc96f68..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a5906c2c-2945-4b49-948a-0f29e953ba80", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e0bce5b-a1cd-4ec7-85ab-867f04ad057e", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"7e0bce5b-a1cd-4ec7-85ab-867f04ad057e\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 1774f8a64ada0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "43edb14a-fbf9-4085-82d3-b147f7711eb0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "77", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "05b1cc97-fe4d-4314-bf9a-3fd9bc810afc", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/05b1cc97-fe4d-4314-bf9a-3fd9bc810afc", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/05b1cc97-fe4d-4314-bf9a-3fd9bc810afc", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "32b27e32-2c1d-491b-81b8-6ece97923f45" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "65", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "759814eb-0299-4363-8f0a-bf7cbd301e44", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/05b1cc97-fe4d-4314-bf9a-3fd9bc810afc", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3fe86984-486e-4df2-8c22-58c0c9cf2144" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bc7d21c-d708-495c-9797-ef349427dc75", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentInvalidSourceUrl[1].json deleted file mode 100644 index aded06dece61c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "08861505-b324-491d-964f-c43d8ce94856", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "198", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2ce18f5d-8bf5-4f58-ab06-616b4b1800b8", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"2ce18f5d-8bf5-4f58-ab06-616b4b1800b8\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentWithBlankPdf[1].json deleted file mode 100644 index efcf97494933c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeIDDocumentWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cc50930b-4d1e-426f-8e3d-4c4af4344f96", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "10a0ef3a-9572-49d5-9f88-253645751625", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/10a0ef3a-9572-49d5-9f88-253645751625", - "Date" : "Wed, 07 Jul 2021 06:30:18 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/10a0ef3a-9572-49d5-9f88-253645751625", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "73fb62e7-4350-4c88-bd95-1f4289469d30" - }, - "Response" : { - "content-length" : "240", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "21471816-1cf1-4b2b-adfd-8b128a1f205b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/10a0ef3a-9572-49d5-9f88-253645751625", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "257bfcba-31d9-4308-ac35-98b6adafa6e6" - }, - "Response" : { - "content-length" : "240", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "927bb0d2-798b-4f37-9bed-24b26da9d6b2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataIncludeFieldElements[1].json deleted file mode 100644 index 7c939e20e33ec..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0280d0a8-7026-44f3-a012-774078e92615", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "202", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "30fc4ae6-df23-43bd-aa89-8dd5bb5d547c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/30fc4ae6-df23-43bd-aa89-8dd5bb5d547c", - "Date" : "Wed, 07 Jul 2021 06:30:24 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/30fc4ae6-df23-43bd-aa89-8dd5bb5d547c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0517052-466e-4666-bc5d-cb0166c1f196" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7deb83dd-a273-4fe5-aa21-c5624b80542b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/30fc4ae6-df23-43bd-aa89-8dd5bb5d547c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1202dda3-b708-4603-8b20-80bc457fef40" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bee443d-8968-4fcf-8794-c521c22dcbaf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithBlankPdf[1].json deleted file mode 100644 index da3bd52827398..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "38df70d6-9967-419c-9709-a08c0fff36c5", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c24120ec-cf6d-4dc1-96b7-352ab21bfa26", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/c24120ec-cf6d-4dc1-96b7-352ab21bfa26", - "Date" : "Wed, 07 Jul 2021 06:31:41 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/c24120ec-cf6d-4dc1-96b7-352ab21bfa26", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3b3a3f9d-981f-4a95-8eee-3dc4ffa1264e" - }, - "Response" : { - "content-length" : "339", - "x-envoy-upstream-service-time" : "326", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "334b0ce0-9569-471f-9ae3-6ed09f9ee12a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/c24120ec-cf6d-4dc1-96b7-352ab21bfa26", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e7e8588e-ce80-490b-9d7f-61acd2459acc" - }, - "Response" : { - "content-length" : "339", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c280833-3bcf-42c1-83e6-547b59be075f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 80264bef8fc99..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2ef2eeb8-e848-4a56-9b32-056be0e34a6a", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "320", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "140e98a5-9c27-42b1-b5f7-96438bbac97d", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/140e98a5-9c27-42b1-b5f7-96438bbac97d", - "Date" : "Wed, 07 Jul 2021 06:30:14 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/140e98a5-9c27-42b1-b5f7-96438bbac97d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e841d621-8e0f-4036-a7f9-eaf3585ca5e6" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "322ea25c-8d17-43dc-af8d-b4cf94bcba5a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/140e98a5-9c27-42b1-b5f7-96438bbac97d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3f76c71b-c3f2-4ed6-a706-03e4b6952f31" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e6a1a2c-fcc0-4006-84c0-4b46f1a3c6df", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceData[1].json deleted file mode 100644 index 5f723eda7bbad..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0446f65f-5459-4511-99a2-f847b7a4a960", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "202", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dd8a3d0b-afa2-4999-a9bd-ea50264f4055", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dd8a3d0b-afa2-4999-a9bd-ea50264f4055", - "Date" : "Wed, 07 Jul 2021 06:31:32 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dd8a3d0b-afa2-4999-a9bd-ea50264f4055", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1a3332dd-98a0-46e4-a4d6-8bb05927b63b" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9cf74eea-fdbe-4558-859c-153001fd0a8b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dd8a3d0b-afa2-4999-a9bd-ea50264f4055", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "23a90be5-64dd-4cca-81a1-88f4c4369027" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "aff390a9-6037-420d-baa6-82092bfcae36", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromDamagedPdf[1].json deleted file mode 100644 index 08750f0a55c9a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "57b7d3d7-2956-417d-a302-3f309e01b8b5", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1673c99e-8770-4b2f-9f01-beb925999ae4", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"1673c99e-8770-4b2f-9f01-beb925999ae4\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 6d5bb9f422600..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8cf28b80-5beb-4e93-95b3-bf943ea35060", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "187", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dae393dc-e3cc-40e9-93fe-c7f5c75a9b13", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dae393dc-e3cc-40e9-93fe-c7f5c75a9b13", - "Date" : "Wed, 07 Jul 2021 06:30:59 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dae393dc-e3cc-40e9-93fe-c7f5c75a9b13", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "86ee106e-0b5a-442d-8af6-e704cf0eb28c" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "10", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4a58a559-b94d-4110-9d94-11d9a705569a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:31:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:00Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dae393dc-e3cc-40e9-93fe-c7f5c75a9b13", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "03ec7063-726f-4b6e-af4b-46ba0239f1f7" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d6ff7e19-e945-46ce-b2f7-5e36b8ad7923", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dae393dc-e3cc-40e9-93fe-c7f5c75a9b13", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7ec932ab-98af-42bc-840c-343d0397120f" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b3d27d2e-e681-4435-bd8a-93838d36147b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 53e7b48b05ab8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "08ffa6ec-caea-4d8f-a0e8-5386ac30fb44", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "08ffa6ec-caea-4d8f-a0e8-5386ac30fb44", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "08ffa6ec-caea-4d8f-a0e8-5386ac30fb44", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "08ffa6ec-caea-4d8f-a0e8-5386ac30fb44", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceInvalidSourceUrl[1].json deleted file mode 100644 index 2dd59fb9e5923..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4e093103-d2c2-45f8-85f9-3901b7332a3e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "961", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "83717106-a9b8-4598-8134-da0c1882d119", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"83717106-a9b8-4598-8134-da0c1882d119\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceSourceUrl[1].json deleted file mode 100644 index 8a639e441402a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "76817b4f-d94e-4b02-8ed5-0adf72d7cf95", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "331", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e477e837-e06e-46fe-a8ae-6209feec8b8b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e477e837-e06e-46fe-a8ae-6209feec8b8b", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e477e837-e06e-46fe-a8ae-6209feec8b8b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0073e5fb-ab0b-4128-8d0d-641640ebe8b1" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d6f53e6a-5afb-4341-bff3-881e93e58f03", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/e477e837-e06e-46fe-a8ae-6209feec8b8b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "89adb8a9-b361-4259-a94e-b2610ed869b0" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1080c9da-73c2-48ae-88a7-b1de916d2be2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceWithPage[1].json deleted file mode 100644 index cfac5c4fd1244..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeInvoiceWithPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false&locale=en-US&pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90f86c7a-d171-4dcc-a765-dbdeefbb9993", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "197", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "361f3680-0619-4468-a1fd-ac367670f486", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/361f3680-0619-4468-a1fd-ac367670f486", - "Date" : "Wed, 07 Jul 2021 06:29:15 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/361f3680-0619-4468-a1fd-ac367670f486", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "85bd81ec-5d99-4b82-9ecd-1034027c3a1f" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "56", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "01e036b6-758c-4cd8-87ee-728cd43a7c55", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/361f3680-0619-4468-a1fd-ac367670f486", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8ccd4a8d-f77d-4db8-9733-b3211d51c770" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2bb81122-b9f5-4330-8946-c92f066e1e4a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseCardData[1].json deleted file mode 100644 index 0b362f47d5001..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseCardData[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fabb19fc-515a-46ef-a13d-56c9a93a09cb", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "82", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "94a10a45-8180-4219-b058-bfd2ce7139b5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/94a10a45-8180-4219-b058-bfd2ce7139b5", - "Date" : "Wed, 07 Jul 2021 06:28:45 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/94a10a45-8180-4219-b058-bfd2ce7139b5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9ad2000-3ae5-4935-a2cb-60d6c86b131c" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "11", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bfb29eca-41f1-4408-883d-3fd98eaea2c7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:28:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:45Z\"}", - "Date" : "Wed, 07 Jul 2021 06:28:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/94a10a45-8180-4219-b058-bfd2ce7139b5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7bd9b58a-395b-4986-b44b-504dd840b835" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5da0cf9c-a23d-40ee-9977-c580050cfb19", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:51Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/94a10a45-8180-4219-b058-bfd2ce7139b5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "89dbad9a-2312-429a-bb66-942e7410d972" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "358ef4eb-38f1-47d5-b7bb-00c83d3ef501", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:51Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataIncludeFieldElements[1].json deleted file mode 100644 index 3b0fcfdb2a52f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f85c46fd-278d-4268-bcf2-905854d18179", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "92", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ddd00775-cfad-4a5d-96f4-ca66a51237f5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ddd00775-cfad-4a5d-96f4-ca66a51237f5", - "Date" : "Wed, 07 Jul 2021 06:30:23 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ddd00775-cfad-4a5d-96f4-ca66a51237f5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "055f564f-bf7e-4c05-bff3-1c08b2470120" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "68541bc2-fe78-40a2-88ca-a825f2f8011b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:26Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ddd00775-cfad-4a5d-96f4-ca66a51237f5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0beac2b-e6e9-430c-acee-d414e862c91f" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d80d2375-2e26-4a31-9e9a-9be454f1dd31", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:26Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index ad15392acf407..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "699fefa8-063b-40bc-9e5b-0bbf0ee8f3d9", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "92", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "58a427a7-4ece-46d7-a2b1-f9a44f92c150", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/58a427a7-4ece-46d7-a2b1-f9a44f92c150", - "Date" : "Wed, 07 Jul 2021 06:31:05 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/58a427a7-4ece-46d7-a2b1-f9a44f92c150", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f09adfb3-c443-4af6-a9ac-62c842cccbe2" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6200bf92-db43-436b-bed0-65fa344b5285", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/58a427a7-4ece-46d7-a2b1-f9a44f92c150", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2a50111c-f6f1-4437-8079-e686af81e250" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "700b758f-5489-4eda-998c-ba4ca40ff446", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:10Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseSourceUrl[1].json deleted file mode 100644 index 397502c18ea0b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeLicenseSourceUrl[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f3aacee9-de8c-428f-afa5-d14e75580330", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "72", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "790737bb-0bcc-4264-a6f4-8bfad1804e8b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/790737bb-0bcc-4264-a6f4-8bfad1804e8b", - "Date" : "Wed, 07 Jul 2021 06:30:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/790737bb-0bcc-4264-a6f4-8bfad1804e8b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8359c5ba-66c3-447a-96df-e9e9b608a814" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "13", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b0b3c98a-98fd-4642-84b3-b4b9a690830e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:05Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/790737bb-0bcc-4264-a6f4-8bfad1804e8b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1af5f5ac-3aeb-4fcf-a0c5-0f9ddf7e345d" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bcbd151e-36db-4932-951f-af630ae419d2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:11Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/790737bb-0bcc-4264-a6f4-8bfad1804e8b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "25b2c4db-2f2b-443e-b65c-2127935d1c96" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a35b7fa2-d608-4f39-947d-a03b242e097f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:11Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCardUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCardUrl[1].json deleted file mode 100644 index bcb6fbd44b1fa..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCardUrl[1].json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3d2f861e-1f83-403c-b3cd-fdd456ed7170", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "173", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "598d2a93-1236-4d49-b2fc-efad81e02c24", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/598d2a93-1236-4d49-b2fc-efad81e02c24", - "Date" : "Wed, 07 Jul 2021 06:30:21 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/598d2a93-1236-4d49-b2fc-efad81e02c24", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c767538-7c57-4761-b9a5-111ddf7ad697" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "11", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dfcd231c-07c8-4b52-be25-0165555f8667", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:21Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/598d2a93-1236-4d49-b2fc-efad81e02c24", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8d50f001-d450-4ee5-a882-3e6f81611d03" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3c03d659-3218-4a22-b4e4-8bdfc527a4e5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:21Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/598d2a93-1236-4d49-b2fc-efad81e02c24", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0f698794-e341-46f2-9eab-a58b167e2303" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c17857e4-d13a-41ef-a48c-3f5f9866e6e5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/598d2a93-1236-4d49-b2fc-efad81e02c24", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1c1e9cba-df78-4dce-a386-66a48650440e" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "16d62c84-07b1-43a9-8e47-78d6fe86a25d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:32Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCard[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCard[1].json deleted file mode 100644 index 6612bbd3a7148..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageBusinessCard[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2ed925c6-482e-4a21-90a6-21c9693f42cd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "101", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3dea768e-26b1-4f9f-9664-4810921f1182", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/3dea768e-26b1-4f9f-9664-4810921f1182", - "Date" : "Wed, 07 Jul 2021 06:31:16 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/3dea768e-26b1-4f9f-9664-4810921f1182", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d2a254b5-7d84-45d1-acd9-0db6aeade551" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "75a42e9f-f9d5-4ba1-a23b-fae2e78cf494", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/3dea768e-26b1-4f9f-9664-4810921f1182", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a6aab8bb-67ec-475d-b478-a66ec46a0da8" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9e45e548-8e9d-4776-ae0e-534cfc843a5e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageInvoice[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageInvoice[1].json deleted file mode 100644 index 140b57b723427..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeMultipageInvoice[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "198ed615-6283-4306-bdeb-46452f9a4abc", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "233", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ec034a04-a9ed-417e-a180-787b22f0d19c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/ec034a04-a9ed-417e-a180-787b22f0d19c", - "Date" : "Wed, 07 Jul 2021 06:29:22 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/ec034a04-a9ed-417e-a180-787b22f0d19c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9d29169a-c904-4985-b325-e9cb350f64dc" - }, - "Response" : { - "content-length" : "42011", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39ddc960-2d55-469d-ad9a-b42631f9e4a5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1},{\"text\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1},{\"text\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1},{\"text\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1},{\"text\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1},{\"text\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1},{\"text\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1},{\"text\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1},{\"text\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1},{\"text\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1},{\"text\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"words\":[{\"text\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1},{\"text\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1},{\"text\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1},{\"text\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1},{\"text\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1},{\"text\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1},{\"text\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1},{\"text\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1},{\"text\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1},{\"text\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1},{\"text\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1},{\"text\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1},{\"text\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1},{\"text\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"words\":[{\"text\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1},{\"text\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1},{\"text\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1},{\"text\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1},{\"text\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1},{\"text\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1},{\"text\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1},{\"text\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1},{\"text\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1},{\"text\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1},{\"text\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1},{\"text\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1},{\"text\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"words\":[{\"text\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1},{\"text\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1},{\"text\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1},{\"text\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1},{\"text\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1},{\"text\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"words\":[{\"text\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1},{\"text\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1},{\"text\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"words\":[{\"text\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1},{\"text\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1},{\"text\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"words\":[{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"words\":[{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"words\":[{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"words\":[{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"words\":[{\"text\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"words\":[{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"words\":[{\"text\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"words\":[{\"text\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"words\":[{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"words\":[{\"text\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"words\":[{\"text\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"words\":[{\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"words\":[{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"words\":[{\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"words\":[{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"words\":[{\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"words\":[{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"words\":[{\"text\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}],\"selectionMarks\":[{\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1},{\"text\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"words\":[{\"text\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1},{\"text\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1},{\"text\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1},{\"text\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"words\":[{\"text\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1},{\"text\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"words\":[{\"text\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1},{\"text\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1},{\"text\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"words\":[{\"text\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1},{\"text\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1},{\"text\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":13,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Package\",\"boundingBox\":[0.9975,4.6436,2.6235,4.6436,2.6235,4.8578,0.9975,4.8578],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Included\",\"boundingBox\":[2.6235,4.6436,5.7489,4.6436,5.7489,4.8578,2.6235,4.8578],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.7489,4.6436,7.4948,4.6436,7.4948,4.8578,5.7489,4.8578],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Gold Sponsor\",\"boundingBox\":[0.9975,4.8578,2.6235,4.8578,2.6235,5.9286,0.9975,5.9222],\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,4.8578,5.7489,4.8578,5.7489,5.0914,2.6235,5.0914],\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$1,500\",\"boundingBox\":[5.7489,4.8578,7.4948,4.8578,7.4948,5.0914,5.7489,5.0914],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[2.6235,5.0914,5.7489,5.0914,5.7422,5.9286,2.6235,5.9286],\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"rowIndex\":2,\"columnIndex\":2,\"boundingBox\":[5.7489,5.0914,7.4948,5.0914,7.4948,5.9222,5.7422,5.9286],\"text\":\"\",\"elements\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Silver Sponsor\",\"boundingBox\":[0.9975,5.9222,2.6235,5.9286,2.6235,6.7788,0.9975,6.7788],\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,5.9286,5.7422,5.9286,5.7422,6.1623,2.6235,6.1558],\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":3,\"text\":\"$1,200\",\"boundingBox\":[5.7422,5.9286,7.4948,5.9222,7.4948,6.7788,5.7422,6.7788],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"Post-keynote thank you\",\"boundingBox\":[2.6235,6.1558,5.7422,6.1623,5.7422,6.383,2.6235,6.3765],\"elements\":[\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\"]},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"Logo on poster Half page ad in program guide\",\"boundingBox\":[2.6235,6.3765,5.7422,6.383,5.7422,6.7788,2.6235,6.7788],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\",\"#/readResults/0/selectionMarks/0\"]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Bronze Sponsor\",\"boundingBox\":[0.9975,6.7788,2.6235,6.7788,2.6235,7.629,0.9975,7.629],\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\"]},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,6.7788,5.7422,6.7788,5.7422,7.019,2.6235,7.019],\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\"]},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"$1,000\",\"boundingBox\":[5.7422,6.7788,7.4948,6.7788,7.4948,7.019,5.7422,7.019],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.019,5.7422,7.019,5.7422,7.629,2.6235,7.629],\"elements\":[\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":2,\"boundingBox\":[5.7422,7.019,7.4948,7.019,7.4948,7.629,5.7422,7.629],\"text\":\"\",\"elements\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Full Booth\",\"boundingBox\":[0.9975,7.629,2.6235,7.629,2.6235,8.2651,0.9908,8.2651],\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\"]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.629,5.7422,7.629,5.7422,8.2651,2.6235,8.2651],\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$600\",\"boundingBox\":[5.7422,7.629,7.4948,7.629,7.4948,8.2651,5.7422,8.2651],\"elements\":[\"#/readResults/0/lines/33/words/0\"]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Half Booth\",\"boundingBox\":[0.9908,8.2651,2.6235,8.2651,2.6235,8.9011,0.9908,8.9011],\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\"]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[2.6235,8.2651,5.7422,8.2651,5.7422,8.9011,2.6235,8.9011],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$350\",\"boundingBox\":[5.7422,8.2651,7.4948,8.2651,7.4948,8.9011,5.7422,8.9011],\"elements\":[\"#/readResults/0/lines/38/words/0\"]}],\"boundingBox\":[0.994,4.6469,7.4953,4.6454,7.4964,8.9061,0.9936,8.9066]}]},{\"page\":2,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"page\":1,\"confidence\":0.853,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"text\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994],\"page\":1,\"confidence\":0.752,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Gold Sponsor\",\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"page\":1,\"confidence\":0,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]}},\"text\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994],\"page\":1,\"confidence\":0.952,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"page\":1,\"confidence\":0.804,\"elements\":[\"#/readResults/0/lines/21/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"text\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678],\"page\":1,\"confidence\":0.668,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"page\":1,\"confidence\":0.005,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]}},\"text\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678],\"page\":1,\"confidence\":0.945,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\",\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"page\":1,\"confidence\":0.831,\"elements\":[\"#/readResults/0/lines/27/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"text\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863],\"page\":1,\"confidence\":0.663,\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Bronze\",\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"page\":1,\"confidence\":0.293,\"elements\":[\"#/readResults/0/lines/25/words/0\"]}},\"text\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863],\"page\":1,\"confidence\":0.93,\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\",\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/27/words/0\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"page\":1,\"confidence\":0.816,\"elements\":[\"#/readResults/0/lines/33/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213],\"page\":1,\"confidence\":0.779,\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Full\",\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"page\":1,\"confidence\":0.309,\"elements\":[\"#/readResults/0/lines/31/words/0\"]}},\"text\":\"Full Booth Full booth $600 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\",\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"page\":1,\"confidence\":0.857,\"elements\":[\"#/readResults/0/lines/38/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563],\"page\":1,\"confidence\":0.792,\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"page\":1,\"confidence\":0.342,\"elements\":[\"#/readResults/0/lines/36/words/0\"]}},\"text\":\"Half Booth Full booth $350 25% discount on program guide advertisements\",\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\",\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/38/words/0\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]}]},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"text\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518],\"page\":1,\"confidence\":0.851,\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\",\"#/readResults/0/lines/8/words/2\"]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"page\":1,\"confidence\":0.946,\"elements\":[\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"text\":\"Elm Conference Center in\",\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013],\"page\":1,\"confidence\":0.493,\"elements\":[\"#/readResults/0/lines/2/words/12\",\"#/readResults/0/lines/2/words/13\",\"#/readResults/0/lines/2/words/14\",\"#/readResults/0/lines/2/words/15\"]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013],\"page\":1,\"confidence\":0.463,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"text\":\"Southridge Video\",\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128],\"page\":2,\"confidence\":0.952,\"elements\":[\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/ec034a04-a9ed-417e-a180-787b22f0d19c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "01bcfb4a-a336-4eb6-9516-e2d19e68ab1f" - }, - "Response" : { - "content-length" : "42011", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4d59e455-fb58-420d-96cb-e559f6e2838f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1},{\"text\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1},{\"text\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1},{\"text\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1},{\"text\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1},{\"text\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1},{\"text\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1},{\"text\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1},{\"text\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1},{\"text\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1},{\"text\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"words\":[{\"text\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1},{\"text\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1},{\"text\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1},{\"text\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1},{\"text\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1},{\"text\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1},{\"text\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1},{\"text\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1},{\"text\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1},{\"text\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1},{\"text\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1},{\"text\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1},{\"text\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1},{\"text\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"words\":[{\"text\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1},{\"text\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1},{\"text\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1},{\"text\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1},{\"text\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1},{\"text\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1},{\"text\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1},{\"text\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1},{\"text\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1},{\"text\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1},{\"text\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1},{\"text\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1},{\"text\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"words\":[{\"text\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1},{\"text\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1},{\"text\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1},{\"text\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1},{\"text\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1},{\"text\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"words\":[{\"text\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1},{\"text\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1},{\"text\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"words\":[{\"text\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1},{\"text\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1},{\"text\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"words\":[{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"words\":[{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"words\":[{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"words\":[{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"words\":[{\"text\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"words\":[{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"words\":[{\"text\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"words\":[{\"text\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"words\":[{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"words\":[{\"text\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"words\":[{\"text\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"words\":[{\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"words\":[{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"words\":[{\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"words\":[{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"words\":[{\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"words\":[{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"words\":[{\"text\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}],\"selectionMarks\":[{\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1},{\"text\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"words\":[{\"text\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1},{\"text\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1},{\"text\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1},{\"text\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"words\":[{\"text\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1},{\"text\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"words\":[{\"text\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1},{\"text\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1},{\"text\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"words\":[{\"text\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1},{\"text\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1},{\"text\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":13,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Package\",\"boundingBox\":[0.9975,4.6436,2.6235,4.6436,2.6235,4.8578,0.9975,4.8578],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Included\",\"boundingBox\":[2.6235,4.6436,5.7489,4.6436,5.7489,4.8578,2.6235,4.8578],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.7489,4.6436,7.4948,4.6436,7.4948,4.8578,5.7489,4.8578],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Gold Sponsor\",\"boundingBox\":[0.9975,4.8578,2.6235,4.8578,2.6235,5.9286,0.9975,5.9222],\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,4.8578,5.7489,4.8578,5.7489,5.0914,2.6235,5.0914],\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$1,500\",\"boundingBox\":[5.7489,4.8578,7.4948,4.8578,7.4948,5.0914,5.7489,5.0914],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[2.6235,5.0914,5.7489,5.0914,5.7422,5.9286,2.6235,5.9286],\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"rowIndex\":2,\"columnIndex\":2,\"boundingBox\":[5.7489,5.0914,7.4948,5.0914,7.4948,5.9222,5.7422,5.9286],\"text\":\"\",\"elements\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Silver Sponsor\",\"boundingBox\":[0.9975,5.9222,2.6235,5.9286,2.6235,6.7788,0.9975,6.7788],\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,5.9286,5.7422,5.9286,5.7422,6.1623,2.6235,6.1558],\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":3,\"text\":\"$1,200\",\"boundingBox\":[5.7422,5.9286,7.4948,5.9222,7.4948,6.7788,5.7422,6.7788],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"Post-keynote thank you\",\"boundingBox\":[2.6235,6.1558,5.7422,6.1623,5.7422,6.383,2.6235,6.3765],\"elements\":[\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\"]},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"Logo on poster Half page ad in program guide\",\"boundingBox\":[2.6235,6.3765,5.7422,6.383,5.7422,6.7788,2.6235,6.7788],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\",\"#/readResults/0/selectionMarks/0\"]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Bronze Sponsor\",\"boundingBox\":[0.9975,6.7788,2.6235,6.7788,2.6235,7.629,0.9975,7.629],\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\"]},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,6.7788,5.7422,6.7788,5.7422,7.019,2.6235,7.019],\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\"]},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"$1,000\",\"boundingBox\":[5.7422,6.7788,7.4948,6.7788,7.4948,7.019,5.7422,7.019],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.019,5.7422,7.019,5.7422,7.629,2.6235,7.629],\"elements\":[\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":2,\"boundingBox\":[5.7422,7.019,7.4948,7.019,7.4948,7.629,5.7422,7.629],\"text\":\"\",\"elements\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Full Booth\",\"boundingBox\":[0.9975,7.629,2.6235,7.629,2.6235,8.2651,0.9908,8.2651],\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\"]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.629,5.7422,7.629,5.7422,8.2651,2.6235,8.2651],\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$600\",\"boundingBox\":[5.7422,7.629,7.4948,7.629,7.4948,8.2651,5.7422,8.2651],\"elements\":[\"#/readResults/0/lines/33/words/0\"]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Half Booth\",\"boundingBox\":[0.9908,8.2651,2.6235,8.2651,2.6235,8.9011,0.9908,8.9011],\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\"]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[2.6235,8.2651,5.7422,8.2651,5.7422,8.9011,2.6235,8.9011],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$350\",\"boundingBox\":[5.7422,8.2651,7.4948,8.2651,7.4948,8.9011,5.7422,8.9011],\"elements\":[\"#/readResults/0/lines/38/words/0\"]}],\"boundingBox\":[0.994,4.6469,7.4953,4.6454,7.4964,8.9061,0.9936,8.9066]}]},{\"page\":2,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"page\":1,\"confidence\":0.853,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"text\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994],\"page\":1,\"confidence\":0.752,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Gold Sponsor\",\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"page\":1,\"confidence\":0,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]}},\"text\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994],\"page\":1,\"confidence\":0.952,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"page\":1,\"confidence\":0.804,\"elements\":[\"#/readResults/0/lines/21/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"text\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678],\"page\":1,\"confidence\":0.668,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"page\":1,\"confidence\":0.005,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]}},\"text\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678],\"page\":1,\"confidence\":0.945,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\",\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"page\":1,\"confidence\":0.831,\"elements\":[\"#/readResults/0/lines/27/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"text\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863],\"page\":1,\"confidence\":0.663,\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Bronze\",\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"page\":1,\"confidence\":0.293,\"elements\":[\"#/readResults/0/lines/25/words/0\"]}},\"text\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863],\"page\":1,\"confidence\":0.93,\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\",\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/27/words/0\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"page\":1,\"confidence\":0.816,\"elements\":[\"#/readResults/0/lines/33/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213],\"page\":1,\"confidence\":0.779,\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Full\",\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"page\":1,\"confidence\":0.309,\"elements\":[\"#/readResults/0/lines/31/words/0\"]}},\"text\":\"Full Booth Full booth $600 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\",\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"page\":1,\"confidence\":0.857,\"elements\":[\"#/readResults/0/lines/38/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563],\"page\":1,\"confidence\":0.792,\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"page\":1,\"confidence\":0.342,\"elements\":[\"#/readResults/0/lines/36/words/0\"]}},\"text\":\"Half Booth Full booth $350 25% discount on program guide advertisements\",\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\",\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/38/words/0\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]}]},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"text\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518],\"page\":1,\"confidence\":0.851,\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\",\"#/readResults/0/lines/8/words/2\"]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"page\":1,\"confidence\":0.946,\"elements\":[\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"text\":\"Elm Conference Center in\",\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013],\"page\":1,\"confidence\":0.493,\"elements\":[\"#/readResults/0/lines/2/words/12\",\"#/readResults/0/lines/2/words/13\",\"#/readResults/0/lines/2/words/14\",\"#/readResults/0/lines/2/words/15\"]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013],\"page\":1,\"confidence\":0.463,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"text\":\"Southridge Video\",\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128],\"page\":2,\"confidence\":0.952,\"elements\":[\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataIncludeFieldElements[1].json deleted file mode 100644 index e4d18880a64f2..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "01b117f8-8a37-48ae-b963-e3e5209d6034", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "232", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "49e5bdff-d1b5-4e50-9bfc-062a0b07de3c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/49e5bdff-d1b5-4e50-9bfc-062a0b07de3c", - "Date" : "Wed, 07 Jul 2021 06:30:35 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/49e5bdff-d1b5-4e50-9bfc-062a0b07de3c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3285338-1aa5-496f-acc2-4efa43cbcd60" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5f39c5c8-4e8f-4ef3-8f25-93924bafd647", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:41Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/49e5bdff-d1b5-4e50-9bfc-062a0b07de3c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "605c2635-6be5-489f-bb6e-955f495db291" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "91ef6343-6111-4bf4-b36c-9e7f8f8859bd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:41Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithBlankPdf[1].json deleted file mode 100644 index 98a5a4f036106..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "688ef6a7-ae14-46ee-b00c-fbe9f68d7654", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7880aea3-ba36-4d4c-ab2d-a003981ea551", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7880aea3-ba36-4d4c-ab2d-a003981ea551", - "Date" : "Wed, 07 Jul 2021 06:30:39 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7880aea3-ba36-4d4c-ab2d-a003981ea551", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "343622b8-40c6-4df3-af3a-839824d9470d" - }, - "Response" : { - "content-length" : "311", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4b4510c7-b9e4-4ed1-80aa-435e89ea56b4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7880aea3-ba36-4d4c-ab2d-a003981ea551", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cbe96976-0372-444f-b7b7-6b4ad314fb21" - }, - "Response" : { - "content-length" : "311", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7b1876bd-d298-46ea-97de-0e9fae9cfeea", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 32a0bb7901a8d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aa754dbe-b006-49cb-ba08-bdb6b139b583", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "270", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "58629892-bc97-4bbb-aa93-9f3a643639c8", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/58629892-bc97-4bbb-aa93-9f3a643639c8", - "Date" : "Wed, 07 Jul 2021 06:30:35 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/58629892-bc97-4bbb-aa93-9f3a643639c8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a7191b67-fec5-425d-be2a-1af0cf540b7b" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dddcfb4d-b127-4095-9ce4-03905be9bcc0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/58629892-bc97-4bbb-aa93-9f3a643639c8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ffb11a9c-9128-462c-bde3-962454b99758" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d3ca1cd7-3483-44c6-b556-70ac43e4dd7a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithPngFile[1].json deleted file mode 100644 index 38f62014248e9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptDataWithPngFile[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8f516e2d-6659-458e-87dc-92050deada6e", - "Content-Type" : "image/png" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "562", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3e5042fc-96d4-4431-a191-0744c98cf7de", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3e5042fc-96d4-4431-a191-0744c98cf7de", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3e5042fc-96d4-4431-a191-0744c98cf7de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8ca47e79-9167-44fa-9e27-7f1c68f361c9" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "12", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cb8bbf27-9fd9-42dd-9ac0-83869323254b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:43Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3e5042fc-96d4-4431-a191-0744c98cf7de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "62d5f5fa-db0f-4d61-9ff3-0ee4400c95fa" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "55a992c9-a910-4fc5-8af2-949434ae8cfe", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:49Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3e5042fc-96d4-4431-a191-0744c98cf7de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "03d956c5-f323-4488-ba20-fa1469964c15" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4ae0255c-41cb-42b2-81a1-1bb637cee36d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:49Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptData[1].json deleted file mode 100644 index 432d7da18dede..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c4843df7-d58e-4a04-9691-1d42a565fc44", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "176", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1d7ae183-734b-4019-8107-29c7fb60b398", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1d7ae183-734b-4019-8107-29c7fb60b398", - "Date" : "Wed, 07 Jul 2021 06:30:41 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1d7ae183-734b-4019-8107-29c7fb60b398", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a6827718-267f-4679-a2d6-b484265a1ed1" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7c1fa90c-74d6-4e79-9a98-15baebeebe97", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1d7ae183-734b-4019-8107-29c7fb60b398", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "542de428-d847-4279-bc2b-8161ebd434f4" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8824d853-ed1c-4c9f-b20b-e69177cf1e87", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDamagedPdf[1].json deleted file mode 100644 index 81a40d02ad17f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d74c1140-b230-41e2-aa9d-2b959c64964e", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "6", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4d6f9012-b35d-4c79-aaa0-8382f7507cff", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"4d6f9012-b35d-4c79-aaa0-8382f7507cff\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDataMultiPage[1].json deleted file mode 100644 index 76a8568b67893..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromDataMultiPage[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1f86a022-cc66-457b-a25b-651968fc47c2", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "81", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b16f8470-bd4c-4de5-a6f9-6469dc05ab4a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/b16f8470-bd4c-4de5-a6f9-6469dc05ab4a", - "Date" : "Wed, 07 Jul 2021 06:30:53 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/b16f8470-bd4c-4de5-a6f9-6469dc05ab4a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5bddbb59-5801-431d-a644-110679bad685" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0e2a6240-c6d6-4c10-bab4-bd8a4fc41c64", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:53Z\"}", - "Date" : "Wed, 07 Jul 2021 06:30:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/b16f8470-bd4c-4de5-a6f9-6469dc05ab4a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15696dd8-7017-4e4a-b093-fbe620545b26" - }, - "Response" : { - "content-length" : "22158", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c980e2e-b11c-4fec-9670-007251bb26a4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.5617,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9036,2.6918,2.5677,2.8691,2.5124,3.0685,1.8594,2.8912],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"confidence\":0.383}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8776,2.5146,4.2611,2.3817,4.2943,2.6918,2.8997,2.8248],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8776,2.5257,4.2168,2.3927,4.2389,2.7029,2.9108,2.8248],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[1.8815,3.0131,3.11,3.2679,3.0547,3.4894,1.8483,3.2457],\"words\":[{\"text\":\"123\",\"boundingBox\":[1.8926,3.0242,2.125,3.0685,2.0918,3.3011,1.8483,3.2568],\"confidence\":0.986},{\"text\":\"Main\",\"boundingBox\":[2.1693,3.0796,2.5566,3.1682,2.5124,3.3897,2.1361,3.3122],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[2.6009,3.1682,3.099,3.279,3.0547,3.4894,2.5566,3.3897],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[1.8594,3.3454,3.4863,3.5559,3.4531,3.7996,1.8372,3.6002],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[1.8704,3.3454,2.623,3.4783,2.6009,3.711,1.8372,3.5891],\"confidence\":0.979},{\"text\":\"WA\",\"boundingBox\":[2.6673,3.4783,2.9108,3.5116,2.8887,3.7442,2.6452,3.7221],\"confidence\":0.996},{\"text\":\"98052\",\"boundingBox\":[2.9551,3.5227,3.4753,3.567,3.4531,3.7885,2.9329,3.7553],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.9879,2.9661,4.143,2.9329,4.3756,1.793,4.2205],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[1.7708,4.6636,3.0547,4.7523,3.0326,5.0181,1.7487,4.9295],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"confidence\":0.982},{\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[1.7487,5.0292,3.597,5.1067,3.5859,5.3615,1.7376,5.284],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[1.7708,5.0403,2.2135,5.0735,2.2025,5.3061,1.7487,5.2618],\"confidence\":0.996},{\"text\":\"Associate:\",\"boundingBox\":[2.2578,5.0735,3.1211,5.1067,3.11,5.3505,2.2467,5.3061],\"confidence\":0.841},{\"text\":\"Paul\",\"boundingBox\":[3.1654,5.1067,3.597,5.1178,3.597,5.3615,3.1543,5.3505],\"confidence\":0.992}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[1.6934,5.7382,2.9993,5.7936,2.9883,6.0705,1.6823,6.0262],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"confidence\":0.995},{\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"confidence\":0.727}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[4.2943,5.7382,4.8034,5.716,4.8034,5.9597,4.3053,5.9929],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[1.6491,6.4914,3.2096,6.4914,3.2096,6.7684,1.6491,6.7573],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[1.8704,6.5025,2.4902,6.5136,2.4792,6.7684,1.8594,6.7684],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[2.5456,6.5136,2.6784,6.5136,2.6563,6.7684,2.5345,6.7684],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[2.7227,6.5136,3.2207,6.5136,3.1986,6.7684,2.7116,6.7684],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[1.9811,6.9124,3.2539,6.9124,3.2539,7.1893,1.9811,7.1782],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[2.0033,6.9124,3.265,6.9235,3.2539,7.2004,2.0033,7.1893],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[4.3607,6.8459,4.8145,6.8348,4.8145,7.1229,4.3717,7.1339],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"confidence\":0.983}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[2.291,7.6878,3.3092,7.6657,3.3092,7.9426,2.291,7.9758],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[2.3021,7.6878,3.3092,7.6657,3.3092,7.9537,2.3021,7.9869],\"confidence\":0.798}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9141,7.9537,4.2721,7.9648],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.2611,7.6546,4.3385,7.6546,4.3385,7.9648,4.2611,7.9648],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[4.3939,7.6546,4.9141,7.6546,4.9251,7.9537,4.4049,7.9648],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[2.3021,8.1088,2.6895,8.1088,2.7005,8.3746,2.3021,8.3857],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[2.3021,8.1088,2.6895,8.1088,2.6895,8.3857,2.3021,8.3857],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[4.3717,8.0423,4.9362,8.0534,4.9251,8.3746,4.3717,8.3746],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.3717,8.0423,4.4492,8.0423,4.4492,8.3746,4.3717,8.3635],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[4.5156,8.0423,4.9251,8.0423,4.9251,8.3746,4.5156,8.3746],\"confidence\":0.985}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[2.2689,8.4965,2.612,8.5076,2.6009,8.8399,2.2689,8.8288],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[2.2799,8.4965,2.6009,8.5076,2.5898,8.8399,2.2799,8.8288],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.623\",\"boundingBox\":[4.084,8.4079,4.8809,8.4079,4.8698,8.7845,4.0729,8.7734],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.0729,8.4079,4.1393,8.4079,4.1393,8.7845,4.0729,8.7734],\"confidence\":0.998},{\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"confidence\":0.425}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.909}}},{\"text\":\"Total\",\"boundingBox\":[2.2799,8.9507,2.8223,8.9285,2.8223,9.2165,2.2799,9.2387],\"words\":[{\"text\":\"Total\",\"boundingBox\":[2.2799,8.9507,2.8223,8.9285,2.8333,9.2054,2.291,9.2276],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.52\",\"boundingBox\":[4.0951,8.8731,5.1576,8.9174,5.1465,9.2719,4.0729,9.2276],\"words\":[{\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"confidence\":0.623}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.505}}}]},{\"page\":2,\"angle\":0.4374,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8112,1.8499,4.1393,1.8278,4.1504,2.1601,2.8223,2.1934],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8223,1.8499,4.1283,1.8389,4.1393,2.1601,2.8333,2.2044],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1.959,2.7583,2.5234,2.7915,2.5124,2.9688,1.9479,2.9355],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"confidence\":0.932}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[1.959,3.0574,2.944,3.0796,2.944,3.2679,1.9479,3.2568],\"words\":[{\"text\":\"123\",\"boundingBox\":[1.9701,3.0685,2.1361,3.0685,2.125,3.2679,1.959,3.2568],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[2.1693,3.0796,2.4792,3.0796,2.4681,3.2679,2.1582,3.2679],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[2.5124,3.0796,2.9551,3.0906,2.944,3.279,2.5013,3.2679],\"confidence\":0.99}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[1.9258,3.3786,3.265,3.3676,3.265,3.567,1.9258,3.578],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[1.9368,3.3786,2.5456,3.3897,2.5345,3.578,1.9368,3.578],\"confidence\":0.924},{\"text\":\"WA\",\"boundingBox\":[2.5898,3.3897,2.778,3.3897,2.7669,3.578,2.5788,3.578],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[2.8112,3.3786,3.265,3.3786,3.2539,3.578,2.8112,3.578],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8776,4.0101,2.8665,4.2205,1.8926,4.1873],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[1.8704,4.6526,2.8997,4.6526,2.8997,4.8741,1.8704,4.863],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"confidence\":0.994},{\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[1.8704,4.996,3.3203,5.007,3.3203,5.2064,1.8704,5.1954],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[1.8926,4.996,2.2135,5.007,2.2135,5.2064,1.8815,5.1954],\"confidence\":0.996},{\"text\":\"Associate:\",\"boundingBox\":[2.2578,5.007,2.9219,5.007,2.9219,5.2064,2.2578,5.2064],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[2.9661,5.007,3.3203,5.007,3.3092,5.2064,2.9551,5.2064],\"confidence\":0.992}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[1.9811,5.6606,3.0436,5.6717,3.0326,5.8822,1.9701,5.8711],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"confidence\":0.994},{\"text\":\"Surface\",\"boundingBox\":[2.0918,5.6606,2.612,5.6717,2.6009,5.8822,2.0918,5.8711],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[2.6563,5.6717,2.8776,5.6717,2.8665,5.8822,2.6452,5.8822],\"confidence\":0.936},{\"text\":\"6\",\"boundingBox\":[2.9219,5.6717,3.0436,5.6828,3.0326,5.8822,2.9108,5.8822],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[2.0807,5.9929,3.5306,6.004,3.5306,6.2256,2.0807,6.2145],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[2.0918,6.004,2.9108,6.004,2.9108,6.2256,2.0918,6.2145],\"confidence\":0.793},{\"text\":\"Core\",\"boundingBox\":[2.9551,6.004,3.2539,6.004,3.2428,6.2256,2.9551,6.2256],\"confidence\":0.987},{\"text\":\"i5\",\"boundingBox\":[3.2982,6.004,3.4089,6.004,3.3978,6.2256,3.2871,6.2256],\"confidence\":0.985},{\"text\":\"/\",\"boundingBox\":[3.4421,6.004,3.5306,6.004,3.5195,6.2256,3.431,6.2256],\"confidence\":0.959}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[2.0807,6.3364,3.2096,6.3474,3.2096,6.569,2.0807,6.5468],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[2.0807,6.3474,2.3353,6.3474,2.3242,6.5579,2.0807,6.5468],\"confidence\":0.994},{\"text\":\"RAM\",\"boundingBox\":[2.3685,6.3474,2.6673,6.3474,2.6563,6.5579,2.3685,6.5579],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[2.7005,6.3474,3.2096,6.3585,3.1986,6.569,2.7005,6.5579],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 999.00\",\"boundingBox\":[3.7962,6.3696,4.4271,6.3807,4.416,6.5801,3.7852,6.5801],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.7962,6.3696,3.8626,6.3696,3.8626,6.5801,3.7962,6.569],\"confidence\":0.997},{\"text\":\"999.00\",\"boundingBox\":[3.9069,6.3696,4.4049,6.3696,4.4049,6.5801,3.9069,6.5801],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[1.9258,7.0453,2.8997,7.0342,2.8997,7.2447,1.9368,7.2558],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"confidence\":0.994},{\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.3939,7.289,3.8737,7.289],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.8737,7.0675,3.9622,7.0675,3.9622,7.289,3.8737,7.289],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[4.0065,7.0675,4.4049,7.0675,4.4049,7.289,4.0065,7.289],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[2.3796,7.721,3.0879,7.721,3.0879,7.9315,2.3796,7.9204],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[2.3906,7.721,3.0879,7.7321,3.0879,7.9315,2.3906,7.9315],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7654,4.416,7.7543,4.416,7.9537,3.752,7.9869],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.752,7.7654,3.8184,7.7654,3.8184,7.9869,3.763,7.9869],\"confidence\":0.997},{\"text\":\"1098.99\",\"boundingBox\":[3.8626,7.7654,4.4049,7.7543,4.416,7.9648,3.8626,7.9869],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[2.7005,8.0644,2.9661,8.0755,2.9551,8.2528,2.6895,8.2417],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[2.7005,8.0644,2.9551,8.0755,2.9551,8.2528,2.6895,8.2417],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.4049,8.0977,4.4049,8.3082,3.8073,8.3192],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.8073,8.0977,3.8737,8.0977,3.8737,8.3192,3.8073,8.3192],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[3.918,8.0977,4.3939,8.0977,4.3939,8.3192,3.918,8.3192],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[2.623,8.7734,2.9993,8.7623,2.9993,8.9617,2.6341,8.9728],\"words\":[{\"text\":\"Total\",\"boundingBox\":[2.623,8.7734,2.9883,8.7623,2.9993,8.9617,2.6341,8.9728],\"confidence\":0.982}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3828,8.8177,4.3717,9.0282,3.7077,8.9728],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.7298,8.7623,3.7962,8.7734,3.7852,8.9839,3.7188,8.9839],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[3.8405,8.7734,4.3939,8.8288,4.3717,9.0393,3.8294,8.995],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"page\":1,\"confidence\":0.835,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"page\":1,\"confidence\":0.968,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[1.8594,6.5025,3.2207,6.5025,3.2207,6.7684,1.8594,6.7684],\"page\":1,\"confidence\":0.921,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"page\":1,\"confidence\":0.968,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"page\":1,\"confidence\":0.925,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.8916,3.024,3.5384,3.3306,3.4348,3.8865,1.7881,3.58],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"page\":1,\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.989},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9251,7.9648,4.2611,7.9648],\"page\":1,\"confidence\":0.724,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[4.3745,8.0029,4.9488,8.044,4.9227,8.4085,4.3484,8.3674],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/15/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.623,\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"page\":1,\"confidence\":0.948,\"elements\":[\"#/readResults/0/lines/17/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.52,\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/19/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}},{\"docType\":\"prebuilt:receipt\",\"pageRange\":[2,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[2.0919,5.6538,3.0438,5.6743,3.0391,5.8917,2.0873,5.8711],\"page\":2,\"confidence\":0.848,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"page\":2,\"confidence\":0.961,\"elements\":[\"#/readResults/1/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"$ 999.00\",\"boundingBox\":[3.8004,6.3191,4.4224,6.3711,4.4011,6.6251,3.7792,6.5731],\"page\":2,\"confidence\":0.935,\"elements\":[\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"page\":2,\"confidence\":0.479,\"elements\":[\"#/readResults/1/lines/11/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"page\":2,\"confidence\":0.961,\"elements\":[\"#/readResults/1/lines/11/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.4049,7.289,3.8737,7.289],\"page\":2,\"confidence\":0.935,\"elements\":[\"#/readResults/1/lines/12/words/0\",\"#/readResults/1/lines/12/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.9397,3.0667,3.2678,3.0789,3.2631,3.5902,1.935,3.578],\"page\":2,\"confidence\":0.975,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/3/words/0\",\"#/readResults/1/lines/3/words/1\",\"#/readResults/1/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"page\":2,\"confidence\":0.974,\"elements\":[\"#/readResults/1/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"page\":2,\"confidence\":0.988,\"elements\":[\"#/readResults/1/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7543,4.416,7.7543,4.416,7.9869,3.752,7.9869],\"page\":2,\"confidence\":0.813,\"elements\":[\"#/readResults/1/lines/14/words/0\",\"#/readResults/1/lines/14/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.3939,8.0977,4.3939,8.3192,3.8073,8.3192],\"page\":2,\"confidence\":0.986,\"elements\":[\"#/readResults/1/lines/16/words/0\",\"#/readResults/1/lines/16/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3944,8.8228,4.3743,9.0446,3.7096,8.9841],\"page\":2,\"confidence\":0.973,\"elements\":[\"#/readResults/1/lines/18/words/0\",\"#/readResults/1/lines/18/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"page\":2,\"confidence\":0.987,\"elements\":[\"#/readResults/1/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"page\":2,\"confidence\":0.986,\"elements\":[\"#/readResults/1/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/b16f8470-bd4c-4de5-a6f9-6469dc05ab4a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d1774676-3f77-41f9-9298-11e62563408c" - }, - "Response" : { - "content-length" : "22158", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3b1a04f2-ecaf-4a60-9b68-6b81542fc9ba", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.5617,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9036,2.6918,2.5677,2.8691,2.5124,3.0685,1.8594,2.8912],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"confidence\":0.383}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8776,2.5146,4.2611,2.3817,4.2943,2.6918,2.8997,2.8248],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8776,2.5257,4.2168,2.3927,4.2389,2.7029,2.9108,2.8248],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[1.8815,3.0131,3.11,3.2679,3.0547,3.4894,1.8483,3.2457],\"words\":[{\"text\":\"123\",\"boundingBox\":[1.8926,3.0242,2.125,3.0685,2.0918,3.3011,1.8483,3.2568],\"confidence\":0.986},{\"text\":\"Main\",\"boundingBox\":[2.1693,3.0796,2.5566,3.1682,2.5124,3.3897,2.1361,3.3122],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[2.6009,3.1682,3.099,3.279,3.0547,3.4894,2.5566,3.3897],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[1.8594,3.3454,3.4863,3.5559,3.4531,3.7996,1.8372,3.6002],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[1.8704,3.3454,2.623,3.4783,2.6009,3.711,1.8372,3.5891],\"confidence\":0.979},{\"text\":\"WA\",\"boundingBox\":[2.6673,3.4783,2.9108,3.5116,2.8887,3.7442,2.6452,3.7221],\"confidence\":0.996},{\"text\":\"98052\",\"boundingBox\":[2.9551,3.5227,3.4753,3.567,3.4531,3.7885,2.9329,3.7553],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.9879,2.9661,4.143,2.9329,4.3756,1.793,4.2205],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[1.7708,4.6636,3.0547,4.7523,3.0326,5.0181,1.7487,4.9295],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"confidence\":0.982},{\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[1.7487,5.0292,3.597,5.1067,3.5859,5.3615,1.7376,5.284],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[1.7708,5.0403,2.2135,5.0735,2.2025,5.3061,1.7487,5.2618],\"confidence\":0.996},{\"text\":\"Associate:\",\"boundingBox\":[2.2578,5.0735,3.1211,5.1067,3.11,5.3505,2.2467,5.3061],\"confidence\":0.841},{\"text\":\"Paul\",\"boundingBox\":[3.1654,5.1067,3.597,5.1178,3.597,5.3615,3.1543,5.3505],\"confidence\":0.992}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[1.6934,5.7382,2.9993,5.7936,2.9883,6.0705,1.6823,6.0262],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"confidence\":0.995},{\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"confidence\":0.727}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[4.2943,5.7382,4.8034,5.716,4.8034,5.9597,4.3053,5.9929],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[1.6491,6.4914,3.2096,6.4914,3.2096,6.7684,1.6491,6.7573],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[1.8704,6.5025,2.4902,6.5136,2.4792,6.7684,1.8594,6.7684],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[2.5456,6.5136,2.6784,6.5136,2.6563,6.7684,2.5345,6.7684],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[2.7227,6.5136,3.2207,6.5136,3.1986,6.7684,2.7116,6.7684],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[1.9811,6.9124,3.2539,6.9124,3.2539,7.1893,1.9811,7.1782],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[2.0033,6.9124,3.265,6.9235,3.2539,7.2004,2.0033,7.1893],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[4.3607,6.8459,4.8145,6.8348,4.8145,7.1229,4.3717,7.1339],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"confidence\":0.983}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[2.291,7.6878,3.3092,7.6657,3.3092,7.9426,2.291,7.9758],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[2.3021,7.6878,3.3092,7.6657,3.3092,7.9537,2.3021,7.9869],\"confidence\":0.798}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9141,7.9537,4.2721,7.9648],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.2611,7.6546,4.3385,7.6546,4.3385,7.9648,4.2611,7.9648],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[4.3939,7.6546,4.9141,7.6546,4.9251,7.9537,4.4049,7.9648],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[2.3021,8.1088,2.6895,8.1088,2.7005,8.3746,2.3021,8.3857],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[2.3021,8.1088,2.6895,8.1088,2.6895,8.3857,2.3021,8.3857],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[4.3717,8.0423,4.9362,8.0534,4.9251,8.3746,4.3717,8.3746],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.3717,8.0423,4.4492,8.0423,4.4492,8.3746,4.3717,8.3635],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[4.5156,8.0423,4.9251,8.0423,4.9251,8.3746,4.5156,8.3746],\"confidence\":0.985}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[2.2689,8.4965,2.612,8.5076,2.6009,8.8399,2.2689,8.8288],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[2.2799,8.4965,2.6009,8.5076,2.5898,8.8399,2.2799,8.8288],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.623\",\"boundingBox\":[4.084,8.4079,4.8809,8.4079,4.8698,8.7845,4.0729,8.7734],\"words\":[{\"text\":\"$\",\"boundingBox\":[4.0729,8.4079,4.1393,8.4079,4.1393,8.7845,4.0729,8.7734],\"confidence\":0.998},{\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"confidence\":0.425}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.909}}},{\"text\":\"Total\",\"boundingBox\":[2.2799,8.9507,2.8223,8.9285,2.8223,9.2165,2.2799,9.2387],\"words\":[{\"text\":\"Total\",\"boundingBox\":[2.2799,8.9507,2.8223,8.9285,2.8333,9.2054,2.291,9.2276],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.52\",\"boundingBox\":[4.0951,8.8731,5.1576,8.9174,5.1465,9.2719,4.0729,9.2276],\"words\":[{\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"confidence\":0.623}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.505}}}]},{\"page\":2,\"angle\":0.4374,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8112,1.8499,4.1393,1.8278,4.1504,2.1601,2.8223,2.1934],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8223,1.8499,4.1283,1.8389,4.1393,2.1601,2.8333,2.2044],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1.959,2.7583,2.5234,2.7915,2.5124,2.9688,1.9479,2.9355],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"confidence\":0.932}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[1.959,3.0574,2.944,3.0796,2.944,3.2679,1.9479,3.2568],\"words\":[{\"text\":\"123\",\"boundingBox\":[1.9701,3.0685,2.1361,3.0685,2.125,3.2679,1.959,3.2568],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[2.1693,3.0796,2.4792,3.0796,2.4681,3.2679,2.1582,3.2679],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[2.5124,3.0796,2.9551,3.0906,2.944,3.279,2.5013,3.2679],\"confidence\":0.99}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[1.9258,3.3786,3.265,3.3676,3.265,3.567,1.9258,3.578],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[1.9368,3.3786,2.5456,3.3897,2.5345,3.578,1.9368,3.578],\"confidence\":0.924},{\"text\":\"WA\",\"boundingBox\":[2.5898,3.3897,2.778,3.3897,2.7669,3.578,2.5788,3.578],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[2.8112,3.3786,3.265,3.3786,3.2539,3.578,2.8112,3.578],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8776,4.0101,2.8665,4.2205,1.8926,4.1873],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[1.8704,4.6526,2.8997,4.6526,2.8997,4.8741,1.8704,4.863],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"confidence\":0.994},{\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[1.8704,4.996,3.3203,5.007,3.3203,5.2064,1.8704,5.1954],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[1.8926,4.996,2.2135,5.007,2.2135,5.2064,1.8815,5.1954],\"confidence\":0.996},{\"text\":\"Associate:\",\"boundingBox\":[2.2578,5.007,2.9219,5.007,2.9219,5.2064,2.2578,5.2064],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[2.9661,5.007,3.3203,5.007,3.3092,5.2064,2.9551,5.2064],\"confidence\":0.992}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[1.9811,5.6606,3.0436,5.6717,3.0326,5.8822,1.9701,5.8711],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"confidence\":0.994},{\"text\":\"Surface\",\"boundingBox\":[2.0918,5.6606,2.612,5.6717,2.6009,5.8822,2.0918,5.8711],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[2.6563,5.6717,2.8776,5.6717,2.8665,5.8822,2.6452,5.8822],\"confidence\":0.936},{\"text\":\"6\",\"boundingBox\":[2.9219,5.6717,3.0436,5.6828,3.0326,5.8822,2.9108,5.8822],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[2.0807,5.9929,3.5306,6.004,3.5306,6.2256,2.0807,6.2145],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[2.0918,6.004,2.9108,6.004,2.9108,6.2256,2.0918,6.2145],\"confidence\":0.793},{\"text\":\"Core\",\"boundingBox\":[2.9551,6.004,3.2539,6.004,3.2428,6.2256,2.9551,6.2256],\"confidence\":0.987},{\"text\":\"i5\",\"boundingBox\":[3.2982,6.004,3.4089,6.004,3.3978,6.2256,3.2871,6.2256],\"confidence\":0.985},{\"text\":\"/\",\"boundingBox\":[3.4421,6.004,3.5306,6.004,3.5195,6.2256,3.431,6.2256],\"confidence\":0.959}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[2.0807,6.3364,3.2096,6.3474,3.2096,6.569,2.0807,6.5468],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[2.0807,6.3474,2.3353,6.3474,2.3242,6.5579,2.0807,6.5468],\"confidence\":0.994},{\"text\":\"RAM\",\"boundingBox\":[2.3685,6.3474,2.6673,6.3474,2.6563,6.5579,2.3685,6.5579],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[2.7005,6.3474,3.2096,6.3585,3.1986,6.569,2.7005,6.5579],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 999.00\",\"boundingBox\":[3.7962,6.3696,4.4271,6.3807,4.416,6.5801,3.7852,6.5801],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.7962,6.3696,3.8626,6.3696,3.8626,6.5801,3.7962,6.569],\"confidence\":0.997},{\"text\":\"999.00\",\"boundingBox\":[3.9069,6.3696,4.4049,6.3696,4.4049,6.5801,3.9069,6.5801],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[1.9258,7.0453,2.8997,7.0342,2.8997,7.2447,1.9368,7.2558],\"words\":[{\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"confidence\":0.994},{\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.3939,7.289,3.8737,7.289],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.8737,7.0675,3.9622,7.0675,3.9622,7.289,3.8737,7.289],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[4.0065,7.0675,4.4049,7.0675,4.4049,7.289,4.0065,7.289],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[2.3796,7.721,3.0879,7.721,3.0879,7.9315,2.3796,7.9204],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[2.3906,7.721,3.0879,7.7321,3.0879,7.9315,2.3906,7.9315],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7654,4.416,7.7543,4.416,7.9537,3.752,7.9869],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.752,7.7654,3.8184,7.7654,3.8184,7.9869,3.763,7.9869],\"confidence\":0.997},{\"text\":\"1098.99\",\"boundingBox\":[3.8626,7.7654,4.4049,7.7543,4.416,7.9648,3.8626,7.9869],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[2.7005,8.0644,2.9661,8.0755,2.9551,8.2528,2.6895,8.2417],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[2.7005,8.0644,2.9551,8.0755,2.9551,8.2528,2.6895,8.2417],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.4049,8.0977,4.4049,8.3082,3.8073,8.3192],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.8073,8.0977,3.8737,8.0977,3.8737,8.3192,3.8073,8.3192],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[3.918,8.0977,4.3939,8.0977,4.3939,8.3192,3.918,8.3192],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[2.623,8.7734,2.9993,8.7623,2.9993,8.9617,2.6341,8.9728],\"words\":[{\"text\":\"Total\",\"boundingBox\":[2.623,8.7734,2.9883,8.7623,2.9993,8.9617,2.6341,8.9728],\"confidence\":0.982}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3828,8.8177,4.3717,9.0282,3.7077,8.9728],\"words\":[{\"text\":\"$\",\"boundingBox\":[3.7298,8.7623,3.7962,8.7734,3.7852,8.9839,3.7188,8.9839],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[3.8405,8.7734,4.3939,8.8288,4.3717,9.0393,3.8294,8.995],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"page\":1,\"confidence\":0.835,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"page\":1,\"confidence\":0.968,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[1.8594,6.5025,3.2207,6.5025,3.2207,6.7684,1.8594,6.7684],\"page\":1,\"confidence\":0.921,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"page\":1,\"confidence\":0.968,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"page\":1,\"confidence\":0.925,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.8916,3.024,3.5384,3.3306,3.4348,3.8865,1.7881,3.58],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"page\":1,\"confidence\":0.986,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.989},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9251,7.9648,4.2611,7.9648],\"page\":1,\"confidence\":0.724,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[4.3745,8.0029,4.9488,8.044,4.9227,8.4085,4.3484,8.3674],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/15/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.623,\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"page\":1,\"confidence\":0.948,\"elements\":[\"#/readResults/0/lines/17/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.52,\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/19/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}},{\"docType\":\"prebuilt:receipt\",\"pageRange\":[2,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[2.0919,5.6538,3.0438,5.6743,3.0391,5.8917,2.0873,5.8711],\"page\":2,\"confidence\":0.848,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"page\":2,\"confidence\":0.961,\"elements\":[\"#/readResults/1/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"$ 999.00\",\"boundingBox\":[3.8004,6.3191,4.4224,6.3711,4.4011,6.6251,3.7792,6.5731],\"page\":2,\"confidence\":0.935,\"elements\":[\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"page\":2,\"confidence\":0.479,\"elements\":[\"#/readResults/1/lines/11/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"page\":2,\"confidence\":0.961,\"elements\":[\"#/readResults/1/lines/11/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.4049,7.289,3.8737,7.289],\"page\":2,\"confidence\":0.935,\"elements\":[\"#/readResults/1/lines/12/words/0\",\"#/readResults/1/lines/12/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.9397,3.0667,3.2678,3.0789,3.2631,3.5902,1.935,3.578],\"page\":2,\"confidence\":0.975,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/3/words/0\",\"#/readResults/1/lines/3/words/1\",\"#/readResults/1/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"page\":2,\"confidence\":0.974,\"elements\":[\"#/readResults/1/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"page\":2,\"confidence\":0.988,\"elements\":[\"#/readResults/1/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7543,4.416,7.7543,4.416,7.9869,3.752,7.9869],\"page\":2,\"confidence\":0.813,\"elements\":[\"#/readResults/1/lines/14/words/0\",\"#/readResults/1/lines/14/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.3939,8.0977,4.3939,8.3192,3.8073,8.3192],\"page\":2,\"confidence\":0.986,\"elements\":[\"#/readResults/1/lines/16/words/0\",\"#/readResults/1/lines/16/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3944,8.8228,4.3743,9.0446,3.7096,8.9841],\"page\":2,\"confidence\":0.973,\"elements\":[\"#/readResults/1/lines/18/words/0\",\"#/readResults/1/lines/18/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"page\":2,\"confidence\":0.987,\"elements\":[\"#/readResults/1/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"page\":2,\"confidence\":0.986,\"elements\":[\"#/readResults/1/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 8c206ead35807..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "165a96b4-8d42-46dd-8e16-869b2ae69fad", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "161", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1813318d-f268-4ac1-8e17-375456393b87", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1813318d-f268-4ac1-8e17-375456393b87", - "Date" : "Wed, 07 Jul 2021 06:30:26 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1813318d-f268-4ac1-8e17-375456393b87", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a3b9505a-8cdf-4ba6-a2b9-fcfb9c897f79" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6ad4b41f-d3f4-4d18-b263-cd4728da164f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:30Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1813318d-f268-4ac1-8e17-375456393b87", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3e4d3f45-b481-4a84-96bd-b86e5590c544" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3b517d64-593b-4f8e-b678-90627c3ee236", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:30Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 17054c1f89614..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "35f7ec2f-4aab-46b5-b232-95648b847eae", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "35f7ec2f-4aab-46b5-b232-95648b847eae", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "35f7ec2f-4aab-46b5-b232-95648b847eae", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "35f7ec2f-4aab-46b5-b232-95648b847eae", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptInvalidSourceUrl[1].json deleted file mode 100644 index eba7bcea5d4a4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f9beea73-3d30-429f-b7a2-4b4520b6778a", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "917", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6c948688-d4a0-4dbe-9afe-c4a0590f8ea1", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"6c948688-d4a0-4dbe-9afe-c4a0590f8ea1\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrlWithPngFile[1].json deleted file mode 100644 index d7d44b5ea524b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrlWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "77f42d35-5870-4fd1-90fe-e807477ecea8", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "324", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f30442d9-2a10-4e70-b2cf-d5f801ef786f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f30442d9-2a10-4e70-b2cf-d5f801ef786f", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f30442d9-2a10-4e70-b2cf-d5f801ef786f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d5387c00-076d-44d2-a7d1-2ea8001a7738" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "343e64c4-bc78-4678-9790-a3df61e0ab44", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/f30442d9-2a10-4e70-b2cf-d5f801ef786f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5e3e4540-b59b-48fa-8d46-da79d830f682" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39842c21-0e6e-4227-9ed4-9e29d6ec10b2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrl[1].json deleted file mode 100644 index 3b64d611f0cd1..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerAsyncClientTest.recognizeReceiptSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a50adad4-51c6-4459-bbd7-1690645b2f84", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "179", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9f35df58-d828-413e-bff3-1e4ff5d1fcb3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/9f35df58-d828-413e-bff3-1e4ff5d1fcb3", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/9f35df58-d828-413e-bff3-1e4ff5d1fcb3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d9339199-cda6-43af-b93a-c87cfc287234" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5769d988-e017-4120-89f9-bfe54cf31dcf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/9f35df58-d828-413e-bff3-1e4ff5d1fcb3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dea0a04a-6e79-444a-ab27-33646d1ef573" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e0cdfc54-ed56-4d33-a237-cc0c6f9c4477", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithDefaultPipeline[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithDefaultPipeline[1].json deleted file mode 100644 index 21467fc260dc5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithDefaultPipeline[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "150c5d8e-3e69-49dc-b17d-81dca07bd5ff", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "93", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "55b47878-7909-4ee6-9a7d-7032cf447a16", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/55b47878-7909-4ee6-9a7d-7032cf447a16", - "Date" : "Wed, 07 Jul 2021 06:27:58 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/55b47878-7909-4ee6-9a7d-7032cf447a16", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b779f5ea-f536-4863-ae2b-cbbd372713ae" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c4e9f0da-dae6-486b-b760-69a1c5b9f98c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/55b47878-7909-4ee6-9a7d-7032cf447a16", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7a4daa98-affc-4ca7-a3b3-b06f65231a19" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "60", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "16b26a85-725b-44ff-934c-f28991a53889", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidApiKeyCredential[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidApiKeyCredential[1].json deleted file mode 100644 index ccd2dc6ce147d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidApiKeyCredential[1].json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "22844092-c439-4e03-bd9e-bef4b2ae72ab", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "224", - "apim-request-id" : "2fdfb304-c653-4ab1-ba1f-7d3918da63c6", - "retry-after" : "0", - "StatusCode" : "401", - "Body" : "{\"error\":{\"code\":\"401\",\"message\":\"Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource.\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:41 GMT", - "Content-Type" : "application/json" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidEndpoint[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidEndpoint[1].json deleted file mode 100644 index 4968e428bc72b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithInvalidEndpoint[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1fabd65b-e4dc-47bc-b5c0-4c773147cc64", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1fabd65b-e4dc-47bc-b5c0-4c773147cc64", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1fabd65b-e4dc-47bc-b5c0-4c773147cc64", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1fabd65b-e4dc-47bc-b5c0-4c773147cc64", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithNullServiceVersion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithNullServiceVersion[1].json deleted file mode 100644 index 4625bd14a0e1f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithNullServiceVersion[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "83d4cdc3-f92c-4cdf-815f-87231fbdff75", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "227", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "df3a309d-d6df-4732-98f4-280d91d6453b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/df3a309d-d6df-4732-98f4-280d91d6453b", - "Date" : "Wed, 07 Jul 2021 06:27:41 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/df3a309d-d6df-4732-98f4-280d91d6453b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dcc2e140-e558-4a31-85dd-d59d34000e35" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "318231f5-ee7b-4020-bcf9-2f50199e8cd6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/df3a309d-d6df-4732-98f4-280d91d6453b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5df725c8-295b-4d82-9f72-9fe493477bc1" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7799209a-25b7-443e-88c6-6cb826e4dc7e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/df3a309d-d6df-4732-98f4-280d91d6453b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5ab35167-70a0-4f4d-aebb-0d3db7d73e97" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "db02f20c-d33a-431a-bba5-52df92284836", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToInvalidKey[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToInvalidKey[1].json deleted file mode 100644 index 5efafb9e2e34b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToInvalidKey[1].json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1500b2f1-a578-4888-a438-6563db19b3b4", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "224", - "apim-request-id" : "26788955-e090-44ea-98b9-1994c866f033", - "retry-after" : "0", - "StatusCode" : "401", - "Body" : "{\"error\":{\"code\":\"401\",\"message\":\"Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource.\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:39 GMT", - "Content-Type" : "application/json" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToValidKey[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToValidKey[1].json deleted file mode 100644 index 9a8aa72093412..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientBuilderTest.clientBuilderWithRotateToValidKey[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1c30b619-ea85-436f-a877-9bb791e394b1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "149", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6a7e51a4-ae9d-4470-88c7-e2a72dd1762e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/6a7e51a4-ae9d-4470-88c7-e2a72dd1762e", - "Date" : "Wed, 07 Jul 2021 06:27:53 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/6a7e51a4-ae9d-4470-88c7-e2a72dd1762e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "87816c2b-66fd-4b9a-9f33-8f6771cc4605" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "89e5ee0a-613f-48e5-abf2-f9621ca15dc7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:57Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/6a7e51a4-ae9d-4470-88c7-e2a72dd1762e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8cf350eb-f27f-42ef-b0bb-32b2fedf3497" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c825e264-8684-4469-a139-6bb85bb396b9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:57Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModelWithModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModelWithModelName[1].json deleted file mode 100644 index 2460475d90871..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModelWithModelName[1].json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3b73ef7a-0e1a-40be-b82a-14100c0e161c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "320", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "81bbd022-5693-4e79-b7aa-014f9f20e3fe", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Tue, 03 Aug 2021 00:45:10 GMT", - "Location" : "https://formrecognizer-aad-account.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/07cd7bd8-36f4-45a1-b154-f08299e2a736" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/07cd7bd8-36f4-45a1-b154-f08299e2a736?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b3ef2ab0-be1e-4d7c-a610-06272e161b0c" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e9502ba6-c393-4e56-9f9b-0afc7e8bc2fa", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"modelName\":\"model1\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:11Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/07cd7bd8-36f4-45a1-b154-f08299e2a736?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c7319ebf-df6d-4db1-b767-2421bd13b859" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7f91d9a5-036e-4496-8506-006181d18531", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"modelName\":\"model1\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:11Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4fa7e554-bcef-4d3d-9101-9a4e418c23d0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "282", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "77eb7616-6c0b-4568-ae04-dc07de1c5690", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Tue, 03 Aug 2021 00:45:18 GMT", - "Location" : "https://formrecognizer-aad-account.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5f196415-a227-4436-bf40-afae44030513" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5f196415-a227-4436-bf40-afae44030513?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a2e8d9dd-91b3-47c3-9cd8-e4a1d06adecf" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d8fdcbb4-c21e-4357-aeb5-6a36da7fcb7d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5f196415-a227-4436-bf40-afae44030513\",\"modelName\":\"model2\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:19Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:21Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5f196415-a227-4436-bf40-afae44030513?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6b229ec-bb0e-462a-936f-f622fdc7cab8" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5cd0bb0c-d3e8-4247-aa6d-183a745c7d10", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5f196415-a227-4436-bf40-afae44030513\",\"modelName\":\"model2\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:19Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:21Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "671e1441-d0be-4bd2-916b-1a3cea57e8cc", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "105", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7ae221fb-dce1-4cf0-9a71-4256845b95b0", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Tue, 03 Aug 2021 00:45:25 GMT", - "Location" : "https://formrecognizer-aad-account.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5803c897-b1e1-4674-92c1-8b31cba3659d" - }, - "Response" : { - "content-length" : "2409", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "495c6027-d442-4bbc-b59c-d930872e66d1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82\",\"modelName\":\"composedModelName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:26Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:26Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"5f196415-a227-4436-bf40-afae44030513\",\"errors\":[]}]}", - "Date" : "Tue, 03 Aug 2021 00:45:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a0664b6e-74fb-40b0-a1d0-a14325a9b2e8" - }, - "Response" : { - "content-length" : "2409", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "718cdcf4-a2e8-483b-9a10-a98dcafd854e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82\",\"modelName\":\"composedModelName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-08-03T00:45:26Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:26Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"5f196415-a227-4436-bf40-afae44030513\",\"errors\":[]}]}", - "Date" : "Tue, 03 Aug 2021 00:45:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e55c5f18-0c71-463b-91d3-027e43fc360c", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "96", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c725139a-bdc9-4bf2-b2ab-e750f5b2eddd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://formrecognizer-aad-account.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82/analyzeresults/66609b8e-eeb8-4338-888d-d6e2ba630411", - "Date" : "Tue, 03 Aug 2021 00:45:32 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82/analyzeResults/66609b8e-eeb8-4338-888d-d6e2ba630411", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3941f577-f5ba-4268-a138-5e10b83ab513" - }, - "Response" : { - "content-length" : "6622", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b75de26f-c875-4119-a420-0415716325fc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-08-03T00:45:33Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"composedModelName:model1\",\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"pageRange\":[1,1],\"fields\":{\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82/analyzeResults/66609b8e-eeb8-4338-888d-d6e2ba630411", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dc93203e-99a1-4554-967c-5d12ada8bc98" - }, - "Response" : { - "content-length" : "6622", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a6f7c962-445d-4186-81f2-8410205d4032", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-08-03T00:45:33Z\",\"lastUpdatedDateTime\":\"2021-08-03T00:45:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"composedModelName:model1\",\"modelId\":\"07cd7bd8-36f4-45a1-b154-f08299e2a736\",\"pageRange\":[1,1],\"fields\":{\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Tue, 03 Aug 2021 00:45:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/07cd7bd8-36f4-45a1-b154-f08299e2a736", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "78305860-2208-4f7d-aec4-d405a6de662e" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "853b41fe-02d7-423d-b2c1-376d17c80749", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Tue, 03 Aug 2021 00:45:41 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5f196415-a227-4436-bf40-afae44030513", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0f56fb9c-6724-4988-8674-af1459b974ee" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6560df3e-3ea0-416c-9cf7-15dd18458844", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Tue, 03 Aug 2021 00:45:42 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b7b6c63a-3a12-41f8-bce5-2f63a2c1cf82", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.2.0-beta.1 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a069c6ae-f20f-4388-838d-26024f097020" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0bfde8a1-692e-4d6d-835f-8139d04c1fe4", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Tue, 03 Aug 2021 00:45:42 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModel[1].json deleted file mode 100644 index f97afa2dd7559..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeComposedModel[1].json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c044188f-f531-4256-a841-12773dfce5b6", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "732", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39eef26b-266a-4215-b78b-083cc8cb1d7f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:25 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bffe018-a8d7-4313-ad07-1522c305e637" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bffe018-a8d7-4313-ad07-1522c305e637?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2d7b41d9-f228-4e3f-b7e6-f2b19230a7d7" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "38367bb9-16d1-414a-b31d-5d11e2f3ac59", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1bffe018-a8d7-4313-ad07-1522c305e637\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:28Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bffe018-a8d7-4313-ad07-1522c305e637?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3974f92f-1eb6-4f4d-9e96-a6c6d5fa5d0b" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e70139c-ad47-4291-be61-6ee51a468cae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1bffe018-a8d7-4313-ad07-1522c305e637\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:28Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9b0effd-2833-476c-9258-6af22b615c14", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "402", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1f68395a-a78e-4bf3-8f32-aaf95f408080", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:30 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/019ccc50-4bfa-4b81-949f-ee9fc070899c" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/019ccc50-4bfa-4b81-949f-ee9fc070899c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "470fc8c4-abc1-45f4-811e-b47e9f7d195d" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "51cb44f9-2850-499c-923f-ecccf3ced191", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:34Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/019ccc50-4bfa-4b81-949f-ee9fc070899c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "def04d7a-d09d-4091-8981-6e192e2ba5b0" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "28cddbe7-3303-4dbb-a09b-102725409746", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:34Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c5f8771a-e5ce-4342-924b-827e84ca2353", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "430", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cf83d959-c039-41b0-99ec-e5805cb089cc", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:36 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "708100be-889a-4885-a75a-b89362ede108" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fd644c18-39fb-47dc-96c0-7c3e6d3162b1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:37Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"1bffe018-a8d7-4313-ad07-1522c305e637\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:30:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ee0e32d3-1606-433a-8a8a-7d1ba744fabd" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "aa84e1d0-9262-4406-8d1c-7bf62c4f8d18", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:37Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"1bffe018-a8d7-4313-ad07-1522c305e637\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:30:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d831acbf-879f-44dd-9822-5efb323553d7", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "81", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0fc4e2cc-c6ec-4245-9dc7-0f37b56a7e0c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f/analyzeresults/2bcd79f4-6820-4d36-b05f-738a46692e4f", - "Date" : "Wed, 07 Jul 2021 06:30:43 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f/analyzeResults/2bcd79f4-6820-4d36-b05f-738a46692e4f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "eb6fbe8b-39f4-45e0-a3d8-3daa3333d857" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6116610e-8564-448a-a0fe-fb05e10f4c2d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:47Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"pageRange\":[1,1],\"fields\":{\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f/analyzeResults/2bcd79f4-6820-4d36-b05f-738a46692e4f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4f58d807-d364-4503-a898-db0cc16a835b" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "55b78b52-d612-42a3-8a08-55ab1955de78", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:47Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"modelId\":\"019ccc50-4bfa-4b81-949f-ee9fc070899c\",\"pageRange\":[1,1],\"fields\":{\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bffe018-a8d7-4313-ad07-1522c305e637", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1411bc59-84a0-4bc8-8582-627e58fe5343" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b9e3a2e4-516a-42d9-ab77-270afdf56886", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:30:48 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/019ccc50-4bfa-4b81-949f-ee9fc070899c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "983e262b-4904-43ba-95e5-8ddf6938d517" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1efb84f7-2c4d-4697-ae98-680fc8a5b808", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3c8d6052-ec6d-4dc1-b4a6-96aceb04ef3f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a6700598-d260-4516-b20e-d899421ea7e7" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e6518e1e-1c50-4056-b9a1-11c413160448", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeLabeledWithModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeLabeledWithModelName[1].json deleted file mode 100644 index 15e45f5441581..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizeFormTypeLabeledWithModelName[1].json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0d088999-d1fa-427a-b73e-1436badd1f15", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "715", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c6c376e-71b6-4b54-b013-cd96e952f3cc", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:20 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a8c687a-6343-4721-9675-8cdad839291a" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ee4477f1-d7d8-49bc-89b6-0c0c8430a424", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b\",\"modelName\":\"model1\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:23Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4a4dd928-aa50-49ee-9e53-dce613a80de7" - }, - "Response" : { - "content-length" : "1263", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1807762d-26e9-48cd-a4d4-7ef8a252cbc1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b\",\"modelName\":\"model1\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:23Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "537e9738-af21-48a5-ac77-681c6f7cb051", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "81", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "65d59de1-5140-420a-87ea-8d392046a9cc", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b/analyzeresults/5d814a48-df14-441a-a609-3e3646c4db1d", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b/analyzeResults/5d814a48-df14-441a-a609-3e3646c4db1d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aaacb81e-254f-425d-8b27-4333265d785e" - }, - "Response" : { - "content-length" : "6611", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a82df943-8488-412a-af26-e0e2790b250d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:model1\",\"modelId\":\"461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b\",\"pageRange\":[1,1],\"fields\":{\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b/analyzeResults/5d814a48-df14-441a-a609-3e3646c4db1d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7d37e2e8-1192-43bb-b997-e719d8e38e7f" - }, - "Response" : { - "content-length" : "6611", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9ef49550-143c-4960-82d3-43c9db4a7672", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:model1\",\"modelId\":\"461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b\",\"pageRange\":[1,1],\"fields\":{\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/461ef7ef-5bd7-40c7-a272-aa7d4cd66f6b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2d39e222-2806-44b8-87d7-3d4a6eaac628" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4688adce-4cbe-4d0d-9391-312e2743528a", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeLabeledModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeLabeledModel[1].json deleted file mode 100644 index a78ebc92f37fc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeLabeledModel[1].json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3909266d-6f68-4d2b-baec-66d4f9e1f98e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "410", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "adac405c-4f15-4521-88ad-054f7bf58d40", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5a360a83-5ad8-4066-b83e-33a9651a6eae" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2f95bf24-63a9-465b-b8b5-8aa6c8b8e057", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"296e2962-42d3-4e74-94df-e41e5a75b30f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:35Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "114c7f59-5b33-4da3-ab17-b341cd6f82a2" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cd61b8bd-ce49-491e-8b3a-e9e257d8ae91", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"296e2962-42d3-4e74-94df-e41e5a75b30f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:35Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6080b869-d285-437a-97ed-56336f392adc", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "77", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "47d43c61-f431-46bb-93dd-5547ebf1c782", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f/analyzeresults/10f94825-033a-48ca-98f9-72ffa690f92a", - "Date" : "Wed, 07 Jul 2021 06:31:37 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f/analyzeResults/10f94825-033a-48ca-98f9-72ffa690f92a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "54246d80-42d9-42f8-8dbd-9c6097668c37" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b56812a2-fe76-42c8-a5dd-e9febe3287f9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:42Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:296e2962-42d3-4e74-94df-e41e5a75b30f\",\"modelId\":\"296e2962-42d3-4e74-94df-e41e5a75b30f\",\"pageRange\":[1,1],\"fields\":{\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f/analyzeResults/10f94825-033a-48ca-98f9-72ffa690f92a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d5e98c47-d7f7-4ca8-9349-0d1a656e1ed9" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "68f29535-2036-45f0-911f-0059740b5d90", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:42Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:296e2962-42d3-4e74-94df-e41e5a75b30f\",\"modelId\":\"296e2962-42d3-4e74-94df-e41e5a75b30f\",\"pageRange\":[1,1],\"fields\":{\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/296e2962-42d3-4e74-94df-e41e5a75b30f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "608a1c27-5540-4e74-ac3c-eed3185b39d9" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "738b9000-88e4-48ab-b206-897fd6384ab2", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModelWithModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModelWithModelName[1].json deleted file mode 100644 index 6e89109b865ba..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModelWithModelName[1].json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "10956591-58b0-4f1f-9978-aadedd328f13", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "414", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6f9feaa3-74a8-4f12-9977-2b9a121692fc", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:24 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3170cbb6-4cfe-4aad-9cbe-77f1a7a8b194" - }, - "Response" : { - "content-length" : "191", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5bdfd922-ba76-4b40-9a21-082b36d75282", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"fc8b5bd0-62d6-4e33-b294-c00e743fa7e9\",\"modelName\":\"model1\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:24Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d296a957-9001-4a02-987e-ac75a642fbf0" - }, - "Response" : { - "content-length" : "191", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ce16f1b6-bff1-4d07-abbe-71841a8ea40b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"fc8b5bd0-62d6-4e33-b294-c00e743fa7e9\",\"modelName\":\"model1\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:24Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15a8d5d1-0c06-49f6-b104-7be3650874e3" - }, - "Response" : { - "content-length" : "191", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a3f6bf0d-d802-452a-b632-f9fbce066307", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"fc8b5bd0-62d6-4e33-b294-c00e743fa7e9\",\"modelName\":\"model1\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:24Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4230a6bb-a45a-4174-948a-ee2a0e27d25f" - }, - "Response" : { - "content-length" : "933", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2a80f424-9c7c-44e9-819b-25e8aa74756a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"fc8b5bd0-62d6-4e33-b294-c00e743fa7e9\",\"modelName\":\"model1\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:41Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aedb7e69-bcd0-4b18-a34f-1bed5b210e7e" - }, - "Response" : { - "content-length" : "933", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3e62bbf7-10a7-4ff5-8bda-efd2c98b8b75", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"fc8b5bd0-62d6-4e33-b294-c00e743fa7e9\",\"modelName\":\"model1\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:24Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:41Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b99d5e5c-9d40-4aab-80bb-4c3e3775e1af", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "104", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "789dea0f-05bf-46ea-8d5a-5268dd88e219", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9/analyzeresults/81ab78fa-4a04-489f-a361-d3453f1f0d36", - "Date" : "Wed, 07 Jul 2021 06:30:46 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9/analyzeResults/81ab78fa-4a04-489f-a361-d3453f1f0d36", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c1a8d7b5-85c0-4fe1-b651-6e55060f5efe" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6651a6ff-efbd-4e97-8994-f197e9bc84c1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:47Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:47Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9/analyzeResults/81ab78fa-4a04-489f-a361-d3453f1f0d36", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e44eed9c-4d23-4ee3-9e52-0f364bd4268d" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1790aa1c-32dc-4198-ac48-7df68081e107", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:47Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:53Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9/analyzeResults/81ab78fa-4a04-489f-a361-d3453f1f0d36", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ddf737fa-8629-420a-b447-f79fcfcebf26" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "77cb9a89-6d8e-4b8c-a5e3-c5d1549fc9b8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:47Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:53Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fc8b5bd0-62d6-4e33-b294-c00e743fa7e9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "936ca129-38b7-4a8b-b111-05f1e035d9ba" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7abf8fa4-a919-48dc-b089-15cbcf21c37c", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:30:57 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModel[1].json deleted file mode 100644 index 05bfa0e8d611a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.checkRecognizedFormTypeUnlabeledModel[1].json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b6bf6e3b-d20b-4297-9e51-9cdfba09ad29", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "431", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0646461c-d20f-40fe-b3e7-8736b2bdec16", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:20 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f20a2e7e-f4dc-4093-ac41-e5d7159b3a93" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39b0dbee-37bb-43cf-966b-bc5c0b034435", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d97db305-e6e3-459e-a8f1-d48b425a1345\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:20Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "43987452-400b-43b1-aa7e-8b33617cd9a2" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b65bd849-6fb7-4afc-a3ed-06bf1b258943", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d97db305-e6e3-459e-a8f1-d48b425a1345\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:20Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35006c16-f2a1-4282-9ef2-ece6c64a4a92" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "aaed934a-a15a-47f6-a40d-2cb8f520ce6b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d97db305-e6e3-459e-a8f1-d48b425a1345\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "577708a8-b3c6-429a-b6ae-fca9da97143f" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "12ac5f65-48ee-41e9-9cbe-1111ea81de77", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d97db305-e6e3-459e-a8f1-d48b425a1345\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "319b188b-cbb4-4ffd-b14b-d87dc1b6b1fc", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "115", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0e53d738-9467-44f3-ae06-9ecb8763c54b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345/analyzeresults/7df8dbb5-5266-4c0c-abac-e95814e4e14a", - "Date" : "Wed, 07 Jul 2021 06:29:36 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345/analyzeResults/7df8dbb5-5266-4c0c-abac-e95814e4e14a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1c069399-df0d-412f-b3f7-11d8ea56ecb3" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b3ac0ae9-6fab-46fc-a085-1cb17f4038f2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:29:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:29:38Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:29:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345/analyzeResults/7df8dbb5-5266-4c0c-abac-e95814e4e14a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "44936bca-0513-4d69-a191-8be8832a4787" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "112", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b7fe9e47-eab3-45f5-99cd-f681c36050b2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:29:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:29:44Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:29:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345/analyzeResults/7df8dbb5-5266-4c0c-abac-e95814e4e14a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "351ad004-c8f2-49b5-b985-f2f8599c3da1" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6f04758e-f702-4547-a497-11697455534b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:29:37Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:29:44Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:29:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d97db305-e6e3-459e-a8f1-d48b425a1345", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3c0cab3a-603d-482b-a714-06d315e4ca63" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b4272fdf-d1ad-441f-80a0-afcfcfa60bca", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:48 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceSubLineItemsNull[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceSubLineItemsNull[1].json deleted file mode 100644 index 1b40bde43827f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceSubLineItemsNull[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "668fea47-a01c-48c2-9bd8-5b29b5335618", - "Content-Type" : "image/tiff" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "340", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39ce0395-dec1-4fca-814a-e3fedb1c75d8", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/39ce0395-dec1-4fca-814a-e3fedb1c75d8", - "Date" : "Wed, 07 Jul 2021 06:29:51 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/39ce0395-dec1-4fca-814a-e3fedb1c75d8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a21f45a-0dc2-4e90-aef9-e71bff38a97e" - }, - "Response" : { - "content-length" : "31689", - "x-envoy-upstream-service-time" : "41", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5ed31964-9635-4e19-92fe-fc4381c5ca56", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.2076,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":39,\"columns\":8,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Ordered\",\"boundingBox\":[51,344,168,344,168,384,51,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Shipped\",\"boundingBox\":[168,344,287,344,287,384,168,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Item Number/Description\",\"boundingBox\":[287,344,976,344,976,384,287,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Unit Proce\",\"boundingBox\":[976,344,1096,344,1096,384,976,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"Discount\",\"boundingBox\":[1096,344,1192,344,1192,384,1096,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":5,\"boundingBox\":[1192,344,1318,344,1318,384,1192,384],\"isHeader\":true,\"text\":\"\"},{\"rowIndex\":0,\"columnIndex\":6,\"text\":\"Extended\",\"boundingBox\":[1318,344,1409,344,1409,384,1318,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":7,\"boundingBox\":[1409,344,1624,346,1624,384,1409,384],\"isHeader\":true,\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":0,\"boundingBox\":[51,384,168,384,168,461,51,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":1,\"boundingBox\":[168,384,287,384,287,461,168,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,384,976,384,976,461,287,461]},{\"rowIndex\":1,\"columnIndex\":3,\"boundingBox\":[976,384,1096,384,1096,461,976,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":4,\"boundingBox\":[1096,384,1192,384,1192,461,1096,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":5,\"boundingBox\":[1192,384,1318,384,1318,461,1192,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":6,\"boundingBox\":[1318,384,1409,384,1409,461,1318,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":7,\"text\":\"Price\",\"boundingBox\":[1409,384,1624,384,1624,461,1409,461]},{\"rowIndex\":2,\"columnIndex\":0,\"boundingBox\":[51,461,168,461,168,502,51,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":1,\"boundingBox\":[168,461,287,461,287,502,168,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,461,976,461,976,502,287,502]},{\"rowIndex\":2,\"columnIndex\":3,\"boundingBox\":[976,461,1096,461,1096,502,976,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":4,\"boundingBox\":[1096,461,1192,461,1192,502,1096,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":5,\"boundingBox\":[1192,461,1318,461,1318,502,1192,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":6,\"boundingBox\":[1318,461,1409,461,1409,502,1318,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":7,\"boundingBox\":[1409,461,1624,461,1624,504,1409,502],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":0,\"boundingBox\":[51,502,168,502,168,544,51,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":1,\"boundingBox\":[168,502,287,502,287,544,168,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,502,976,502,976,544,287,544]},{\"rowIndex\":3,\"columnIndex\":3,\"boundingBox\":[976,502,1096,502,1096,544,976,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":4,\"boundingBox\":[1096,502,1192,502,1192,544,1096,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":5,\"boundingBox\":[1192,502,1318,502,1318,546,1192,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":6,\"boundingBox\":[1318,502,1409,502,1409,546,1318,546],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":7,\"boundingBox\":[1409,502,1624,504,1624,546,1409,546],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":0,\"boundingBox\":[51,544,168,544,168,582,51,582],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":1,\"boundingBox\":[168,544,287,544,287,582,168,582],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,544,976,544,976,584,287,582]},{\"rowIndex\":4,\"columnIndex\":3,\"boundingBox\":[976,544,1096,544,1096,584,976,584],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":4,\"boundingBox\":[1096,544,1192,544,1192,586,1096,584],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":5,\"boundingBox\":[1192,544,1318,546,1318,586,1192,586],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":6,\"boundingBox\":[1318,546,1409,546,1409,586,1318,586],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":7,\"boundingBox\":[1409,546,1624,546,1624,586,1409,586],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":0,\"boundingBox\":[51,582,168,582,168,621,51,621],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":1,\"boundingBox\":[168,582,287,582,287,621,168,621],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,582,976,584,976,622,287,621]},{\"rowIndex\":5,\"columnIndex\":3,\"boundingBox\":[976,584,1096,584,1096,622,976,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":4,\"boundingBox\":[1096,584,1192,586,1192,622,1096,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":5,\"boundingBox\":[1192,586,1318,586,1318,624,1192,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":6,\"boundingBox\":[1318,586,1409,586,1409,624,1318,624],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":7,\"boundingBox\":[1409,586,1624,586,1624,624,1409,624],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":0,\"boundingBox\":[51,621,168,621,168,662,51,662],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":1,\"boundingBox\":[168,621,287,621,287,662,168,662],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,621,976,622,976,664,287,662]},{\"rowIndex\":6,\"columnIndex\":3,\"boundingBox\":[976,622,1096,622,1096,664,976,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":4,\"boundingBox\":[1096,622,1192,622,1192,664,1096,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":5,\"boundingBox\":[1192,622,1318,624,1318,664,1192,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":6,\"boundingBox\":[1318,624,1409,624,1409,664,1318,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":7,\"boundingBox\":[1409,624,1624,624,1624,664,1409,664],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":0,\"boundingBox\":[51,662,168,662,168,704,49,704],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":1,\"boundingBox\":[168,662,287,662,287,704,168,704],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,662,976,664,976,706,287,704]},{\"rowIndex\":7,\"columnIndex\":3,\"boundingBox\":[976,664,1096,664,1096,706,976,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":4,\"boundingBox\":[1096,664,1192,664,1192,706,1096,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":5,\"boundingBox\":[1192,664,1318,664,1318,706,1192,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":6,\"boundingBox\":[1318,664,1409,664,1409,706,1318,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":7,\"boundingBox\":[1409,664,1624,664,1624,706,1409,706],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":0,\"boundingBox\":[49,704,168,704,168,742,49,742],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":1,\"boundingBox\":[168,704,287,704,287,742,168,742],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,704,976,706,976,745,287,742]},{\"rowIndex\":8,\"columnIndex\":3,\"boundingBox\":[976,706,1096,706,1096,745,976,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":4,\"boundingBox\":[1096,706,1192,706,1192,745,1096,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":5,\"boundingBox\":[1192,706,1318,706,1318,745,1192,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":6,\"boundingBox\":[1318,706,1409,706,1409,747,1318,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":7,\"boundingBox\":[1409,706,1624,706,1624,747,1409,747],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":0,\"boundingBox\":[49,742,168,742,168,782,49,782],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":1,\"boundingBox\":[168,742,287,742,287,784,168,782],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,742,976,745,976,784,287,784]},{\"rowIndex\":9,\"columnIndex\":3,\"boundingBox\":[976,745,1096,745,1096,784,976,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":4,\"boundingBox\":[1096,745,1192,745,1192,784,1096,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":5,\"boundingBox\":[1192,745,1318,745,1318,784,1192,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":6,\"boundingBox\":[1318,745,1409,747,1409,785,1318,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":7,\"boundingBox\":[1409,747,1624,747,1624,785,1409,785],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":0,\"boundingBox\":[49,782,168,782,168,824,49,824],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":1,\"boundingBox\":[168,782,287,784,287,824,168,824],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,784,976,784,976,825,287,824]},{\"rowIndex\":10,\"columnIndex\":3,\"boundingBox\":[976,784,1096,784,1096,825,976,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":4,\"boundingBox\":[1096,784,1192,784,1192,825,1096,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":5,\"boundingBox\":[1192,784,1318,784,1318,825,1192,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":6,\"boundingBox\":[1318,784,1409,785,1407,827,1318,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":7,\"boundingBox\":[1409,785,1624,785,1624,825,1407,827],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":0,\"boundingBox\":[49,824,168,824,168,865,49,865],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":1,\"boundingBox\":[168,824,287,824,286,865,168,865],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,824,976,825,976,867,286,865]},{\"rowIndex\":11,\"columnIndex\":3,\"boundingBox\":[976,825,1096,825,1096,867,976,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":4,\"boundingBox\":[1096,825,1192,825,1192,867,1096,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":5,\"boundingBox\":[1192,825,1318,825,1318,867,1192,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":6,\"boundingBox\":[1318,825,1407,827,1407,867,1318,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":7,\"boundingBox\":[1407,827,1624,825,1624,867,1407,867],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":0,\"boundingBox\":[49,865,168,865,168,904,49,904],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":1,\"boundingBox\":[168,865,286,865,286,904,168,904],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,865,976,867,976,905,286,904]},{\"rowIndex\":12,\"columnIndex\":3,\"boundingBox\":[976,867,1096,867,1096,905,976,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":4,\"boundingBox\":[1096,867,1192,867,1192,905,1096,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":5,\"boundingBox\":[1192,867,1318,867,1318,905,1192,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":6,\"boundingBox\":[1318,867,1407,867,1407,905,1318,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":7,\"boundingBox\":[1407,867,1624,867,1624,905,1407,905],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,904,168,904,168,944,49,944]},{\"rowIndex\":13,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[168,904,286,904,286,944,168,944]},{\"rowIndex\":13,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,904,976,905,976,944,286,944]},{\"rowIndex\":13,\"columnIndex\":3,\"boundingBox\":[976,905,1096,905,1096,945,976,944],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":4,\"boundingBox\":[1096,905,1192,905,1192,945,1096,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":5,\"boundingBox\":[1192,905,1318,905,1318,945,1192,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":6,\"boundingBox\":[1318,905,1407,905,1407,945,1318,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":7,\"boundingBox\":[1407,905,1624,905,1624,945,1407,945],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":0,\"boundingBox\":[49,944,168,944,167,984,49,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":1,\"boundingBox\":[168,944,286,944,286,982,167,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,944,976,944,976,984,286,982]},{\"rowIndex\":14,\"columnIndex\":3,\"boundingBox\":[976,944,1096,945,1096,984,976,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":4,\"boundingBox\":[1096,945,1192,945,1192,984,1096,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":5,\"boundingBox\":[1192,945,1318,945,1318,984,1192,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":6,\"boundingBox\":[1318,945,1407,945,1407,984,1318,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":7,\"boundingBox\":[1407,945,1624,945,1624,985,1407,984],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,984,167,984,167,1022,49,1022]},{\"rowIndex\":15,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,984,286,982,286,1022,167,1022]},{\"rowIndex\":15,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,982,976,984,976,1022,286,1022]},{\"rowIndex\":15,\"columnIndex\":3,\"boundingBox\":[976,984,1096,984,1096,1022,976,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":4,\"boundingBox\":[1096,984,1192,984,1192,1022,1096,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":5,\"boundingBox\":[1192,984,1318,984,1318,1022,1192,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":6,\"boundingBox\":[1318,984,1407,984,1407,1022,1318,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":7,\"boundingBox\":[1407,984,1624,985,1624,1022,1407,1022],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":0,\"text\":\"2\",\"boundingBox\":[49,1022,167,1022,167,1060,49,1060]},{\"rowIndex\":16,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[167,1022,286,1022,286,1060,167,1060]},{\"rowIndex\":16,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1022,976,1022,976,1060,286,1060]},{\"rowIndex\":16,\"columnIndex\":3,\"boundingBox\":[976,1022,1096,1022,1096,1060,976,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":4,\"boundingBox\":[1096,1022,1192,1022,1192,1060,1096,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":5,\"boundingBox\":[1192,1022,1318,1022,1318,1060,1192,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":6,\"boundingBox\":[1318,1022,1407,1022,1407,1060,1318,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":7,\"boundingBox\":[1407,1022,1624,1022,1624,1060,1407,1060],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":0,\"boundingBox\":[49,1060,167,1060,167,1099,49,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":1,\"boundingBox\":[167,1060,286,1060,286,1099,167,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1060,976,1060,976,1099,286,1099]},{\"rowIndex\":17,\"columnIndex\":3,\"boundingBox\":[976,1060,1096,1060,1096,1099,976,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":4,\"boundingBox\":[1096,1060,1192,1060,1192,1099,1096,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":5,\"boundingBox\":[1192,1060,1318,1060,1318,1099,1192,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":6,\"boundingBox\":[1318,1060,1407,1060,1407,1099,1318,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":7,\"boundingBox\":[1407,1060,1624,1060,1624,1099,1407,1099],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":0,\"boundingBox\":[49,1099,167,1099,167,1137,49,1137],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":1,\"boundingBox\":[167,1099,286,1099,286,1137,167,1137],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1099,976,1099,976,1139,286,1137]},{\"rowIndex\":18,\"columnIndex\":3,\"boundingBox\":[976,1099,1096,1099,1096,1139,976,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":4,\"boundingBox\":[1096,1099,1192,1099,1192,1139,1096,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":5,\"boundingBox\":[1192,1099,1318,1099,1318,1139,1192,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":6,\"boundingBox\":[1318,1099,1407,1099,1407,1139,1318,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":7,\"boundingBox\":[1407,1099,1624,1099,1624,1139,1407,1139],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1137,167,1137,167,1177,49,1177]},{\"rowIndex\":19,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1137,286,1137,286,1177,167,1177]},{\"rowIndex\":19,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1137,976,1139,976,1179,286,1177]},{\"rowIndex\":19,\"columnIndex\":3,\"boundingBox\":[976,1139,1096,1139,1096,1179,976,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":4,\"boundingBox\":[1096,1139,1192,1139,1192,1179,1096,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":5,\"boundingBox\":[1192,1139,1318,1139,1318,1179,1192,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":6,\"boundingBox\":[1318,1139,1407,1139,1407,1179,1318,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":7,\"boundingBox\":[1407,1139,1624,1139,1624,1179,1407,1179],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1177,167,1177,167,1215,49,1217]},{\"rowIndex\":20,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1177,286,1177,286,1215,167,1215]},{\"rowIndex\":20,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1177,976,1179,976,1217,286,1215]},{\"rowIndex\":20,\"columnIndex\":3,\"boundingBox\":[976,1179,1096,1179,1096,1217,976,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":4,\"boundingBox\":[1096,1179,1192,1179,1192,1217,1096,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":5,\"boundingBox\":[1192,1179,1318,1179,1318,1217,1192,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":6,\"boundingBox\":[1318,1179,1407,1179,1407,1217,1318,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":7,\"boundingBox\":[1407,1179,1624,1179,1624,1217,1407,1217],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1217,167,1215,167,1255,49,1255]},{\"rowIndex\":21,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1215,286,1215,286,1255,167,1255]},{\"rowIndex\":21,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1215,976,1217,976,1255,286,1255]},{\"rowIndex\":21,\"columnIndex\":3,\"boundingBox\":[976,1217,1096,1217,1096,1255,976,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":4,\"boundingBox\":[1096,1217,1192,1217,1192,1255,1096,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":5,\"boundingBox\":[1192,1217,1318,1217,1318,1255,1192,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":6,\"boundingBox\":[1318,1217,1407,1217,1407,1255,1318,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":7,\"boundingBox\":[1407,1217,1624,1217,1624,1255,1407,1255],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1255,167,1255,167,1294,49,1294]},{\"rowIndex\":22,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1255,286,1255,286,1294,167,1294]},{\"rowIndex\":22,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1255,976,1255,976,1294,286,1294]},{\"rowIndex\":22,\"columnIndex\":3,\"boundingBox\":[976,1255,1096,1255,1096,1294,976,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":4,\"boundingBox\":[1096,1255,1192,1255,1192,1294,1096,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":5,\"boundingBox\":[1192,1255,1318,1255,1318,1294,1192,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":6,\"boundingBox\":[1318,1255,1407,1255,1407,1294,1318,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":7,\"boundingBox\":[1407,1255,1624,1255,1624,1295,1407,1294],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1294,167,1294,167,1332,49,1332]},{\"rowIndex\":23,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1294,286,1294,286,1332,167,1332]},{\"rowIndex\":23,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1294,976,1294,976,1332,286,1332]},{\"rowIndex\":23,\"columnIndex\":3,\"boundingBox\":[976,1294,1096,1294,1096,1332,976,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":4,\"boundingBox\":[1096,1294,1192,1294,1192,1332,1096,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":5,\"boundingBox\":[1192,1294,1318,1294,1318,1332,1192,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":6,\"boundingBox\":[1318,1294,1407,1294,1407,1334,1318,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":7,\"boundingBox\":[1407,1294,1624,1295,1624,1334,1407,1334],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":0,\"boundingBox\":[49,1332,167,1332,167,1370,49,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":1,\"boundingBox\":[167,1332,286,1332,286,1370,167,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1332,976,1332,976,1370,286,1370]},{\"rowIndex\":24,\"columnIndex\":3,\"boundingBox\":[976,1332,1096,1332,1096,1370,976,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":4,\"boundingBox\":[1096,1332,1192,1332,1192,1372,1096,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":5,\"boundingBox\":[1192,1332,1318,1332,1318,1372,1192,1372],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":6,\"boundingBox\":[1318,1332,1407,1334,1407,1370,1318,1372],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":7,\"boundingBox\":[1407,1334,1624,1334,1624,1372,1407,1370],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1370,167,1370,167,1410,49,1410]},{\"rowIndex\":25,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1370,286,1370,286,1410,167,1410]},{\"rowIndex\":25,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1370,976,1370,976,1412,286,1410]},{\"rowIndex\":25,\"columnIndex\":3,\"boundingBox\":[976,1370,1096,1370,1096,1412,976,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":4,\"boundingBox\":[1096,1370,1192,1372,1192,1412,1096,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":5,\"boundingBox\":[1192,1372,1318,1372,1318,1412,1192,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":6,\"boundingBox\":[1318,1372,1407,1370,1407,1412,1318,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":7,\"boundingBox\":[1407,1370,1624,1372,1624,1412,1407,1412],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":0,\"boundingBox\":[49,1410,167,1410,167,1449,49,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":1,\"boundingBox\":[167,1410,286,1410,286,1449,167,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1410,976,1412,976,1449,286,1449]},{\"rowIndex\":26,\"columnIndex\":3,\"boundingBox\":[976,1412,1096,1412,1096,1449,976,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":4,\"boundingBox\":[1096,1412,1192,1412,1192,1449,1096,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":5,\"boundingBox\":[1192,1412,1318,1412,1318,1449,1192,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":6,\"boundingBox\":[1318,1412,1407,1412,1407,1449,1318,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":7,\"boundingBox\":[1407,1412,1624,1412,1624,1450,1407,1449],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":0,\"boundingBox\":[49,1449,167,1449,167,1490,49,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":1,\"boundingBox\":[167,1449,286,1449,286,1490,167,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1449,976,1449,976,1490,286,1490]},{\"rowIndex\":27,\"columnIndex\":3,\"boundingBox\":[976,1449,1096,1449,1096,1490,976,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":4,\"boundingBox\":[1096,1449,1192,1449,1192,1492,1096,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":5,\"boundingBox\":[1192,1449,1318,1449,1318,1492,1192,1492],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":6,\"boundingBox\":[1318,1449,1407,1449,1407,1492,1318,1492],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":7,\"boundingBox\":[1407,1449,1624,1450,1624,1492,1407,1492],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":0,\"boundingBox\":[49,1490,167,1490,167,1532,48,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":1,\"boundingBox\":[167,1490,286,1490,284,1532,167,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1490,976,1490,976,1532,284,1532]},{\"rowIndex\":28,\"columnIndex\":3,\"boundingBox\":[976,1490,1096,1490,1096,1534,976,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":4,\"boundingBox\":[1096,1490,1192,1492,1192,1534,1096,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":5,\"boundingBox\":[1192,1492,1318,1492,1318,1534,1192,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":6,\"boundingBox\":[1318,1492,1407,1492,1407,1534,1318,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":7,\"boundingBox\":[1407,1492,1624,1492,1624,1534,1407,1534],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":0,\"boundingBox\":[48,1532,167,1532,167,1570,48,1570],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":1,\"boundingBox\":[167,1532,284,1532,284,1570,167,1570],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1532,976,1532,976,1572,284,1570]},{\"rowIndex\":29,\"columnIndex\":3,\"boundingBox\":[976,1532,1096,1534,1096,1572,976,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":4,\"boundingBox\":[1096,1534,1192,1534,1192,1572,1096,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":5,\"boundingBox\":[1192,1534,1318,1534,1318,1572,1192,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":6,\"boundingBox\":[1318,1534,1407,1534,1407,1572,1318,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":7,\"boundingBox\":[1407,1534,1624,1534,1624,1570,1407,1572],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":0,\"boundingBox\":[48,1570,167,1570,167,1608,48,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":1,\"boundingBox\":[167,1570,284,1570,284,1608,167,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1570,976,1572,976,1610,284,1608]},{\"rowIndex\":30,\"columnIndex\":3,\"boundingBox\":[976,1572,1096,1572,1096,1608,976,1610],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":4,\"boundingBox\":[1096,1572,1192,1572,1192,1608,1096,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":5,\"boundingBox\":[1192,1572,1318,1572,1318,1608,1192,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":6,\"boundingBox\":[1318,1572,1407,1572,1407,1610,1318,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":7,\"boundingBox\":[1407,1572,1624,1570,1624,1610,1407,1610],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":0,\"boundingBox\":[48,1608,167,1608,165,1650,48,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":1,\"boundingBox\":[167,1608,284,1608,284,1650,165,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1608,976,1610,976,1650,284,1650]},{\"rowIndex\":31,\"columnIndex\":3,\"boundingBox\":[976,1610,1096,1608,1096,1652,976,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":4,\"boundingBox\":[1096,1608,1192,1608,1192,1652,1096,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":5,\"boundingBox\":[1192,1608,1318,1608,1318,1652,1192,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":6,\"boundingBox\":[1318,1608,1407,1610,1407,1652,1318,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":7,\"boundingBox\":[1407,1610,1624,1610,1624,1652,1407,1652],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":0,\"boundingBox\":[48,1650,165,1650,165,1692,48,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":1,\"boundingBox\":[165,1650,284,1650,284,1692,165,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1650,976,1650,976,1693,284,1692]},{\"rowIndex\":32,\"columnIndex\":3,\"boundingBox\":[976,1650,1096,1652,1096,1692,976,1693],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":4,\"boundingBox\":[1096,1652,1192,1652,1192,1692,1096,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":5,\"boundingBox\":[1192,1652,1318,1652,1318,1692,1192,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":6,\"boundingBox\":[1318,1652,1407,1652,1407,1693,1318,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":7,\"boundingBox\":[1407,1652,1624,1652,1624,1693,1407,1693],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":0,\"boundingBox\":[48,1692,165,1692,165,1730,48,1730],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":1,\"boundingBox\":[165,1692,284,1692,284,1730,165,1730],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1692,976,1693,976,1732,284,1730]},{\"rowIndex\":33,\"columnIndex\":3,\"boundingBox\":[976,1693,1096,1692,1096,1732,976,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":4,\"boundingBox\":[1096,1692,1192,1692,1192,1732,1096,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":5,\"boundingBox\":[1192,1692,1318,1692,1318,1732,1192,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":6,\"boundingBox\":[1318,1692,1407,1693,1407,1732,1318,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":7,\"boundingBox\":[1407,1693,1624,1693,1624,1732,1407,1732],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":0,\"boundingBox\":[48,1730,165,1730,165,1770,48,1770],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":1,\"boundingBox\":[165,1730,284,1730,284,1770,165,1770],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1730,976,1732,976,1772,284,1770]},{\"rowIndex\":34,\"columnIndex\":3,\"boundingBox\":[976,1732,1096,1732,1096,1772,976,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":4,\"boundingBox\":[1096,1732,1192,1732,1192,1772,1096,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":5,\"boundingBox\":[1192,1732,1318,1732,1318,1772,1192,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":6,\"boundingBox\":[1318,1732,1407,1732,1407,1772,1318,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":7,\"boundingBox\":[1407,1732,1624,1732,1624,1772,1407,1772],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":0,\"boundingBox\":[48,1770,165,1770,165,1808,48,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":1,\"boundingBox\":[165,1770,284,1770,284,1808,165,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1770,976,1772,976,1808,284,1808]},{\"rowIndex\":35,\"columnIndex\":3,\"boundingBox\":[976,1772,1096,1772,1096,1808,976,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":4,\"boundingBox\":[1096,1772,1192,1772,1192,1808,1096,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":5,\"boundingBox\":[1192,1772,1318,1772,1318,1808,1192,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":6,\"boundingBox\":[1318,1772,1407,1772,1407,1808,1318,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":7,\"boundingBox\":[1407,1772,1624,1772,1624,1810,1407,1808],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":0,\"boundingBox\":[48,1808,165,1808,165,1850,48,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":1,\"boundingBox\":[165,1808,284,1808,284,1850,165,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[284,1808,976,1808,976,1850,284,1850]},{\"rowIndex\":36,\"columnIndex\":3,\"boundingBox\":[976,1808,1096,1808,1096,1850,976,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":4,\"boundingBox\":[1096,1808,1192,1808,1192,1850,1096,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":5,\"boundingBox\":[1192,1808,1318,1808,1318,1850,1192,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":6,\"boundingBox\":[1318,1808,1407,1808,1407,1850,1318,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":7,\"boundingBox\":[1407,1808,1624,1810,1624,1848,1407,1850],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[48,1850,165,1850,165,1913,48,1913]},{\"rowIndex\":37,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[165,1850,284,1850,284,1913,165,1913]},{\"rowIndex\":37,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[284,1850,976,1850,976,1913,284,1913]},{\"rowIndex\":37,\"columnIndex\":3,\"boundingBox\":[976,1850,1096,1850,1096,1913,976,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":4,\"boundingBox\":[1096,1850,1192,1850,1192,1913,1096,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":5,\"boundingBox\":[1192,1850,1318,1850,1318,1913,1192,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":6,\"boundingBox\":[1318,1850,1407,1850,1407,1913,1318,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":7,\"boundingBox\":[1407,1850,1624,1848,1624,1913,1407,1913],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":0,\"boundingBox\":[48,1913,165,1913,165,1957,48,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":1,\"boundingBox\":[165,1913,284,1913,284,1957,165,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":2,\"boundingBox\":[284,1913,976,1913,976,1958,284,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":3,\"boundingBox\":[976,1913,1096,1913,1096,1958,976,1958],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":4,\"boundingBox\":[1096,1913,1192,1913,1192,1960,1096,1958],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":5,\"text\":\"Subtotal\",\"boundingBox\":[1192,1913,1318,1913,1318,1960,1192,1960]},{\"rowIndex\":38,\"columnIndex\":6,\"boundingBox\":[1318,1913,1407,1913,1407,1960,1318,1960],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":7,\"boundingBox\":[1407,1913,1624,1913,1624,1960,1407,1960],\"text\":\"\"}],\"boundingBox\":[44,330,1627,344,1621,1955,38,1940]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"columnSpan\":2,\"boundingBox\":[1191,1913,1624,1914,1625,1956,1192,1954],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Tax\",\"boundingBox\":[1192,1954,1408,1955,1408,1996,1192,1996]},{\"rowIndex\":1,\"columnIndex\":1,\"boundingBox\":[1408,1955,1625,1956,1625,1997,1408,1996],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Freight\",\"boundingBox\":[1192,1996,1408,1996,1408,2037,1192,2037]},{\"rowIndex\":2,\"columnIndex\":1,\"boundingBox\":[1408,1996,1625,1997,1625,2038,1408,2037],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Total\",\"boundingBox\":[1192,2037,1408,2037,1408,2079,1192,2079]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$0.00\",\"boundingBox\":[1408,2037,1625,2038,1625,2079,1408,2079]}],\"boundingBox\":[1190,1914,1627,1914,1627,2082,1190,2082]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"92 9292 92\",\"text\":\"92 9292 92\",\"boundingBox\":[226.6,162.5,361,160.3,361.4,185.5,227,187.7],\"page\":1,\"confidence\":0.995},\"InvoiceTotal\":{\"type\":\"number\",\"valueNumber\":0,\"text\":\"$0.00\",\"boundingBox\":[1563,2052,1618,2052,1618,2074,1563,2074],\"page\":1,\"confidence\":0.995},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"text\":\"1\",\"boundingBox\":[153,1146,164,1146,164,1167,153,1167],\"page\":1,\"confidence\":0.027},{\"type\":\"object\",\"text\":\"1\",\"boundingBox\":[153,1381,162,1381,162,1397,152,1396],\"page\":1,\"confidence\":0.036}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/39ce0395-dec1-4fca-814a-e3fedb1c75d8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c6c34643-2f63-4384-bd67-71d3bc985911" - }, - "Response" : { - "content-length" : "31689", - "x-envoy-upstream-service-time" : "70", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9a9ab893-fd41-433b-b45b-dc1e8bb725f8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.2076,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":39,\"columns\":8,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Ordered\",\"boundingBox\":[51,344,168,344,168,384,51,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Shipped\",\"boundingBox\":[168,344,287,344,287,384,168,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Item Number/Description\",\"boundingBox\":[287,344,976,344,976,384,287,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Unit Proce\",\"boundingBox\":[976,344,1096,344,1096,384,976,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"Discount\",\"boundingBox\":[1096,344,1192,344,1192,384,1096,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":5,\"boundingBox\":[1192,344,1318,344,1318,384,1192,384],\"isHeader\":true,\"text\":\"\"},{\"rowIndex\":0,\"columnIndex\":6,\"text\":\"Extended\",\"boundingBox\":[1318,344,1409,344,1409,384,1318,384],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":7,\"boundingBox\":[1409,344,1624,346,1624,384,1409,384],\"isHeader\":true,\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":0,\"boundingBox\":[51,384,168,384,168,461,51,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":1,\"boundingBox\":[168,384,287,384,287,461,168,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,384,976,384,976,461,287,461]},{\"rowIndex\":1,\"columnIndex\":3,\"boundingBox\":[976,384,1096,384,1096,461,976,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":4,\"boundingBox\":[1096,384,1192,384,1192,461,1096,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":5,\"boundingBox\":[1192,384,1318,384,1318,461,1192,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":6,\"boundingBox\":[1318,384,1409,384,1409,461,1318,461],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":7,\"text\":\"Price\",\"boundingBox\":[1409,384,1624,384,1624,461,1409,461]},{\"rowIndex\":2,\"columnIndex\":0,\"boundingBox\":[51,461,168,461,168,502,51,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":1,\"boundingBox\":[168,461,287,461,287,502,168,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,461,976,461,976,502,287,502]},{\"rowIndex\":2,\"columnIndex\":3,\"boundingBox\":[976,461,1096,461,1096,502,976,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":4,\"boundingBox\":[1096,461,1192,461,1192,502,1096,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":5,\"boundingBox\":[1192,461,1318,461,1318,502,1192,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":6,\"boundingBox\":[1318,461,1409,461,1409,502,1318,502],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":7,\"boundingBox\":[1409,461,1624,461,1624,504,1409,502],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":0,\"boundingBox\":[51,502,168,502,168,544,51,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":1,\"boundingBox\":[168,502,287,502,287,544,168,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,502,976,502,976,544,287,544]},{\"rowIndex\":3,\"columnIndex\":3,\"boundingBox\":[976,502,1096,502,1096,544,976,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":4,\"boundingBox\":[1096,502,1192,502,1192,544,1096,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":5,\"boundingBox\":[1192,502,1318,502,1318,546,1192,544],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":6,\"boundingBox\":[1318,502,1409,502,1409,546,1318,546],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":7,\"boundingBox\":[1409,502,1624,504,1624,546,1409,546],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":0,\"boundingBox\":[51,544,168,544,168,582,51,582],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":1,\"boundingBox\":[168,544,287,544,287,582,168,582],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,544,976,544,976,584,287,582]},{\"rowIndex\":4,\"columnIndex\":3,\"boundingBox\":[976,544,1096,544,1096,584,976,584],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":4,\"boundingBox\":[1096,544,1192,544,1192,586,1096,584],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":5,\"boundingBox\":[1192,544,1318,546,1318,586,1192,586],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":6,\"boundingBox\":[1318,546,1409,546,1409,586,1318,586],\"text\":\"\"},{\"rowIndex\":4,\"columnIndex\":7,\"boundingBox\":[1409,546,1624,546,1624,586,1409,586],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":0,\"boundingBox\":[51,582,168,582,168,621,51,621],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":1,\"boundingBox\":[168,582,287,582,287,621,168,621],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,582,976,584,976,622,287,621]},{\"rowIndex\":5,\"columnIndex\":3,\"boundingBox\":[976,584,1096,584,1096,622,976,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":4,\"boundingBox\":[1096,584,1192,586,1192,622,1096,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":5,\"boundingBox\":[1192,586,1318,586,1318,624,1192,622],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":6,\"boundingBox\":[1318,586,1409,586,1409,624,1318,624],\"text\":\"\"},{\"rowIndex\":5,\"columnIndex\":7,\"boundingBox\":[1409,586,1624,586,1624,624,1409,624],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":0,\"boundingBox\":[51,621,168,621,168,662,51,662],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":1,\"boundingBox\":[168,621,287,621,287,662,168,662],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,621,976,622,976,664,287,662]},{\"rowIndex\":6,\"columnIndex\":3,\"boundingBox\":[976,622,1096,622,1096,664,976,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":4,\"boundingBox\":[1096,622,1192,622,1192,664,1096,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":5,\"boundingBox\":[1192,622,1318,624,1318,664,1192,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":6,\"boundingBox\":[1318,624,1409,624,1409,664,1318,664],\"text\":\"\"},{\"rowIndex\":6,\"columnIndex\":7,\"boundingBox\":[1409,624,1624,624,1624,664,1409,664],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":0,\"boundingBox\":[51,662,168,662,168,704,49,704],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":1,\"boundingBox\":[168,662,287,662,287,704,168,704],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,662,976,664,976,706,287,704]},{\"rowIndex\":7,\"columnIndex\":3,\"boundingBox\":[976,664,1096,664,1096,706,976,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":4,\"boundingBox\":[1096,664,1192,664,1192,706,1096,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":5,\"boundingBox\":[1192,664,1318,664,1318,706,1192,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":6,\"boundingBox\":[1318,664,1409,664,1409,706,1318,706],\"text\":\"\"},{\"rowIndex\":7,\"columnIndex\":7,\"boundingBox\":[1409,664,1624,664,1624,706,1409,706],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":0,\"boundingBox\":[49,704,168,704,168,742,49,742],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":1,\"boundingBox\":[168,704,287,704,287,742,168,742],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,704,976,706,976,745,287,742]},{\"rowIndex\":8,\"columnIndex\":3,\"boundingBox\":[976,706,1096,706,1096,745,976,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":4,\"boundingBox\":[1096,706,1192,706,1192,745,1096,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":5,\"boundingBox\":[1192,706,1318,706,1318,745,1192,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":6,\"boundingBox\":[1318,706,1409,706,1409,747,1318,745],\"text\":\"\"},{\"rowIndex\":8,\"columnIndex\":7,\"boundingBox\":[1409,706,1624,706,1624,747,1409,747],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":0,\"boundingBox\":[49,742,168,742,168,782,49,782],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":1,\"boundingBox\":[168,742,287,742,287,784,168,782],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,742,976,745,976,784,287,784]},{\"rowIndex\":9,\"columnIndex\":3,\"boundingBox\":[976,745,1096,745,1096,784,976,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":4,\"boundingBox\":[1096,745,1192,745,1192,784,1096,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":5,\"boundingBox\":[1192,745,1318,745,1318,784,1192,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":6,\"boundingBox\":[1318,745,1409,747,1409,785,1318,784],\"text\":\"\"},{\"rowIndex\":9,\"columnIndex\":7,\"boundingBox\":[1409,747,1624,747,1624,785,1409,785],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":0,\"boundingBox\":[49,782,168,782,168,824,49,824],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":1,\"boundingBox\":[168,782,287,784,287,824,168,824],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,784,976,784,976,825,287,824]},{\"rowIndex\":10,\"columnIndex\":3,\"boundingBox\":[976,784,1096,784,1096,825,976,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":4,\"boundingBox\":[1096,784,1192,784,1192,825,1096,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":5,\"boundingBox\":[1192,784,1318,784,1318,825,1192,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":6,\"boundingBox\":[1318,784,1409,785,1407,827,1318,825],\"text\":\"\"},{\"rowIndex\":10,\"columnIndex\":7,\"boundingBox\":[1409,785,1624,785,1624,825,1407,827],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":0,\"boundingBox\":[49,824,168,824,168,865,49,865],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":1,\"boundingBox\":[168,824,287,824,286,865,168,865],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[287,824,976,825,976,867,286,865]},{\"rowIndex\":11,\"columnIndex\":3,\"boundingBox\":[976,825,1096,825,1096,867,976,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":4,\"boundingBox\":[1096,825,1192,825,1192,867,1096,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":5,\"boundingBox\":[1192,825,1318,825,1318,867,1192,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":6,\"boundingBox\":[1318,825,1407,827,1407,867,1318,867],\"text\":\"\"},{\"rowIndex\":11,\"columnIndex\":7,\"boundingBox\":[1407,827,1624,825,1624,867,1407,867],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":0,\"boundingBox\":[49,865,168,865,168,904,49,904],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":1,\"boundingBox\":[168,865,286,865,286,904,168,904],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,865,976,867,976,905,286,904]},{\"rowIndex\":12,\"columnIndex\":3,\"boundingBox\":[976,867,1096,867,1096,905,976,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":4,\"boundingBox\":[1096,867,1192,867,1192,905,1096,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":5,\"boundingBox\":[1192,867,1318,867,1318,905,1192,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":6,\"boundingBox\":[1318,867,1407,867,1407,905,1318,905],\"text\":\"\"},{\"rowIndex\":12,\"columnIndex\":7,\"boundingBox\":[1407,867,1624,867,1624,905,1407,905],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,904,168,904,168,944,49,944]},{\"rowIndex\":13,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[168,904,286,904,286,944,168,944]},{\"rowIndex\":13,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,904,976,905,976,944,286,944]},{\"rowIndex\":13,\"columnIndex\":3,\"boundingBox\":[976,905,1096,905,1096,945,976,944],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":4,\"boundingBox\":[1096,905,1192,905,1192,945,1096,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":5,\"boundingBox\":[1192,905,1318,905,1318,945,1192,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":6,\"boundingBox\":[1318,905,1407,905,1407,945,1318,945],\"text\":\"\"},{\"rowIndex\":13,\"columnIndex\":7,\"boundingBox\":[1407,905,1624,905,1624,945,1407,945],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":0,\"boundingBox\":[49,944,168,944,167,984,49,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":1,\"boundingBox\":[168,944,286,944,286,982,167,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,944,976,944,976,984,286,982]},{\"rowIndex\":14,\"columnIndex\":3,\"boundingBox\":[976,944,1096,945,1096,984,976,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":4,\"boundingBox\":[1096,945,1192,945,1192,984,1096,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":5,\"boundingBox\":[1192,945,1318,945,1318,984,1192,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":6,\"boundingBox\":[1318,945,1407,945,1407,984,1318,984],\"text\":\"\"},{\"rowIndex\":14,\"columnIndex\":7,\"boundingBox\":[1407,945,1624,945,1624,985,1407,984],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,984,167,984,167,1022,49,1022]},{\"rowIndex\":15,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,984,286,982,286,1022,167,1022]},{\"rowIndex\":15,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,982,976,984,976,1022,286,1022]},{\"rowIndex\":15,\"columnIndex\":3,\"boundingBox\":[976,984,1096,984,1096,1022,976,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":4,\"boundingBox\":[1096,984,1192,984,1192,1022,1096,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":5,\"boundingBox\":[1192,984,1318,984,1318,1022,1192,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":6,\"boundingBox\":[1318,984,1407,984,1407,1022,1318,1022],\"text\":\"\"},{\"rowIndex\":15,\"columnIndex\":7,\"boundingBox\":[1407,984,1624,985,1624,1022,1407,1022],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":0,\"text\":\"2\",\"boundingBox\":[49,1022,167,1022,167,1060,49,1060]},{\"rowIndex\":16,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[167,1022,286,1022,286,1060,167,1060]},{\"rowIndex\":16,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1022,976,1022,976,1060,286,1060]},{\"rowIndex\":16,\"columnIndex\":3,\"boundingBox\":[976,1022,1096,1022,1096,1060,976,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":4,\"boundingBox\":[1096,1022,1192,1022,1192,1060,1096,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":5,\"boundingBox\":[1192,1022,1318,1022,1318,1060,1192,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":6,\"boundingBox\":[1318,1022,1407,1022,1407,1060,1318,1060],\"text\":\"\"},{\"rowIndex\":16,\"columnIndex\":7,\"boundingBox\":[1407,1022,1624,1022,1624,1060,1407,1060],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":0,\"boundingBox\":[49,1060,167,1060,167,1099,49,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":1,\"boundingBox\":[167,1060,286,1060,286,1099,167,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1060,976,1060,976,1099,286,1099]},{\"rowIndex\":17,\"columnIndex\":3,\"boundingBox\":[976,1060,1096,1060,1096,1099,976,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":4,\"boundingBox\":[1096,1060,1192,1060,1192,1099,1096,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":5,\"boundingBox\":[1192,1060,1318,1060,1318,1099,1192,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":6,\"boundingBox\":[1318,1060,1407,1060,1407,1099,1318,1099],\"text\":\"\"},{\"rowIndex\":17,\"columnIndex\":7,\"boundingBox\":[1407,1060,1624,1060,1624,1099,1407,1099],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":0,\"boundingBox\":[49,1099,167,1099,167,1137,49,1137],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":1,\"boundingBox\":[167,1099,286,1099,286,1137,167,1137],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1099,976,1099,976,1139,286,1137]},{\"rowIndex\":18,\"columnIndex\":3,\"boundingBox\":[976,1099,1096,1099,1096,1139,976,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":4,\"boundingBox\":[1096,1099,1192,1099,1192,1139,1096,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":5,\"boundingBox\":[1192,1099,1318,1099,1318,1139,1192,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":6,\"boundingBox\":[1318,1099,1407,1099,1407,1139,1318,1139],\"text\":\"\"},{\"rowIndex\":18,\"columnIndex\":7,\"boundingBox\":[1407,1099,1624,1099,1624,1139,1407,1139],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1137,167,1137,167,1177,49,1177]},{\"rowIndex\":19,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1137,286,1137,286,1177,167,1177]},{\"rowIndex\":19,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1137,976,1139,976,1179,286,1177]},{\"rowIndex\":19,\"columnIndex\":3,\"boundingBox\":[976,1139,1096,1139,1096,1179,976,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":4,\"boundingBox\":[1096,1139,1192,1139,1192,1179,1096,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":5,\"boundingBox\":[1192,1139,1318,1139,1318,1179,1192,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":6,\"boundingBox\":[1318,1139,1407,1139,1407,1179,1318,1179],\"text\":\"\"},{\"rowIndex\":19,\"columnIndex\":7,\"boundingBox\":[1407,1139,1624,1139,1624,1179,1407,1179],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1177,167,1177,167,1215,49,1217]},{\"rowIndex\":20,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1177,286,1177,286,1215,167,1215]},{\"rowIndex\":20,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1177,976,1179,976,1217,286,1215]},{\"rowIndex\":20,\"columnIndex\":3,\"boundingBox\":[976,1179,1096,1179,1096,1217,976,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":4,\"boundingBox\":[1096,1179,1192,1179,1192,1217,1096,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":5,\"boundingBox\":[1192,1179,1318,1179,1318,1217,1192,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":6,\"boundingBox\":[1318,1179,1407,1179,1407,1217,1318,1217],\"text\":\"\"},{\"rowIndex\":20,\"columnIndex\":7,\"boundingBox\":[1407,1179,1624,1179,1624,1217,1407,1217],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1217,167,1215,167,1255,49,1255]},{\"rowIndex\":21,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1215,286,1215,286,1255,167,1255]},{\"rowIndex\":21,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1215,976,1217,976,1255,286,1255]},{\"rowIndex\":21,\"columnIndex\":3,\"boundingBox\":[976,1217,1096,1217,1096,1255,976,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":4,\"boundingBox\":[1096,1217,1192,1217,1192,1255,1096,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":5,\"boundingBox\":[1192,1217,1318,1217,1318,1255,1192,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":6,\"boundingBox\":[1318,1217,1407,1217,1407,1255,1318,1255],\"text\":\"\"},{\"rowIndex\":21,\"columnIndex\":7,\"boundingBox\":[1407,1217,1624,1217,1624,1255,1407,1255],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1255,167,1255,167,1294,49,1294]},{\"rowIndex\":22,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1255,286,1255,286,1294,167,1294]},{\"rowIndex\":22,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1255,976,1255,976,1294,286,1294]},{\"rowIndex\":22,\"columnIndex\":3,\"boundingBox\":[976,1255,1096,1255,1096,1294,976,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":4,\"boundingBox\":[1096,1255,1192,1255,1192,1294,1096,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":5,\"boundingBox\":[1192,1255,1318,1255,1318,1294,1192,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":6,\"boundingBox\":[1318,1255,1407,1255,1407,1294,1318,1294],\"text\":\"\"},{\"rowIndex\":22,\"columnIndex\":7,\"boundingBox\":[1407,1255,1624,1255,1624,1295,1407,1294],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1294,167,1294,167,1332,49,1332]},{\"rowIndex\":23,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1294,286,1294,286,1332,167,1332]},{\"rowIndex\":23,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1294,976,1294,976,1332,286,1332]},{\"rowIndex\":23,\"columnIndex\":3,\"boundingBox\":[976,1294,1096,1294,1096,1332,976,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":4,\"boundingBox\":[1096,1294,1192,1294,1192,1332,1096,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":5,\"boundingBox\":[1192,1294,1318,1294,1318,1332,1192,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":6,\"boundingBox\":[1318,1294,1407,1294,1407,1334,1318,1332],\"text\":\"\"},{\"rowIndex\":23,\"columnIndex\":7,\"boundingBox\":[1407,1294,1624,1295,1624,1334,1407,1334],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":0,\"boundingBox\":[49,1332,167,1332,167,1370,49,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":1,\"boundingBox\":[167,1332,286,1332,286,1370,167,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[286,1332,976,1332,976,1370,286,1370]},{\"rowIndex\":24,\"columnIndex\":3,\"boundingBox\":[976,1332,1096,1332,1096,1370,976,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":4,\"boundingBox\":[1096,1332,1192,1332,1192,1372,1096,1370],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":5,\"boundingBox\":[1192,1332,1318,1332,1318,1372,1192,1372],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":6,\"boundingBox\":[1318,1332,1407,1334,1407,1370,1318,1372],\"text\":\"\"},{\"rowIndex\":24,\"columnIndex\":7,\"boundingBox\":[1407,1334,1624,1334,1624,1372,1407,1370],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[49,1370,167,1370,167,1410,49,1410]},{\"rowIndex\":25,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[167,1370,286,1370,286,1410,167,1410]},{\"rowIndex\":25,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[286,1370,976,1370,976,1412,286,1410]},{\"rowIndex\":25,\"columnIndex\":3,\"boundingBox\":[976,1370,1096,1370,1096,1412,976,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":4,\"boundingBox\":[1096,1370,1192,1372,1192,1412,1096,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":5,\"boundingBox\":[1192,1372,1318,1372,1318,1412,1192,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":6,\"boundingBox\":[1318,1372,1407,1370,1407,1412,1318,1412],\"text\":\"\"},{\"rowIndex\":25,\"columnIndex\":7,\"boundingBox\":[1407,1370,1624,1372,1624,1412,1407,1412],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":0,\"boundingBox\":[49,1410,167,1410,167,1449,49,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":1,\"boundingBox\":[167,1410,286,1410,286,1449,167,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1410,976,1412,976,1449,286,1449]},{\"rowIndex\":26,\"columnIndex\":3,\"boundingBox\":[976,1412,1096,1412,1096,1449,976,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":4,\"boundingBox\":[1096,1412,1192,1412,1192,1449,1096,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":5,\"boundingBox\":[1192,1412,1318,1412,1318,1449,1192,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":6,\"boundingBox\":[1318,1412,1407,1412,1407,1449,1318,1449],\"text\":\"\"},{\"rowIndex\":26,\"columnIndex\":7,\"boundingBox\":[1407,1412,1624,1412,1624,1450,1407,1449],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":0,\"boundingBox\":[49,1449,167,1449,167,1490,49,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":1,\"boundingBox\":[167,1449,286,1449,286,1490,167,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1449,976,1449,976,1490,286,1490]},{\"rowIndex\":27,\"columnIndex\":3,\"boundingBox\":[976,1449,1096,1449,1096,1490,976,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":4,\"boundingBox\":[1096,1449,1192,1449,1192,1492,1096,1490],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":5,\"boundingBox\":[1192,1449,1318,1449,1318,1492,1192,1492],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":6,\"boundingBox\":[1318,1449,1407,1449,1407,1492,1318,1492],\"text\":\"\"},{\"rowIndex\":27,\"columnIndex\":7,\"boundingBox\":[1407,1449,1624,1450,1624,1492,1407,1492],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":0,\"boundingBox\":[49,1490,167,1490,167,1532,48,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":1,\"boundingBox\":[167,1490,286,1490,284,1532,167,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[286,1490,976,1490,976,1532,284,1532]},{\"rowIndex\":28,\"columnIndex\":3,\"boundingBox\":[976,1490,1096,1490,1096,1534,976,1532],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":4,\"boundingBox\":[1096,1490,1192,1492,1192,1534,1096,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":5,\"boundingBox\":[1192,1492,1318,1492,1318,1534,1192,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":6,\"boundingBox\":[1318,1492,1407,1492,1407,1534,1318,1534],\"text\":\"\"},{\"rowIndex\":28,\"columnIndex\":7,\"boundingBox\":[1407,1492,1624,1492,1624,1534,1407,1534],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":0,\"boundingBox\":[48,1532,167,1532,167,1570,48,1570],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":1,\"boundingBox\":[167,1532,284,1532,284,1570,167,1570],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1532,976,1532,976,1572,284,1570]},{\"rowIndex\":29,\"columnIndex\":3,\"boundingBox\":[976,1532,1096,1534,1096,1572,976,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":4,\"boundingBox\":[1096,1534,1192,1534,1192,1572,1096,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":5,\"boundingBox\":[1192,1534,1318,1534,1318,1572,1192,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":6,\"boundingBox\":[1318,1534,1407,1534,1407,1572,1318,1572],\"text\":\"\"},{\"rowIndex\":29,\"columnIndex\":7,\"boundingBox\":[1407,1534,1624,1534,1624,1570,1407,1572],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":0,\"boundingBox\":[48,1570,167,1570,167,1608,48,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":1,\"boundingBox\":[167,1570,284,1570,284,1608,167,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1570,976,1572,976,1610,284,1608]},{\"rowIndex\":30,\"columnIndex\":3,\"boundingBox\":[976,1572,1096,1572,1096,1608,976,1610],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":4,\"boundingBox\":[1096,1572,1192,1572,1192,1608,1096,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":5,\"boundingBox\":[1192,1572,1318,1572,1318,1608,1192,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":6,\"boundingBox\":[1318,1572,1407,1572,1407,1610,1318,1608],\"text\":\"\"},{\"rowIndex\":30,\"columnIndex\":7,\"boundingBox\":[1407,1572,1624,1570,1624,1610,1407,1610],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":0,\"boundingBox\":[48,1608,167,1608,165,1650,48,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":1,\"boundingBox\":[167,1608,284,1608,284,1650,165,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1608,976,1610,976,1650,284,1650]},{\"rowIndex\":31,\"columnIndex\":3,\"boundingBox\":[976,1610,1096,1608,1096,1652,976,1650],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":4,\"boundingBox\":[1096,1608,1192,1608,1192,1652,1096,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":5,\"boundingBox\":[1192,1608,1318,1608,1318,1652,1192,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":6,\"boundingBox\":[1318,1608,1407,1610,1407,1652,1318,1652],\"text\":\"\"},{\"rowIndex\":31,\"columnIndex\":7,\"boundingBox\":[1407,1610,1624,1610,1624,1652,1407,1652],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":0,\"boundingBox\":[48,1650,165,1650,165,1692,48,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":1,\"boundingBox\":[165,1650,284,1650,284,1692,165,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1650,976,1650,976,1693,284,1692]},{\"rowIndex\":32,\"columnIndex\":3,\"boundingBox\":[976,1650,1096,1652,1096,1692,976,1693],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":4,\"boundingBox\":[1096,1652,1192,1652,1192,1692,1096,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":5,\"boundingBox\":[1192,1652,1318,1652,1318,1692,1192,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":6,\"boundingBox\":[1318,1652,1407,1652,1407,1693,1318,1692],\"text\":\"\"},{\"rowIndex\":32,\"columnIndex\":7,\"boundingBox\":[1407,1652,1624,1652,1624,1693,1407,1693],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":0,\"boundingBox\":[48,1692,165,1692,165,1730,48,1730],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":1,\"boundingBox\":[165,1692,284,1692,284,1730,165,1730],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1692,976,1693,976,1732,284,1730]},{\"rowIndex\":33,\"columnIndex\":3,\"boundingBox\":[976,1693,1096,1692,1096,1732,976,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":4,\"boundingBox\":[1096,1692,1192,1692,1192,1732,1096,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":5,\"boundingBox\":[1192,1692,1318,1692,1318,1732,1192,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":6,\"boundingBox\":[1318,1692,1407,1693,1407,1732,1318,1732],\"text\":\"\"},{\"rowIndex\":33,\"columnIndex\":7,\"boundingBox\":[1407,1693,1624,1693,1624,1732,1407,1732],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":0,\"boundingBox\":[48,1730,165,1730,165,1770,48,1770],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":1,\"boundingBox\":[165,1730,284,1730,284,1770,165,1770],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1730,976,1732,976,1772,284,1770]},{\"rowIndex\":34,\"columnIndex\":3,\"boundingBox\":[976,1732,1096,1732,1096,1772,976,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":4,\"boundingBox\":[1096,1732,1192,1732,1192,1772,1096,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":5,\"boundingBox\":[1192,1732,1318,1732,1318,1772,1192,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":6,\"boundingBox\":[1318,1732,1407,1732,1407,1772,1318,1772],\"text\":\"\"},{\"rowIndex\":34,\"columnIndex\":7,\"boundingBox\":[1407,1732,1624,1732,1624,1772,1407,1772],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":0,\"boundingBox\":[48,1770,165,1770,165,1808,48,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":1,\"boundingBox\":[165,1770,284,1770,284,1808,165,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":2,\"text\":\"Water\",\"boundingBox\":[284,1770,976,1772,976,1808,284,1808]},{\"rowIndex\":35,\"columnIndex\":3,\"boundingBox\":[976,1772,1096,1772,1096,1808,976,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":4,\"boundingBox\":[1096,1772,1192,1772,1192,1808,1096,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":5,\"boundingBox\":[1192,1772,1318,1772,1318,1808,1192,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":6,\"boundingBox\":[1318,1772,1407,1772,1407,1808,1318,1808],\"text\":\"\"},{\"rowIndex\":35,\"columnIndex\":7,\"boundingBox\":[1407,1772,1624,1772,1624,1810,1407,1808],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":0,\"boundingBox\":[48,1808,165,1808,165,1850,48,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":1,\"boundingBox\":[165,1808,284,1808,284,1850,165,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":2,\"text\":\"S/N: 656656\",\"boundingBox\":[284,1808,976,1808,976,1850,284,1850]},{\"rowIndex\":36,\"columnIndex\":3,\"boundingBox\":[976,1808,1096,1808,1096,1850,976,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":4,\"boundingBox\":[1096,1808,1192,1808,1192,1850,1096,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":5,\"boundingBox\":[1192,1808,1318,1808,1318,1850,1192,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":6,\"boundingBox\":[1318,1808,1407,1808,1407,1850,1318,1850],\"text\":\"\"},{\"rowIndex\":36,\"columnIndex\":7,\"boundingBox\":[1407,1808,1624,1810,1624,1848,1407,1850],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":0,\"text\":\"1\",\"boundingBox\":[48,1850,165,1850,165,1913,48,1913]},{\"rowIndex\":37,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[165,1850,284,1850,284,1913,165,1913]},{\"rowIndex\":37,\"columnIndex\":2,\"text\":\"6566565 unit\",\"boundingBox\":[284,1850,976,1850,976,1913,284,1913]},{\"rowIndex\":37,\"columnIndex\":3,\"boundingBox\":[976,1850,1096,1850,1096,1913,976,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":4,\"boundingBox\":[1096,1850,1192,1850,1192,1913,1096,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":5,\"boundingBox\":[1192,1850,1318,1850,1318,1913,1192,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":6,\"boundingBox\":[1318,1850,1407,1850,1407,1913,1318,1913],\"text\":\"\"},{\"rowIndex\":37,\"columnIndex\":7,\"boundingBox\":[1407,1850,1624,1848,1624,1913,1407,1913],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":0,\"boundingBox\":[48,1913,165,1913,165,1957,48,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":1,\"boundingBox\":[165,1913,284,1913,284,1957,165,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":2,\"boundingBox\":[284,1913,976,1913,976,1958,284,1957],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":3,\"boundingBox\":[976,1913,1096,1913,1096,1958,976,1958],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":4,\"boundingBox\":[1096,1913,1192,1913,1192,1960,1096,1958],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":5,\"text\":\"Subtotal\",\"boundingBox\":[1192,1913,1318,1913,1318,1960,1192,1960]},{\"rowIndex\":38,\"columnIndex\":6,\"boundingBox\":[1318,1913,1407,1913,1407,1960,1318,1960],\"text\":\"\"},{\"rowIndex\":38,\"columnIndex\":7,\"boundingBox\":[1407,1913,1624,1913,1624,1960,1407,1960],\"text\":\"\"}],\"boundingBox\":[44,330,1627,344,1621,1955,38,1940]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"columnSpan\":2,\"boundingBox\":[1191,1913,1624,1914,1625,1956,1192,1954],\"text\":\"\"},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Tax\",\"boundingBox\":[1192,1954,1408,1955,1408,1996,1192,1996]},{\"rowIndex\":1,\"columnIndex\":1,\"boundingBox\":[1408,1955,1625,1956,1625,1997,1408,1996],\"text\":\"\"},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Freight\",\"boundingBox\":[1192,1996,1408,1996,1408,2037,1192,2037]},{\"rowIndex\":2,\"columnIndex\":1,\"boundingBox\":[1408,1996,1625,1997,1625,2038,1408,2037],\"text\":\"\"},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Total\",\"boundingBox\":[1192,2037,1408,2037,1408,2079,1192,2079]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$0.00\",\"boundingBox\":[1408,2037,1625,2038,1625,2079,1408,2079]}],\"boundingBox\":[1190,1914,1627,1914,1627,2082,1190,2082]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"92 9292 92\",\"text\":\"92 9292 92\",\"boundingBox\":[226.6,162.5,361,160.3,361.4,185.5,227,187.7],\"page\":1,\"confidence\":0.995},\"InvoiceTotal\":{\"type\":\"number\",\"valueNumber\":0,\"text\":\"$0.00\",\"boundingBox\":[1563,2052,1618,2052,1618,2074,1563,2074],\"page\":1,\"confidence\":0.995},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"text\":\"1\",\"boundingBox\":[153,1146,164,1146,164,1167,153,1167],\"page\":1,\"confidence\":0.027},{\"type\":\"object\",\"text\":\"1\",\"boundingBox\":[153,1381,162,1381,162,1397,152,1396],\"page\":1,\"confidence\":0.036}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceValidLocale[1].json deleted file mode 100644 index 2749587dc170f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.invoiceValidLocale[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "02e5bb27-3c82-4311-9ee1-1c7c0dbfa97d", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "191", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b0f9ec4f-7165-499f-97b0-dd5492ee6da0", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b0f9ec4f-7165-499f-97b0-dd5492ee6da0", - "Date" : "Wed, 07 Jul 2021 06:32:20 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b0f9ec4f-7165-499f-97b0-dd5492ee6da0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "36f73cef-0a2a-47d6-aca0-e6a5d0035f89" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1b3f01f8-85f0-421b-8411-de592d0d6845", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:24Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b0f9ec4f-7165-499f-97b0-dd5492ee6da0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "80bbe09f-e9ac-4f32-b4d9-bf444c460a6c" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1cdde0c4-1b60-427c-9735-f9cba5e41177", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:24Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.receiptValidLocale[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.receiptValidLocale[1].json deleted file mode 100644 index 4be8fef449991..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.receiptValidLocale[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false&locale=en-US", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9aede1be-e2d0-476c-9ea0-fdc9e0cfa851", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "189", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "358f60c7-193f-4d71-88b8-7b172e0a19a9", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/358f60c7-193f-4d71-88b8-7b172e0a19a9", - "Date" : "Wed, 07 Jul 2021 06:28:33 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/358f60c7-193f-4d71-88b8-7b172e0a19a9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9c34e97-b38e-40b5-895c-017191de488a" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "be2b8ce3-50a1-4c1f-b0be-8b2eb9ba9ccc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/358f60c7-193f-4d71-88b8-7b172e0a19a9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ce415b7d-137b-4475-8252-40ef0ac4311d" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "42f96483-a87d-4059-9a5e-57a8ad3dfe71", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:37Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json deleted file mode 100644 index 218b4609820a6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "55c20d25-4b46-4f29-8d55-7b81c8a5fd83", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "641", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "52cd00f3-cc30-43d7-84e0-aa379310dae9", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/52cd00f3-cc30-43d7-84e0-aa379310dae9", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/52cd00f3-cc30-43d7-84e0-aa379310dae9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7a905461-c087-437f-9aae-5775980865b6" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "df60dd27-e50d-423b-a40f-777e6cc2777e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/52cd00f3-cc30-43d7-84e0-aa379310dae9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "808929ac-9ee9-4771-932a-3fc5aabc1313" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e72f4dfb-dc38-4e3b-9b39-a96e0d7e2496", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:27Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithBlankPdf[1].json deleted file mode 100644 index a5316cc64a550..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b2e7511e-cc99-42ae-8771-0465fae208fd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "45", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ced5447f-ea27-4099-9e53-f44301a92f2c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ced5447f-ea27-4099-9e53-f44301a92f2c", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ced5447f-ea27-4099-9e53-f44301a92f2c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ee23f8d8-c0cb-4970-a055-3996179abc1f" - }, - "Response" : { - "content-length" : "305", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e306618-8a42-4307-9815-0fab6c2ddd18", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/ced5447f-ea27-4099-9e53-f44301a92f2c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1597ee0d-005a-4b12-8946-b1cd7e65ea8b" - }, - "Response" : { - "content-length" : "305", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c49b0db-2806-4730-9b96-8c95c63b35f5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index f9cb6f89cc61c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "187b68bc-0ff0-4a15-8d10-961f1072e8ee", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "621", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1f58361d-c6c4-4a3b-9d77-87a4d136e33a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/1f58361d-c6c4-4a3b-9d77-87a4d136e33a", - "Date" : "Wed, 07 Jul 2021 06:29:13 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/1f58361d-c6c4-4a3b-9d77-87a4d136e33a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "80a3423b-d41c-47ae-8dab-d1fdc7be50a6" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5f7dd542-a4a4-44de-9f1c-97f1b317368b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/1f58361d-c6c4-4a3b-9d77-87a4d136e33a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2b5df037-4014-4421-991f-47a14a3017c3" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d63fe1a7-2f5e-41a8-8d67-5b9db574f387", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithPngFile[1].json deleted file mode 100644 index 4334a974ded34..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardDataWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d9790b42-0a98-47c3-8e08-cb710a357202", - "Content-Type" : "image/png" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1581", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eb4d0880-fdee-499b-8fcd-433bb55dcc3b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/eb4d0880-fdee-499b-8fcd-433bb55dcc3b", - "Date" : "Wed, 07 Jul 2021 06:29:14 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/eb4d0880-fdee-499b-8fcd-433bb55dcc3b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d162455a-30d6-4410-a5b8-e9ddda8b3b52" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f4f81a49-0f43-4078-822a-ef7cb9ee94c7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/eb4d0880-fdee-499b-8fcd-433bb55dcc3b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3a1b15e8-2ef0-4bb2-9464-a218adfef862" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ce66b089-62ac-4eb4-83b1-848127affca7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardData[1].json deleted file mode 100644 index 4abd193974699..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2cb40084-7d87-4c30-b29b-c48eb94aacc0", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "766", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a3ff7324-0587-4de6-8895-7ca6e58922f1", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a3ff7324-0587-4de6-8895-7ca6e58922f1", - "Date" : "Wed, 07 Jul 2021 06:30:13 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a3ff7324-0587-4de6-8895-7ca6e58922f1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ddc00118-b44b-4c65-9447-9eba7b53f031" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4009f577-69be-4f66-adf5-29a9ac98b081", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a3ff7324-0587-4de6-8895-7ca6e58922f1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1493a784-b678-44f0-b82c-bea8b18b32f3" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "db547247-5980-40da-8834-31ec8f742cdb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromDamagedPdf[1].json deleted file mode 100644 index 0b46dcfec9e76..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9d504e2-e73e-4628-a2de-c61c9991d00d", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a80c38d9-dab9-4bb8-af53-73f7710be8a0", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"a80c38d9-dab9-4bb8-af53-73f7710be8a0\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json deleted file mode 100644 index af82ad44adf84..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "72bd4f4e-225b-415f-9d83-9fc1d97ca9ff", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "484", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "711ee4b4-ac1e-4a92-aa8a-db0806c5c999", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/711ee4b4-ac1e-4a92-aa8a-db0806c5c999", - "Date" : "Wed, 07 Jul 2021 06:32:24 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/711ee4b4-ac1e-4a92-aa8a-db0806c5c999", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "af7d1575-9d9b-4bcf-9143-4d985cacc290" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c344e01-6ae5-4240-99dc-1d88d502299b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:26Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/711ee4b4-ac1e-4a92-aa8a-db0806c5c999", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4c53bf59-7a1e-4dd7-9dda-c8fac876cff6" - }, - "Response" : { - "content-length" : "9039", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6d83e0b4-2f18-4a0c-91a4-87fc8a21d147", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:26Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1608,871,1637,993,443,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.988},{\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1317,1103,1332,1179,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1312,761,1239,778,1314,470,1390],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[777,1235,1316,1104,1330,1182,794,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1596,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,743,1344,761,1428,494,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[786,1334,831,1322,850,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[890,1308,999,1280,1017,1366,908,1392],\"confidence\":0.859},{\"text\":\"Department\",\"boundingBox\":[1015,1276,1586,1134,1604,1217,1033,1362],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2102,933,2939,697,2952,757,2119,994],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"confidence\":0.942}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3100,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2420,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2432,1041,2548,1004,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2565,999,2662,969,2679,1041,2582,1070],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2674,965,2827,919,2844,991,2691,1038],\"confidence\":0.993},{\"text\":\"123456\",\"boundingBox\":[2840,915,3067,851,3085,917,2857,987],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1161,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2587,1082,2605,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2601,1078,2698,1048,2715,1122,2619,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2710,1044,2785,1021,2802,1096,2728,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2807,1014,2962,967,2978,1039,2824,1089],\"confidence\":0.994},{\"text\":\"5432\",\"boundingBox\":[2976,963,3131,917,3146,983,2992,1035],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.983},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2661,1232,2543,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1153,2758,1121,2777,1197,2675,1228],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2771,1117,2847,1093,2866,1169,2790,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2865,1087,3022,1038,3041,1113,2884,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3035,1033,3192,984,3212,1055,3055,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1731,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1305,2113,1697,1984,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1744,1969,2030,1877,2056,1954,1771,2059],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1273,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2262,1849,2056,1879,2161,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1867,2050,2222,1925,2254,2025,1897,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2240,1919,2385,1869,2417,1963,2272,2018],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2403,1863,2558,1809,2591,1895,2436,1956],\"confidence\":0.998}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 58fec8049a075..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3e327fc-b17b-49ff-a667-406fae27263e", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3e327fc-b17b-49ff-a667-406fae27263e", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3e327fc-b17b-49ff-a667-406fae27263e", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3e327fc-b17b-49ff-a667-406fae27263e", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardInvalidSourceUrl[1].json deleted file mode 100644 index e1fddbb7ddd0b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66875b24-8010-4808-97e1-9bc3ca21d8dc", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "883", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4cbad4f7-d4a0-4cb2-92b6-a74b1742555d", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"4cbad4f7-d4a0-4cb2-92b6-a74b1742555d\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json deleted file mode 100644 index ee3dfb79fc4df..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrlWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3eeb59cd-44b2-4629-8400-ccae547f9c9f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1003", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c999b273-8e36-4fe6-be3d-eb634be729e6", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c999b273-8e36-4fe6-be3d-eb634be729e6", - "Date" : "Wed, 07 Jul 2021 06:28:02 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c999b273-8e36-4fe6-be3d-eb634be729e6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66b065da-ef2c-45b5-ac10-5b726ab55a2d" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3d65da0b-3d63-4da9-a6f1-caff4c8caf9f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c999b273-8e36-4fe6-be3d-eb634be729e6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e4d20eac-4515-454b-900b-e769b06d2770" - }, - "Response" : { - "content-length" : "9029", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8a478675-796e-42ad-8b7b-334f5d19ce90", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.693,\"width\":4032,\"height\":3024,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[416,1155,1609,871,1638,993,444,1268],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[416,1161,645,1107,675,1220,446,1268],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[447,1313,1323,1101,1340,1178,465,1390],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[451,1313,762,1238,780,1314,469,1391],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[779,1234,1315,1104,1332,1183,797,1310],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[474,1410,1595,1131,1613,1215,494,1490],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[474,1411,742,1345,761,1428,493,1490],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[785,1334,831,1323,849,1407,804,1418],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[894,1307,1003,1279,1022,1365,913,1391],\"confidence\":0.891},{\"text\":\"Department\",\"boundingBox\":[1019,1276,1589,1133,1607,1216,1037,1361],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2103,933,2939,697,2952,756,2119,993],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"confidence\":0.966}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2116,1004,2986,756,3007,825,2135,1075],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"confidence\":0.934}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[2239,1098,3080,846,3099,912,2256,1165],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[2239,1103,2419,1045,2436,1113,2256,1165],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2431,1041,2547,1005,2564,1076,2448,1110],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2564,999,2661,969,2678,1042,2581,1071],\"confidence\":0.996},{\"text\":\"7911\",\"boundingBox\":[2673,966,2826,920,2843,992,2690,1038],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[2839,916,3066,851,3083,918,2856,988],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[2341,1158,3137,914,3153,983,2362,1224],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[2342,1160,2458,1123,2477,1193,2361,1224],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[2471,1119,2588,1082,2606,1155,2490,1189],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[2602,1078,2699,1048,2716,1122,2620,1151],\"confidence\":0.997},{\"text\":\"20\",\"boundingBox\":[2711,1044,2786,1021,2803,1095,2729,1118],\"confidence\":0.998},{\"text\":\"9876\",\"boundingBox\":[2804,1015,2960,968,2975,1040,2821,1090],\"confidence\":0.991},{\"text\":\"5432\",\"boundingBox\":[2973,964,3129,917,3144,984,2989,1036],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[2376,1242,3199,981,3219,1055,2396,1308],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[2376,1243,2511,1200,2530,1271,2395,1308],\"confidence\":0.979},{\"text\":\"+44\",\"boundingBox\":[2524,1196,2642,1158,2660,1233,2542,1267],\"confidence\":0.999},{\"text\":\"(0)\",\"boundingBox\":[2656,1154,2758,1121,2776,1197,2674,1228],\"confidence\":0.998},{\"text\":\"20\",\"boundingBox\":[2770,1117,2846,1093,2865,1170,2789,1193],\"confidence\":0.996},{\"text\":\"6789\",\"boundingBox\":[2864,1088,3020,1038,3039,1113,2883,1164],\"confidence\":0.994},{\"text\":\"2345\",\"boundingBox\":[3034,1034,3190,985,3210,1055,3053,1108],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[1145,1922,2313,1562,2368,1730,1200,2099],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[1228,2139,2028,1876,2058,1962,1257,2235],\"words\":[{\"text\":\"2\",\"boundingBox\":[1234,2136,1285,2119,1314,2218,1262,2235],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[1304,2113,1696,1985,1724,2076,1333,2212],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[1750,1967,2029,1877,2055,1955,1777,2057],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[1274,2262,2576,1803,2608,1898,1304,2354],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[1274,2261,1850,2056,1880,2160,1302,2354],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[1868,2050,2223,1925,2255,2024,1898,2154],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[2241,1919,2386,1869,2418,1963,2273,2017],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[2404,1862,2565,1807,2599,1892,2437,1955],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.4,2138.3,2528.6,1688.4,2605.1,1909.5,1303.9,2359.4],\"page\":1,\"confidence\":0.98,\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1927,2231,1585,2293,1753,1202,2099],\"page\":1,\"confidence\":0.168,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[667,1102,1111,995,1141,1114,696,1216],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1570,881,1600,1000,1200,1100],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1152.8,1571.9,880.5,1601.4,1005.8,443.5,1278],\"page\":1,\"confidence\":0.979,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/0/words/1\",\"#/readResults/0/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[472,1403,1589,1133,1610.7,1223,493.7,1493],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2909,706,2922,768,2122,993],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2519.4,1195,3189.9,984.7,3213.7,1060.6,2543.2,1270.9],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/7/words/3\",\"#/readResults/0/lines/7/words/4\",\"#/readResults/0/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[449.9,1311.6,1315,1104,1334.1,1183.4,469,1391],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1039.4,3065,847.5,3086.5,919.2,2448.3,1111.1],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/5/words/3\",\"#/readResults/0/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2980,757,3005,824,2139,1075],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.3,1118.6,3128.3,914.9,3151,988.1,2490.9,1191.9],\"page\":1,\"confidence\":0.989,\"elements\":[\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\",\"#/readResults/0/lines/6/words/3\",\"#/readResults/0/lines/6/words/4\",\"#/readResults/0/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrl[1].json deleted file mode 100644 index b6e1cd9d2b974..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeBusinessCardSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b629e2e5-35ca-4e96-a862-6e4bae3e5bfa", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "562", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7c1d5100-b1ad-4c82-86db-00282eced771", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/7c1d5100-b1ad-4c82-86db-00282eced771", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/7c1d5100-b1ad-4c82-86db-00282eced771", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a1cc2a8b-c6f6-4648-8f2f-f2e56aa27451" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8999749f-1455-4779-9855-9f0337d0718a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:58Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/7c1d5100-b1ad-4c82-86db-00282eced771", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "05ef6789-f79e-4c53-8842-efe35a5154f1" - }, - "Response" : { - "content-length" : "2684", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fa42f4c4-d00f-41a2-b04d-e5b36e045e40", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:58Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-16.6836,\"width\":4032,\"height\":3024,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[1227.3,2138.3,2520.2,1690.5,2597,1912.3,1304.1,2360.1],\"page\":1,\"confidence\":0.98}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1146,1926,2224,1587,2285,1756,1202,2099],\"page\":1,\"confidence\":0.168}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[666,1102,1111,995,1140,1114,696,1216],\"page\":1},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[1170,981,1571,881,1600,1000,1200,1100],\"page\":1}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[414.1,1153,1572,880.8,1601.3,1005.6,443.5,1277.9],\"page\":1,\"confidence\":0.979}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[473.6,1409.5,1586,1134,1607.3,1219.8,494.9,1495.3],\"page\":1,\"confidence\":0.989}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[2106,934,2908,706,2921,769,2122,993],\"page\":1,\"confidence\":0.99}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[2520.4,1195.5,3191.8,983.5,3215.8,1059.2,2544.3,1271.3],\"page\":1,\"confidence\":0.99}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[451,1312,1315.9,1103.6,1334.7,1181.7,469.8,1390],\"page\":1,\"confidence\":0.99}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[2426.8,1040.1,3065.5,846,3087.2,917.6,2448.5,1111.7],\"page\":1,\"confidence\":0.99}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[2120,1003,2981,757,3006,824,2139,1075],\"page\":1,\"confidence\":0.99}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[2468.2,1118.1,3130.3,914.6,3152.9,988.2,2490.8,1191.6],\"page\":1,\"confidence\":0.989}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentAppearance[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentAppearance[1].json deleted file mode 100644 index a5c02f05122cf..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentAppearance[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "49bfb7c8-978c-43c1-abc7-3b14d7196c31", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "243", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "00d9ae6a-15b0-4ac5-a02c-7e24cc3ea02e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/00d9ae6a-15b0-4ac5-a02c-7e24cc3ea02e", - "Date" : "Wed, 07 Jul 2021 06:31:19 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/00d9ae6a-15b0-4ac5-a02c-7e24cc3ea02e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51796e6a-d7bf-437a-83ef-6d92444f051d" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "79f35fc3-472b-4d43-8c67-77b62c7c0ea1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/00d9ae6a-15b0-4ac5-a02c-7e24cc3ea02e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4a15cb06-86e2-4323-84bb-5d18ec7ee489" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "71", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97aaacf8-1294-43e6-9605-830508d882f9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDamagedPdf[1].json deleted file mode 100644 index 9ac5b37819029..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "161e622b-e201-4dbe-a72f-dcd9deeeef93", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "270", - "x-envoy-upstream-service-time" : "5", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ee9d875a-88aa-428e-8531-9ccbccdd542b", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImage\",\"message\":\"The file submitted couldn't be parsed. This can be due to one of the following reasons: the file format is not supported ( Supported formats include JPEG, PNG, BMP, PDF and TIFF), the file is corrupted or password protected.\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDataMultiPage[1].json deleted file mode 100644 index ee6e1a173ac4e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromDataMultiPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9548b06c-fed2-4942-ae5f-888ba1b5bc77", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "91", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99e3d7db-d227-4237-8ed1-30500923a72b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/99e3d7db-d227-4237-8ed1-30500923a72b", - "Date" : "Wed, 07 Jul 2021 06:29:42 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/99e3d7db-d227-4237-8ed1-30500923a72b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1f41bb6e-a4d3-4395-b2fd-13606e3cbc7a" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "54", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c1f21eaa-d905-4e50-ab90-66381a2e5b03", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:47Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/99e3d7db-d227-4237-8ed1-30500923a72b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "14f9a666-8f02-4653-8183-a7abbd7c3618" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d196fa1d-76f3-4e91-b33b-9912fe87d224", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:47Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlMultiPage[1].json deleted file mode 100644 index a14e5b6d6e691..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlMultiPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f2256ee0-b3c9-49ce-bbe7-045459d1fdac", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "52", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ff3dd68e-e375-4c70-a706-a5e12d3effbd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/ff3dd68e-e375-4c70-a706-a5e12d3effbd", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/ff3dd68e-e375-4c70-a706-a5e12d3effbd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3d8d1cf1-ff7b-4c00-b8d5-2789122a37e9" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8950a217-35cf-4a7f-935b-d418848922e1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/ff3dd68e-e375-4c70-a706-a5e12d3effbd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f74070a4-860c-4a1e-978f-545263ba009a" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "77", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cb532714-f276-451c-8e1b-ea872e751fc7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 52e479e21f6d3..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "84a22e89-8484-4dff-bacf-f7394ebe7e94", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "84a22e89-8484-4dff-bacf-f7394ebe7e94", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "84a22e89-8484-4dff-bacf-f7394ebe7e94", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "84a22e89-8484-4dff-bacf-f7394ebe7e94", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithPdf[1].json deleted file mode 100644 index 684becb26c728..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrlWithPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e731489b-254f-431d-a2c9-863b0d0660f3", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "174", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8f777159-1abe-4ebc-8529-e15a70841bb7", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8f777159-1abe-4ebc-8529-e15a70841bb7", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8f777159-1abe-4ebc-8529-e15a70841bb7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fe80939b-e63e-41df-8e46-729ac53d85b2" - }, - "Response" : { - "content-length" : "9723", - "x-envoy-upstream-service-time" : "46", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f57421bc-29ff-492d-8fd8-b421372f45d7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:08Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.3540,0.5375,1.3540],\"text\":\"Contoso Suites\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.3540,0.5375,1.3540],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.7580,1.1349,2.6064,1.1349,2.6064,1.3534,1.7580,1.3534],\"text\":\"Suites\",\"confidence\":1}]},{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"text\":\"Invoice For: First Up Consultants\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"text\":\"For:\",\"confidence\":1},{\"boundingBox\":[5.2048,1.5130,5.4927,1.5130,5.4927,1.6151,5.2048,1.6151],\"text\":\"First\",\"confidence\":1},{\"boundingBox\":[5.5427,1.5130,5.7120,1.5130,5.7120,1.6407,5.5427,1.6407],\"text\":\"Up\",\"confidence\":1},{\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"text\":\"Consultants\",\"confidence\":1}]},{\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"text\":\"14564 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8107,1.7050,1.1733,1.7050,1.1733,1.8075,0.8107,1.8075],\"text\":\"14564\",\"confidence\":1},{\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[5.2043,1.7133,6.0220,1.7133,6.0220,1.8444,5.2043,1.8444],\"text\":\"1234 King St\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.8170,5.2043,1.8170],\"text\":\"1234\",\"confidence\":1},{\"boundingBox\":[5.5499,1.7149,5.8380,1.7149,5.8380,1.8444,5.5499,1.8444],\"text\":\"King\",\"confidence\":1},{\"boundingBox\":[5.8903,1.7133,6.0220,1.7133,6.0220,1.8172,5.8903,1.8172],\"text\":\"St\",\"confidence\":1}]},{\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"text\":\"Saratoga, CA 94588\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"text\":\"Saratoga,\",\"confidence\":1},{\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"text\":\"94588\",\"confidence\":1}]},{\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"text\":\"Redmond, WA 97624\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"text\":\"WA\",\"confidence\":1},{\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"text\":\"97624\",\"confidence\":1}]},{\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"text\":\"Invoice Number\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"text\":\"Number\",\"confidence\":1}]},{\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"text\":\"Invoice Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9491,2.8733,2.4150,2.8733,2.4150,2.9754,1.9491,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"text\":\"Invoice Due Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"text\":\"Due\",\"confidence\":1},{\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"confidence\":1}]},{\"boundingBox\":[6.1410,2.8730,6.5875,2.8730,6.5875,2.9736,6.1410,2.9736],\"text\":\"VAT ID\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.1410,2.8730,6.4147,2.8730,6.4147,2.9736,6.1410,2.9736],\"text\":\"VAT\",\"confidence\":1},{\"boundingBox\":[6.4655,2.8730,6.5875,2.8730,6.5875,2.9736,6.4655,2.9736],\"text\":\"ID\",\"confidence\":1}]},{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"confidence\":1}]},{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"confidence\":1}]},{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"confidence\":1}]},{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"confidence\":1}]},{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"confidence\":1}]},{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"confidence\":1}]},{\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"text\":\"1 of\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"text\":\"1\",\"confidence\":1},{\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"text\":\"of\",\"confidence\":1}]},{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.7900,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.7900,3.3036,2.7900,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.7900,4.7022,2.7900,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.7900,6.1008,2.7900,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.7900,7.4994,2.7900,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"7689302\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"3/09/2015\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/29/2016\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$22,123.24\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"QR\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.4981,2.7802,7.4935,2.7817,7.4916,3.8459,0.4963,3.8448]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8f777159-1abe-4ebc-8529-e15a70841bb7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "14603cde-65ce-4870-b18b-c2f04754e60d" - }, - "Response" : { - "content-length" : "9723", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0e44d204-12c6-4188-85ca-0317cb7a018c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:08Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5375,1.1349,2.6064,1.1349,2.6064,1.3540,0.5375,1.3540],\"text\":\"Contoso Suites\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5375,1.1402,1.6595,1.1402,1.6595,1.3540,0.5375,1.3540],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.7580,1.1349,2.6064,1.1349,2.6064,1.3534,1.7580,1.3534],\"text\":\"Suites\",\"confidence\":1}]},{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.7984,1.5150,1.3826,1.5150,1.3826,1.6161,0.7984,1.6161],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[4.4033,1.5114,6.5483,1.5114,6.5483,1.6407,4.4033,1.6407],\"text\":\"Invoice For: First Up Consultants\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"text\":\"For:\",\"confidence\":1},{\"boundingBox\":[5.2048,1.5130,5.4927,1.5130,5.4927,1.6151,5.2048,1.6151],\"text\":\"First\",\"confidence\":1},{\"boundingBox\":[5.5427,1.5130,5.7120,1.5130,5.7120,1.6407,5.5427,1.6407],\"text\":\"Up\",\"confidence\":1},{\"boundingBox\":[5.7621,1.5114,6.5483,1.5114,6.5483,1.6151,5.7621,1.6151],\"text\":\"Consultants\",\"confidence\":1}]},{\"boundingBox\":[0.8107,1.7037,1.7138,1.7037,1.7138,1.8075,0.8107,1.8075],\"text\":\"14564 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8107,1.7050,1.1733,1.7050,1.1733,1.8075,0.8107,1.8075],\"text\":\"14564\",\"confidence\":1},{\"boundingBox\":[1.2286,1.7054,1.5086,1.7054,1.5086,1.8075,1.2286,1.8075],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5629,1.7037,1.7138,1.7037,1.7138,1.8075,1.5629,1.8075],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[5.2043,1.7133,6.0220,1.7133,6.0220,1.8444,5.2043,1.8444],\"text\":\"1234 King St\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2043,1.7145,5.4979,1.7145,5.4979,1.8170,5.2043,1.8170],\"text\":\"1234\",\"confidence\":1},{\"boundingBox\":[5.5499,1.7149,5.8380,1.7149,5.8380,1.8444,5.5499,1.8444],\"text\":\"King\",\"confidence\":1},{\"boundingBox\":[5.8903,1.7133,6.0220,1.7133,6.0220,1.8172,5.8903,1.8172],\"text\":\"St\",\"confidence\":1}]},{\"boundingBox\":[0.8019,1.8954,2.0404,1.8954,2.0404,2.0266,0.8019,2.0266],\"text\":\"Saratoga, CA 94588\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8019,1.8954,1.3832,1.8954,1.3832,2.0266,0.8019,2.0266],\"text\":\"Saratoga,\",\"confidence\":1},{\"boundingBox\":[1.4388,1.8954,1.6222,1.8954,1.6222,1.9992,1.4388,1.9992],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[1.6677,1.8967,2.0404,1.8967,2.0404,2.0001,1.6677,2.0001],\"text\":\"94588\",\"confidence\":1}]},{\"boundingBox\":[5.2018,1.9045,6.5568,1.9045,6.5568,2.0275,5.2018,2.0275],\"text\":\"Redmond, WA 97624\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2018,1.9049,5.8581,1.9049,5.8581,2.0275,5.2018,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[5.9069,1.9049,6.1364,1.9049,6.1364,2.0055,5.9069,2.0055],\"text\":\"WA\",\"confidence\":1},{\"boundingBox\":[6.1799,1.9045,6.5568,1.9045,6.5568,2.0072,6.1799,2.0072],\"text\":\"97624\",\"confidence\":1}]},{\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"text\":\"Invoice Number\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"text\":\"Number\",\"confidence\":1}]},{\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"text\":\"Invoice Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9491,2.8733,2.4150,2.8733,2.4150,2.9754,1.9491,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"text\":\"Invoice Due Date\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"text\":\"Due\",\"confidence\":1},{\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"text\":\"Date\",\"confidence\":1}]},{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7468,2.8717,5.2890,2.8717,5.2890,3.0035,4.7468,3.0035],\"text\":\"Charges\",\"confidence\":1}]},{\"boundingBox\":[6.1410,2.8730,6.5875,2.8730,6.5875,2.9736,6.1410,2.9736],\"text\":\"VAT ID\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.1410,2.8730,6.4147,2.8730,6.4147,2.9736,6.1410,2.9736],\"text\":\"VAT\",\"confidence\":1},{\"boundingBox\":[6.4655,2.8730,6.5875,2.8730,6.5875,2.9736,6.4655,2.9736],\"text\":\"ID\",\"confidence\":1}]},{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.5415,3.4110,1.0661,3.4110,1.0661,3.5136,0.5415,3.5136],\"text\":\"7689302\",\"confidence\":1}]},{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9461,3.4097,2.5501,3.4097,2.5501,3.5144,1.9461,3.5144],\"text\":\"3/09/2015\",\"confidence\":1}]},{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3460,3.4097,3.9496,3.4097,3.9496,3.5144,3.3460,3.5144],\"text\":\"6/29/2016\",\"confidence\":1}]},{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2909,3.4114,5.9742,3.4114,5.9742,3.5381,5.2909,3.5381],\"text\":\"$22,123.24\",\"confidence\":1}]},{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2238,3.4096,6.4236,3.4096,6.4236,3.5196,6.2238,3.5196],\"text\":\"QR\",\"confidence\":1}]},{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.2429,9.6670,6.5489,9.6670,6.5489,9.7966,6.2429,9.7966],\"text\":\"Page\",\"confidence\":1}]},{\"boundingBox\":[6.8409,9.6656,7.0593,9.6656,7.0593,9.7681,6.8409,9.7681],\"text\":\"1 of\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.8409,9.6681,6.8837,9.6681,6.8837,9.7663,6.8409,9.7663],\"text\":\"1\",\"confidence\":1},{\"boundingBox\":[6.9512,9.6656,7.0593,9.6656,7.0593,9.7681,6.9512,9.7681],\"text\":\"of\",\"confidence\":1}]},{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.4076,9.6681,7.4503,9.6681,7.4503,9.7663,7.4076,9.7663],\"text\":\"1\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.7900,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.7900,3.3036,2.7900,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.7900,4.7022,2.7900,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.7900,6.1008,2.7900,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.7900,7.4994,2.7900,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"7689302\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"3/09/2015\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/29/2016\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$22,123.24\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"QR\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.4981,2.7802,7.4935,2.7817,7.4916,3.8459,0.4963,3.8448]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrl[1].json deleted file mode 100644 index 36aae3d627a6b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5b980a23-620d-4e2d-a111-4a3792367ab1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "238", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8c04465d-1845-4d6b-91ce-b7d45cf3108f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8c04465d-1845-4d6b-91ce-b7d45cf3108f", - "Date" : "Wed, 07 Jul 2021 06:29:30 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8c04465d-1845-4d6b-91ce-b7d45cf3108f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "609bd57d-e2cf-42c7-afc5-71c9d7685489" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "49", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0b622a3f-c43e-44ff-b391-cfed9eea5ad5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:33Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/8c04465d-1845-4d6b-91ce-b7d45cf3108f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ca241e36-7805-4c07-9322-c77dc515fce6" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9370fb03-581f-4ce3-946e-7ad2723450f7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:33Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentIncorrectLanguageFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentIncorrectLanguageFromUrl[1].json deleted file mode 100644 index 96723b72b5407..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentIncorrectLanguageFromUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?language=language", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c84cc841-4383-43ad-857d-8eeb716884d5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "121", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c76b4bc-2dfb-4dea-8608-657b1729433d", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"NotSupportedLanguage\",\"message\":\"The requested operation is not supported in the language specified.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentInvalidSourceUrl[1].json deleted file mode 100644 index 41bea6266de13..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7f5f2cea-a3f8-4d0e-91ed-d317fa553256", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "208", - "x-envoy-upstream-service-time" : "1011", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b1dc43f0-5249-4e54-8ce2-63032bbc52b9", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"message\":\"Failed to download the image from the submitted URL. The URL may either be invalid or the server hosting the image is experiencing some technical difficulties.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithBlankPdf[1].json deleted file mode 100644 index 4c74642d41efb..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2604efe0-dd84-4f6c-8b64-a588578eabcd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fde738bb-7edb-45f9-a9c0-f950a207b9ff", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fde738bb-7edb-45f9-a9c0-f950a207b9ff", - "Date" : "Wed, 07 Jul 2021 06:31:26 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fde738bb-7edb-45f9-a9c0-f950a207b9ff", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cfca2a90-ba4a-40c0-aaa0-82b72a57b45e" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "105", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8c9f282b-6bac-4cc6-9af3-d778343b6edc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/fde738bb-7edb-45f9-a9c0-f950a207b9ff", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7648bae1-a152-459c-9d17-aa08a94dbaef" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2e9fafc7-2dc9-4d45-bff4-cf4872467d62", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json deleted file mode 100644 index 163d60b98e808..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentResultWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b9bc8a6-2ed7-4b3a-8a3d-5ae7b465f024", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "169", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e1f4eeb-fdbc-4c70-8917-e4aa5af83557", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/5e1f4eeb-fdbc-4c70-8917-e4aa5af83557", - "Date" : "Wed, 07 Jul 2021 06:29:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/5e1f4eeb-fdbc-4c70-8917-e4aa5af83557", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "50e24a22-a96c-40c7-b97d-f9d934a0fedc" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "93", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0746c136-956e-4675-94ce-237d9fb46221", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/5e1f4eeb-fdbc-4c70-8917-e4aa5af83557", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "269ff7ad-5e1e-4a04-96af-66bcab080586" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "29026ddc-3c20-45ce-81c3-a1f00ed80a3d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPageRange[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPageRange[1].json deleted file mode 100644 index ab760652f6819..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPageRange[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1-2%2C3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "79a0b123-b8bb-4772-83f8-07c06791dba7", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "149", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c31608b6-e32b-413c-ac78-da66c7e8e721", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c31608b6-e32b-413c-ac78-da66c7e8e721", - "Date" : "Wed, 07 Jul 2021 06:30:56 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c31608b6-e32b-413c-ac78-da66c7e8e721", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a5e02266-765d-4c9b-bb5b-d96240cc4daf" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "12", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e56e4b90-29d9-4784-9092-38f0fd1135f0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:30:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:01Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c31608b6-e32b-413c-ac78-da66c7e8e721", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "20bd444e-5e95-4fbc-932a-36daab7925a4" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b395091b-7801-4329-9860-4f65605ec087", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c31608b6-e32b-413c-ac78-da66c7e8e721", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e21adbf3-7fc8-4d4d-b65b-68ab690d0a26" - }, - "Response" : { - "content-length" : "33062", - "x-envoy-upstream-service-time" : "89", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a62d7d6a-77cc-4650-b2a5-89864a6da380", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:05Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3734,1.1217,2.3734,1.2812,0.8861,1.2812],\"text\":\"Company B Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6836,1.1248,1.7640,1.1248,1.7640,1.2469,1.6836,1.2469],\"text\":\"B\",\"confidence\":1},{\"boundingBox\":[1.8336,1.1217,2.3734,1.1217,2.3734,1.2485,1.8336,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4506,6.9506,1.4506,6.9506,1.5931,6.0164,1.5931],\"text\":\"Frodo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4506,6.3895,1.4506,6.3895,1.5649,6.0164,1.5649],\"text\":\"Frodo\",\"confidence\":1},{\"boundingBox\":[6.4500,1.4556,6.9506,1.4556,6.9506,1.5931,6.4500,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2108,3.4067,3.2108,3.4067,3.3190,3.2589,3.3190],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.8617,3.2108,5.8617,3.3190,5.4232,3.3190],\"text\":\"100.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.4067,3.4241,3.4067,3.5323,3.2541,3.5323],\"text\":\"20\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.8622,3.4241,5.8622,3.5323,5.4232,3.5323],\"text\":\"140.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6341,3.4067,3.6341,3.4067,3.7423,3.2486,3.7423],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.8634,3.6341,5.8634,3.7423,5.4232,3.7423],\"text\":\"150.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8441,3.4067,3.8441,3.4067,3.9523,3.2589,3.9523],\"text\":\"10\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.8642,3.8441,5.8642,3.9523,5.4232,3.9523],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0546,3.4067,4.0546,3.4067,4.1627,3.2486,4.1627],\"text\":\"40\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.8644,4.0546,5.8644,4.1627,5.4232,4.1627],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.4067,4.2646,3.4067,4.3727,3.2534,4.3727],\"text\":\"60\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.8642,4.2646,5.8642,4.3727,5.4232,4.3727],\"text\":\"120.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.4067,4.4746,3.4067,4.5827,3.2514,4.5827],\"text\":\"80\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.8644,4.4746,5.8644,4.5827,5.4184,4.5827],\"text\":\"220.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.7158,4.8981,6.7158,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 3000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.7158,4.9042,6.7158,5.0131,6.1794,5.0131],\"text\":\"3000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2887,5.1245,6.2887,5.2333,5.5034,5.2333],\"text\":\"Tax: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2887,5.1245,6.2887,5.2333,5.8360,5.2333],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.3422,5.3412,6.3422,5.481,5.5034,5.481],\"text\":\"Tip: 1000.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.3422,5.3445,6.3422,5.4533,5.8110,5.4533],\"text\":\"1000.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.4825,5.5583,6.4825,5.6733,5.5034,5.6733],\"text\":\"Total: 4300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.4825,5.5645,6.4825,5.6733,5.9420,5.6733],\"text\":\"4300.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6556,3.8842,6.6556,3.8842,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Frodo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6556,2.4778,6.6556,2.4778,6.7981,1.7470,6.7981],\"text\":\"____Frodo\",\"confidence\":1},{\"boundingBox\":[2.5325,6.6581,3.8842,6.6581,3.8842,6.7981,2.5325,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/2/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/2/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/2/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/2/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/2/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/2/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/2/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/2/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/2/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/2/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/2/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/2/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/2/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/2/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/2/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/2/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/2/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/2/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/2/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/2/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/2/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/2/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/2/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/2/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9960,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPage[1].json deleted file mode 100644 index 4ef460c913a17..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPage[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a8241d26-d677-47b3-8b40-7aa8043f3f6d", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "109", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c36bc228-a02a-44fb-ad66-10192a1a5081", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c36bc228-a02a-44fb-ad66-10192a1a5081", - "Date" : "Wed, 07 Jul 2021 06:31:08 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c36bc228-a02a-44fb-ad66-10192a1a5081", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6020cdc1-684f-4a1c-93b3-2f94436f24a6" - }, - "Response" : { - "content-length" : "16614", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4fd5996a-71a6-4bee-8693-fba52a00a194", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:12Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/c36bc228-a02a-44fb-ad66-10192a1a5081", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f7b9bd4a-75f0-41ce-907d-64f33b610e9d" - }, - "Response" : { - "content-length" : "16614", - "x-envoy-upstream-service-time" : "128", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5efba274-050b-4d88-b965-c9bde3264ec8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:09Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:12Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPages[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPages[1].json deleted file mode 100644 index fc81ed894fcda..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithPages[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?pages=1%2C2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "83f957a7-f788-4cef-93bb-1bd9a6cccf05", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "54", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "72e13932-336b-4079-9f52-280f9b17c898", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/72e13932-336b-4079-9f52-280f9b17c898", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/72e13932-336b-4079-9f52-280f9b17c898", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "30b0c91b-7302-4e83-b2d2-dfd79dd9b010" - }, - "Response" : { - "content-length" : "16707", - "x-envoy-upstream-service-time" : "47", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b3176174-ce24-4a9d-b9ef-d96800feb634", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:13Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/72e13932-336b-4079-9f52-280f9b17c898", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9e4287d-2c0c-448d-b9be-c17d0dfa8d74" - }, - "Response" : { - "content-length" : "16707", - "x-envoy-upstream-service-time" : "77", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "469158d8-b9fd-4d86-9291-2082467cc159", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:13Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.8861,1.1217,2.3783,1.1217,2.3783,1.2812,0.8861,1.2812],\"text\":\"Company A Invoice\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8861,1.1232,1.6203,1.1232,1.6203,1.2812,0.8861,1.2812],\"text\":\"Company\",\"confidence\":1},{\"boundingBox\":[1.6696,1.1242,1.7749,1.1242,1.7749,1.2473,1.6696,1.2473],\"text\":\"A\",\"confidence\":1},{\"boundingBox\":[1.8389,1.1217,2.3783,1.1217,2.3783,1.2485,1.8389,1.2485],\"text\":\"Invoice\",\"confidence\":1}]},{\"boundingBox\":[6.0211,1.0656,7.0357,1.0656,7.0357,1.2121,6.0211,1.2121],\"text\":\"Invoice For:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0211,1.0656,6.6362,1.0656,6.6362,1.2121,6.0211,1.2121],\"text\":\"Invoice\",\"confidence\":1},{\"boundingBox\":[6.7147,1.0691,7.0357,1.0691,7.0357,1.2121,6.7147,1.2121],\"text\":\"For:\",\"confidence\":1}]},{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8791,1.4825,1.5657,1.4825,1.5657,1.6155,0.8791,1.6155],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.4503,6.8967,1.4503,6.8967,1.5931,6.0164,1.5931],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.4503,6.3392,1.4503,6.3392,1.5649,6.0164,1.5649],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3960,1.4556,6.8967,1.4556,6.8967,1.5931,6.3960,1.5931],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[6.0165,1.6707,7.1006,1.6707,7.1006,1.7854,6.0165,1.7854],\"text\":\"123 Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0165,1.6772,6.2434,1.6772,6.2434,1.7854,6.0165,1.7854],\"text\":\"123\",\"confidence\":1},{\"boundingBox\":[6.3033,1.6707,6.7463,1.6707,6.7463,1.7854,6.3033,1.7854],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.8030,1.6782,7.1006,1.6782,7.1006,1.7854,6.8030,1.7854],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[0.8852,1.8460,1.713,1.8460,1.713,1.9554,0.8852,1.9554],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,1.8472,1.1203,1.8472,1.1203,1.9554,0.8852,1.9554],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1777,1.8460,1.5022,1.8460,1.5022,1.9554,1.1777,1.9554],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.5558,1.8472,1.713,1.8472,1.713,1.9554,1.5558,1.9554],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0164,1.8910,6.9793,1.8910,6.9793,2.0275,6.0164,2.0275],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0164,1.8910,6.6861,1.8910,6.6861,2.0275,6.0164,2.0275],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[6.7408,1.8982,6.9793,1.8982,6.9793,2.0044,6.7408,2.0044],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[0.891,2.0610,1.8537,2.0610,1.8537,2.1975,0.891,2.1975],\"text\":\"Redmond, WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.891,2.0610,1.5605,2.0610,1.5605,2.1975,0.891,2.1975],\"text\":\"Redmond,\",\"confidence\":1},{\"boundingBox\":[1.6152,2.0682,1.8537,2.0682,1.8537,2.1744,1.6152,2.1744],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0105,2.1187,6.9371,2.1187,6.9371,2.2254,6.0105,2.2254],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8852,2.2887,1.8119,2.2887,1.8119,2.3954,0.8852,2.3954],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.0018,1.3842,3.0018,1.3842,3.1090,1.0943,3.1090],\"text\":\"Item\",\"confidence\":1}]},{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2527,2.9996,3.8367,2.9996,3.8367,3.1371,3.2527,3.1371],\"text\":\"Quantity\",\"confidence\":1}]},{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4230,2.9996,5.7372,2.9996,5.7372,3.1090,5.4230,3.1090],\"text\":\"Price\",\"confidence\":1}]},{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0832,3.2118,1.174,3.2118,1.174,3.3180,1.0832,3.3180],\"text\":\"A\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.2116,3.3202,3.2116,3.3202,3.3176,3.2589,3.3176],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.2108,5.7784,3.2108,5.7784,3.3190,5.4232,3.3190],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.4256,1.1637,3.4256,1.1637,3.5310,1.0943,3.5310],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2541,3.4241,3.3199,3.4241,3.3199,3.5310,3.2541,3.5310],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.4241,5.7789,3.4241,5.7789,3.5323,5.4232,3.5323],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0882,3.6343,1.1647,3.6343,1.1647,3.7421,1.0882,3.7421],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,3.6351,3.3244,3.6351,3.3244,3.7413,3.2486,3.7413],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.6341,5.7800,3.6341,5.7800,3.7423,5.4232,3.7423],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,3.8456,1.1753,3.8456,1.1753,3.9510,1.0943,3.9510],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2589,3.8450,3.3202,3.8450,3.3202,3.9510,3.2589,3.9510],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,3.8441,5.7809,3.8441,5.7809,3.9523,5.4232,3.9523],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.0561,1.153,4.0561,1.153,4.1614,1.0943,4.1614],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2486,4.0556,3.3244,4.0556,3.3244,4.1617,3.2486,4.1617],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.0546,5.7810,4.0546,5.7810,4.1627,5.4232,4.1627],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0943,4.2661,1.1497,4.2661,1.1497,4.3717,1.0943,4.3717],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2534,4.2646,3.3226,4.2646,3.3226,4.3727,3.2534,4.3727],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4232,4.2646,5.7809,4.2646,5.7809,4.3727,5.4232,4.3727],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0877,4.4746,1.1735,4.4746,1.1735,4.5827,1.0877,4.5827],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2514,4.4746,3.3224,4.4746,3.3224,4.5827,3.2514,4.5827],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4184,4.4746,5.7810,4.4746,5.7810,4.5827,5.4184,4.5827],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5075,4.8981,6.6320,4.8981,6.6320,5.0131,5.5075,5.0131],\"text\":\"Subtotal: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5075,4.8981,6.1249,4.8981,6.1249,5.0131,5.5075,5.0131],\"text\":\"Subtotal:\",\"confidence\":1},{\"boundingBox\":[6.1794,4.9042,6.6320,4.9042,6.6320,5.0131,6.1794,5.0131],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.1245,6.2022,5.1245,6.2022,5.2333,5.5034,5.2333],\"text\":\"Tax: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.1263,5.7812,5.1263,5.7812,5.2333,5.5034,5.2333],\"text\":\"Tax:\",\"confidence\":1},{\"boundingBox\":[5.8360,5.1245,6.2022,5.1245,6.2022,5.2333,5.8360,5.2333],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.3412,6.2587,5.3412,6.2587,5.481,5.5034,5.481],\"text\":\"Tip: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.3412,5.7515,5.3412,5.7515,5.481,5.5034,5.481],\"text\":\"Tip:\",\"confidence\":1},{\"boundingBox\":[5.8110,5.3445,6.2587,5.3445,6.2587,5.4533,5.8110,5.4533],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5034,5.5583,6.3987,5.5583,6.3987,5.6733,5.5034,5.6733],\"text\":\"Total: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5034,5.5583,5.8915,5.5583,5.8915,5.6733,5.5034,5.6733],\"text\":\"Total:\",\"confidence\":1},{\"boundingBox\":[5.9420,5.5645,6.3987,5.5645,6.3987,5.6733,5.9420,5.6733],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.6553,3.8342,6.6553,3.8342,6.7981,1.0055,6.7981],\"text\":\"Signature: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.6581,1.6987,6.6581,1.6987,6.7981,1.0055,6.7981],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.7470,6.6553,2.4278,6.6553,2.4278,6.7981,1.7470,6.7981],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.4823,6.6581,3.8342,6.6581,3.8342,6.7981,2.4823,6.7981],\"text\":\"Baggins__________\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.7276,6.6490,2.0720,6.6490,2.0720,6.8040,1.7276,6.8040],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarksFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarksFromUrl[1].json deleted file mode 100644 index 82d26c728acd5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarksFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dd36ceda-a9bf-4090-a11e-c823f9a8c394", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "360", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "392f04da-03f1-493e-8be1-a2cbcdfa9074", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/392f04da-03f1-493e-8be1-a2cbcdfa9074", - "Date" : "Wed, 07 Jul 2021 06:30:28 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/392f04da-03f1-493e-8be1-a2cbcdfa9074", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1f2a1249-fd2b-4104-b4fd-d4635a88408a" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fe610b63-eccf-41ee-9b61-25b67546ab61", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/392f04da-03f1-493e-8be1-a2cbcdfa9074", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2c3147b7-35a0-4a2e-8397-a76e29cc0316" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a4f2d517-6733-40e6-b815-a0690f54adae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:31Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarks[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarks[1].json deleted file mode 100644 index 4d5f5abaafb1c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContentWithSelectionMarks[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "04dbd372-dabf-455d-8581-13587a9d06f4", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "128", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4468387e-8ef8-48dc-9930-868fc3b83873", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4468387e-8ef8-48dc-9930-868fc3b83873", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4468387e-8ef8-48dc-9930-868fc3b83873", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7a78c360-6780-4f1d-93e7-0739b54fc954" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "55", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c32740f0-e185-4a29-96e1-c583931ab598", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:52Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/4468387e-8ef8-48dc-9930-868fc3b83873", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "32141c29-e051-4d0c-8580-987ce458976a" - }, - "Response" : { - "content-length" : "34139", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b320bf8f-13fc-4088-8cc3-f31a675d9f84", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:52Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.6970,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.8260,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.7370,4.3860,0.7370,4.3860,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1000,3.3832,1.1000],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1000,3.6851,1.1000],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1000,4.0571,1.1000],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1000,4.3323,1.1000],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.7560,1.0062,4.7560,1.1000,4.5886,1.1000],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.3330,2.4417,2.3330],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.8560,2.2182,4.0615,2.2182,4.0615,2.3330,3.8560,2.3330],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.3330,4.1098,2.3330],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.7530,2.2182,5.2052,2.2182,5.2052,2.3330,4.7530,2.3330],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.2560,2.2185,6.0557,2.2185,6.0557,2.3325,5.2560,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.1860,3.0269,5.1860,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.3570,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.1430,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.1600,3.5151,1.5019,3.5151,1.5019,3.6168,1.1600,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.5500,3.5209,1.6753,3.5209,1.6753,3.6168,1.5500,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.5390,3.0909,3.5390,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.5390,4.3377,3.5390,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.5390,4.6247,3.5390,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.5010,3.5138,5.5751,3.5138,5.5751,3.6150,5.5010,3.6150],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.5390,5.8539,3.5390,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.5390,6.6562,3.5390,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.5390,6.9940,3.5390,6.9940,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.0360,3.5128,7.4009,3.5128,7.4009,3.6438,7.0360,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.3730,3.6789,7.3730,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.3640,3.6792,3.6047,3.6792,3.6047,3.7819,3.3640,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.3730,3.6801,7.3730,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.2220,3.8468,1.5826,3.8468,1.5826,3.9486,1.2220,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.1440,3.8456,5.1440,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.9750,4.2094,5.9750,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.8070,4.3655,2.8070,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.0680,3.5656,5.0680],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.0670,3.5656,5.0670],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.0680,4.3295,5.0680],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.0340,5.0848,5.0340],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.0340,5.0848,5.0340],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.0340,5.6202,5.0340],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.0340,5.8088,5.0340],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.4950,5.4285,1.4950,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.5020,5.7604,3.2429,5.7604,3.2429,5.8923,2.5020,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.5020,5.7621,2.7903,5.7621,2.7903,5.8648,2.5020,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.7840,7.5307,5.7840],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.7850,7.8166,5.7850],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.9550,5.2262,5.9550],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.9820,5.5744,5.9820],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.4170,5.8562,6.4170,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.8700,5.8542,6.8700,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.8090,5.8181,7.8090,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.8090,5.8181,7.8090,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.9180,7.3783,5.9180],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.2980,6.0376,1.8846,6.0376,1.8846,6.1393,1.2980,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.3570,6.2792,1.3570,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8920,6.5399,1.1815,6.5399,1.1815,6.6721,0.8920,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.0100,6.5747,2.0100,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.6450,4.2363,6.6450],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.6450,6.7385,6.6450],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.0120,4.0467,8.0120],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.4420,7.8916,4.5825,7.8916,4.5825,7.9982,4.4420,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.0120,4.6708,8.0120],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.0120,5.2259,8.0120],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.0120,5.4691,8.0120],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.0120,6.0082,8.0120],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.1190,8.0771,1.4992,8.0771,1.4992,8.1636,1.1190,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.9400,8.0771,1.9400,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.9750,8.0771,2.2103,8.0771,2.2103,8.1895,1.9750,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.8910,8.2595,2.4354,8.2786,2.4354,8.5412,1.8910,8.5556],\"text\":\"John\",\"confidence\":0.870},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.6600,8.5205,6.1697,8.5205,6.1697,8.5281,5.6600,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.7270,1.7087,8.7270],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.1680,8.6246,2.4850,8.6246,2.4850,8.7284,2.1680,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.7270,3.2268,8.7270],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.5920,8.6300,3.6791,8.6300,3.6791,8.7056,3.5920,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.7270,3.7147,8.7270],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.3230,4.3584,9.3230,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.4380,1.9774,9.4380],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.6950,9.3230,4.3584,9.3230,4.3584,9.4677,2.6950,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.7750,3.9960,9.7750,3.9960,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.7900,4.1168,9.7900,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.4790,9.7741,4.4790,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContent[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContent[1].json deleted file mode 100644 index 6e40959586da6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeContent[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3889149a-b092-4b06-8b59-45f375f7f4b5", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "227", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "337ea69e-72c5-4236-9026-d9ceb2f248b6", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/337ea69e-72c5-4236-9026-d9ceb2f248b6", - "Date" : "Wed, 07 Jul 2021 06:32:43 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/337ea69e-72c5-4236-9026-d9ceb2f248b6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3f7aa391-88c0-4ef1-a5ae-e8a9a54d0603" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "116", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "62bab532-26a7-401f-a10c-bb0ecb507b83", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/337ea69e-72c5-4236-9026-d9ceb2f248b6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a46aac17-0d7d-4cdc-8507-9c70c2c0a963" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a64fed32-6c0d-45d6-b95e-2840a7351d8b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:46Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormDamagedPdf[1].json deleted file mode 100644 index 373a77402216a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormDamagedPdf[1].json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "efff82fd-91ed-489e-9962-c1000465c8ee", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "717", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e73216b-a8aa-4b08-9b31-9c91a5c375a9", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:07 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "29397cf1-aa7f-4d69-8c50-646346f1373d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a9dda0c0-cc1c-4b7e-afb1-47574a717e64", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5b648762-9345-4c1d-80af-62c82d03bf79\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:08Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ca3d52cc-7aab-4a54-8bdd-f662b6e243b2" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "98e65afa-a101-4974-8a1d-a8bde7471f8b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5b648762-9345-4c1d-80af-62c82d03bf79\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:08Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35cae23b-4b6b-4bb2-b402-8e2f1998e700" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "32c39ea2-ff6a-4111-a11e-62b81be247c2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5b648762-9345-4c1d-80af-62c82d03bf79\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:21Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9a1955a6-0cf7-4dbf-b232-15bf3a0be54e" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b683ad27-9d07-40b0-9056-08fbddcf260a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"5b648762-9345-4c1d-80af-62c82d03bf79\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:21Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/5b648762-9345-4c1d-80af-62c82d03bf79/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8c23ce9a-21b0-4e66-8be5-2f13e3335d0f", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "57", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fac6cbbf-980d-42b2-9f79-231522fce5ab", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1000\",\"message\":\"Invalid input file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlLabeledDataWithNullModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 6aaa5592a22b6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "0cb515d5-e6dd-4cb2-8f0c-2a6f568ebe83", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "124", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a14a449d-4a5c-4a71-a90e-3f4703692c54", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready, Model Id: 00000000-0000-0000-0000-000000000000\"}}", - "Date" : "Tue, 11 May 2021 21:29:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidSourceUrl[1].json deleted file mode 100644 index 5efcef8942734..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidSourceUrl[1].json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aa60839c-a337-4698-a7d8-14e4de2ce033", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "433", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "45cc0432-59c5-4c71-8e31-40f29ccf2a04", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92dba96a-8951-4e00-8e25-f14f849bf05b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92dba96a-8951-4e00-8e25-f14f849bf05b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8f0b8f94-08f8-4678-843d-c22eca0d3947" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "01439014-8fc4-4d9a-8be0-988e7c763ec9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92dba96a-8951-4e00-8e25-f14f849bf05b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92dba96a-8951-4e00-8e25-f14f849bf05b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6a033434-d42b-4eed-aca9-7caeaa2c13cb" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "149cbf8a-61b6-4874-a65d-95644c305eae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92dba96a-8951-4e00-8e25-f14f849bf05b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:20Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92dba96a-8951-4e00-8e25-f14f849bf05b/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c344070e-8b93-4703-b40c-1cd8aba0b563", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "76", - "x-envoy-upstream-service-time" : "46", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0a9b5ace-9ff5-4f8e-987b-458edb904c92", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1003\",\"message\":\"Parameter 'Source' is not a valid Uri.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidStatus[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidStatus[1].json deleted file mode 100644 index 57edb4d2be778..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormInvalidStatus[1].json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0539531d-793c-47e3-9218-d41d140272bb", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "800", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4544b1c8-b302-437a-9869-0f5ae9c6296c", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:39 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/af232fec-f6ca-4c73-b1b6-ba228b12d0fb" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/af232fec-f6ca-4c73-b1b6-ba228b12d0fb?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6103d75-3779-430a-94c2-f73906286676" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5df325e0-eaef-48b5-9138-4906cbb948f3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"af232fec-f6ca-4c73-b1b6-ba228b12d0fb\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:42Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/af232fec-f6ca-4c73-b1b6-ba228b12d0fb?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "254043a4-5140-4cc3-bd7f-adfa240d6054" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "957fd05b-bb59-47ed-b0c7-4bc56fb7acfd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"af232fec-f6ca-4c73-b1b6-ba228b12d0fb\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:42Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/af232fec-f6ca-4c73-b1b6-ba228b12d0fb/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aafffdde-849a-403c-b48e-aa640a20a957", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "197", - "x-envoy-upstream-service-time" : "1071", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "91d82c7b-195f-4a66-ac85-7d740534e3bf", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"2001\",\"message\":\"Failed to download the image from the submitted URL. The URL may either be invalid or the server hosting the image is experiencing some technical difficulties.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:46 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "UserResourceNotAvailable" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json deleted file mode 100644 index 977498d657e78..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataExcludeFieldElements[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc5e83b1-cac2-4988-9061-f25854e5edca", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1082", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "703303d5-be4b-40aa-a4b7-fa77943298d6", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:42 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3d2774bf-e72c-465b-8cc1-4d27c1ae4e48" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "248", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66921ce7-8194-4654-8d9f-5bc59bccc6ba", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c1c80d34-8477-4c5c-b601-2b4191b38a57" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bc054b3e-99e5-4d91-9041-64a3080d16be", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a0ac22ff-274c-46b3-bb04-3c17c600ce01", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "137", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7b25d655-6c14-449f-b897-25f99545daf3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5/analyzeresults/f3f3bc22-6507-4571-b520-5d3629f213c9", - "Date" : "Wed, 07 Jul 2021 06:27:50 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5/analyzeResults/f3f3bc22-6507-4571-b520-5d3629f213c9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f4e75ed9-0e85-4c8f-a392-8ed197283b04" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0fddf159-db17-4f72-8c61-c3de8af61a7a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:27:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:54Z\"}", - "Date" : "Wed, 07 Jul 2021 06:27:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5/analyzeResults/f3f3bc22-6507-4571-b520-5d3629f213c9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4c907bf2-c438-4956-8ce6-d77bddc14482" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "141", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c450c5a6-c83b-4269-8fa8-198f00ff8a32", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:57Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"modelId\":\"75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/75f19b2e-913f-4bfa-81c6-0597d7cb84a5/analyzeResults/f3f3bc22-6507-4571-b520-5d3629f213c9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c293b997-67fe-41ef-8ff7-6b6f6872be2c" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "70b75f24-bc84-4242-b51c-b47748dd81bf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:57Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"modelId\":\"75f19b2e-913f-4bfa-81c6-0597d7cb84a5\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json deleted file mode 100644 index 223eadf934e96..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithBlankPdfContentType[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "deb4bf55-627a-4c0f-b6d2-b053ebddf920", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "618", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99cf0556-9e23-4da5-8311-087140d72d7c", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:07 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "032b023f-8aae-4069-8756-3b6f5ba58a68" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "567ba0ef-4709-4820-acbb-b6c576a13fbc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"581d10b5-ddf7-419f-b734-95c464815e78\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "95b2a06c-9a4a-44a4-9088-429ae0c7364e" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2bca9de5-7f26-45ae-ab81-714bcb78ebe3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"581d10b5-ddf7-419f-b734-95c464815e78\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9f05916f-cada-4706-8460-52f5af90d276", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "70", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8196134a-b28f-4850-a228-5f1be1c051e3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78/analyzeresults/fd0558f0-0800-47d9-af69-d1f6aca4b4fa", - "Date" : "Wed, 07 Jul 2021 06:28:14 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78/analyzeResults/fd0558f0-0800-47d9-af69-d1f6aca4b4fa", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "54071f94-8f7b-4b29-adb4-c98ad1ffa187" - }, - "Response" : { - "content-length" : "1195", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "673fa4d9-0619-4fb2-bb12-d64a1ffd1a04", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:581d10b5-ddf7-419f-b734-95c464815e78\",\"modelId\":\"581d10b5-ddf7-419f-b734-95c464815e78\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.213},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.213},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.213},\"Total\":{\"type\":\"string\",\"confidence\":0.213},\"Tax\":{\"type\":\"string\",\"confidence\":0.213},\"Email\":{\"type\":\"string\",\"confidence\":0.213},\"Merchant\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.213},\"Quantity\":{\"type\":\"number\",\"confidence\":0.213},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.213},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.213},\"Website\":{\"type\":\"string\",\"confidence\":0.213},\"VendorName\":{\"type\":\"string\",\"confidence\":0.213}},\"docTypeConfidence\":0.001}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/581d10b5-ddf7-419f-b734-95c464815e78/analyzeResults/fd0558f0-0800-47d9-af69-d1f6aca4b4fa", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ba3fec09-3268-4540-ad79-68eb506b7892" - }, - "Response" : { - "content-length" : "1195", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fa6acf3c-2716-4ee4-8d17-a6494b73a126", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:581d10b5-ddf7-419f-b734-95c464815e78\",\"modelId\":\"581d10b5-ddf7-419f-b734-95c464815e78\",\"pageRange\":[1,1],\"fields\":{\"Signature\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyPhoneNumber\":{\"type\":\"string\",\"confidence\":0.213},\"PurchaseOrderNumber\":{\"type\":\"string\",\"confidence\":0.213},\"DatedAs\":{\"type\":\"string\",\"confidence\":0.213},\"Total\":{\"type\":\"string\",\"confidence\":0.213},\"Tax\":{\"type\":\"string\",\"confidence\":0.213},\"Email\":{\"type\":\"string\",\"confidence\":0.213},\"Merchant\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyName\":{\"type\":\"string\",\"confidence\":0.213},\"CompanyAddress\":{\"type\":\"string\",\"confidence\":0.213},\"Quantity\":{\"type\":\"number\",\"confidence\":0.213},\"PhoneNumber\":{\"type\":\"string\",\"confidence\":0.213},\"Subtotal\":{\"type\":\"string\",\"confidence\":0.213},\"Website\":{\"type\":\"string\",\"confidence\":0.213},\"VendorName\":{\"type\":\"string\",\"confidence\":0.213}},\"docTypeConfidence\":0.001}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index b8be8f7e59bc8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66c1171e-7817-49cc-bc0c-c71da86509df", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "698", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d4c20a7b-84dd-4407-ab89-a0ecfdb07329", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:35 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1137eaa4-5636-4747-a7dc-6cc2ca853685" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "25271806-e0a9-4ae3-923f-f69d61cc08f5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"46297f34-73a3-4caa-9eac-3be619fae80f\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:35Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "54117713-40cd-43ff-a9e2-daa40ea9b188" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "beb2e152-c146-4516-bd51-dfea42b73b51", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"46297f34-73a3-4caa-9eac-3be619fae80f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:41Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "40306af7-8676-4f98-b2eb-78691763b96e" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d1b92b20-d22c-4d06-99ba-95eb8b4a2813", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"46297f34-73a3-4caa-9eac-3be619fae80f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:41Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9fe3b782-b922-4034-82fe-e6461dc42fc4", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "84", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5b951a2f-a084-4edc-ac07-8babffe89743", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f/analyzeresults/b3595892-c2f2-43ed-8e41-00236924eaea", - "Date" : "Wed, 07 Jul 2021 06:32:46 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f/analyzeResults/b3595892-c2f2-43ed-8e41-00236924eaea", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "753b9613-0cf7-489d-806f-940ed5f62db8" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0ceab3b7-b0b4-4b69-8fcc-b2b6d1d559ae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:51Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:46297f34-73a3-4caa-9eac-3be619fae80f\",\"modelId\":\"46297f34-73a3-4caa-9eac-3be619fae80f\",\"pageRange\":[1,1],\"fields\":{\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/46297f34-73a3-4caa-9eac-3be619fae80f/analyzeResults/b3595892-c2f2-43ed-8e41-00236924eaea", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e739d7ed-e2fc-4ff7-a360-4416ff7e68ef" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f87d336e-680e-4161-8c3f-836863a6eec7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:51Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:46297f34-73a3-4caa-9eac-3be619fae80f\",\"modelId\":\"46297f34-73a3-4caa-9eac-3be619fae80f\",\"pageRange\":[1,1],\"fields\":{\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithEmptyModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json deleted file mode 100644 index 1e9636381d43f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithJpgContentType[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7c511474-2b27-4bbe-bb10-6c37fb09fd1e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "413", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9c3355f6-2381-4596-b705-df6f3ac8f945", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:00 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "68dda7d8-3d9c-46ff-9e41-36b3ab6be46b" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1cee37ce-5c05-4524-829b-7d3eb409ed97", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "041c9610-ccdd-4446-aac6-df4a051b74b3" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e8cb94e9-6da4-4d62-b60d-bb8ec8bbf103", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:00Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:03Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "00639c87-67f8-4b7e-b9f2-c5727f556495", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "70", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "51d6282e-e0fa-4ae2-a434-b77cf9e0ae4e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf/analyzeresults/dede8383-3a30-4522-9d2f-526270788c0c", - "Date" : "Wed, 07 Jul 2021 06:32:06 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf/analyzeResults/dede8383-3a30-4522-9d2f-526270788c0c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c2cd0889-2957-4e0a-b232-724de7582153" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3189353b-1819-4e5f-9dbb-788ebc2e9922", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:07Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:10Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"modelId\":\"8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"pageRange\":[1,1],\"fields\":{\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf/analyzeResults/dede8383-3a30-4522-9d2f-526270788c0c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4ba6a646-387f-47b2-84e8-4eaa03f7b6f8" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a3893941-1488-4021-a144-c444a236212a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:07Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:10Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"modelId\":\"8e2253d3-c4c8-4f92-ad6d-d12f25eb1cbf\",\"pageRange\":[1,1],\"fields\":{\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json deleted file mode 100644 index 72c7ac4665819..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullFormData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "660cc455-943d-469a-a43b-2e468953079e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "455", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "141f4ba1-d22b-43e9-8471-94af09a56d73", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:37 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/94beb5ae-2e23-46d7-8c67-01bfb74852aa" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/94beb5ae-2e23-46d7-8c67-01bfb74852aa?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "84e3c4f9-06b6-4419-b479-eb32f7d1231a" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ba0a3747-8384-4d6a-8f1b-7487fcaaff86", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"94beb5ae-2e23-46d7-8c67-01bfb74852aa\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:40Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/94beb5ae-2e23-46d7-8c67-01bfb74852aa?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5c5812ff-5346-46d4-b83d-489adb8f3826" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bfef66ab-8878-470c-8016-7d14fcb49b15", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"94beb5ae-2e23-46d7-8c67-01bfb74852aa\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:40Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithNullModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json deleted file mode 100644 index 3a1c5bda791c6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledDataWithSelectionMark[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aba2adc5-4df4-45bc-9caf-c3144a4d1a1a", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "734", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5156bc88-c128-4e98-95d4-5bb9b05c5e3f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:30 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9a2aa269-2b0e-4aaf-929b-0c9086729ebc" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7d179d88-77a6-4b22-bd5a-9d7cd0ade5eb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:34Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "961d60b0-8405-4e70-aaa7-c2b80a7a1be2" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b6f6c4c9-2137-40b3-adfa-cf70126bc6b1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:34Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c2910c7-3211-42c4-b140-40ad240cbc45", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "79", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a84f99d9-4d5f-4855-ba79-898e0c96d5fa", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91/analyzeresults/719b943e-d9b5-4f48-a418-04016cabc0bb", - "Date" : "Wed, 07 Jul 2021 06:32:37 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91/analyzeResults/719b943e-d9b5-4f48-a418-04016cabc0bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "aca8603e-be1a-4af0-b6ce-292c0331cf41" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6aa68cac-1333-45fa-82c6-a77df3c90445", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:41Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"modelId\":\"f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"pageRange\":[1,1],\"fields\":{\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]},\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f9e8c047-1005-44a7-8f46-17b2bd87ec91/analyzeResults/719b943e-d9b5-4f48-a418-04016cabc0bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f3a8028c-f28e-4934-8306-a27b5747a186" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "49b0c31c-5f11-4f25-8b06-1f1fce06b32e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:41Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"modelId\":\"f9e8c047-1005-44a7-8f46-17b2bd87ec91\",\"pageRange\":[1,1],\"fields\":{\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]},\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledData[1].json deleted file mode 100644 index 24279b4f4b078..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormLabeledData[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "087f985f-b55f-4f2b-9583-18d6c31092cb", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "416", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b1f1eada-a50b-440a-9943-38de5fa4b6c9", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:22 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c85452c2-799c-48bb-9d61-bfe2281055a3" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b3a0b7d8-9d76-4f58-80d5-709087349645", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:22Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "05d88f0c-a1ff-4f85-b737-4fc595e3f13e" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2b567df7-b1cd-4ab2-9931-d0698efecb16", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:27Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f0392b42-4be9-4046-9f58-16552f9b278a" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "966e7bcb-e8f6-4eb5-a9ca-4b4c305e192e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:22Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:27Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e132490f-9d6c-414f-9615-b43ed1ecf79c", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "81", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3ee28b57-5ac0-4c5d-9659-548da5ae9149", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59/analyzeresults/2f76905f-1f31-4147-a22b-54d5c49d8275", - "Date" : "Wed, 07 Jul 2021 06:32:33 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59/analyzeResults/2f76905f-1f31-4147-a22b-54d5c49d8275", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bfeb6035-237c-425c-ba3b-97019d52c41e" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "87312f9e-115f-4e83-bddd-e238b65b9a05", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:38Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"modelId\":\"484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/484cc4b2-6bf6-4926-8268-2c1d5d27ec59/analyzeResults/2f76905f-1f31-4147-a22b-54d5c49d8275", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "364348e6-feca-4bac-9592-12adbfce4123" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a1bf0e0c-dd25-4975-84f9-c0b8458183cb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:38Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"modelId\":\"484cc4b2-6bf6-4926-8268-2c1d5d27ec59\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageLabeled[1].json deleted file mode 100644 index b1c0a54874a1c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageLabeled[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "98ae25b6-4413-47cd-88ec-d0877626341e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "411", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "12d4a862-79e0-4fbc-82c7-477530737a09", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:15 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d826eea4-77d8-46df-b16c-33c2e3da1014" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dca69ea4-f402-49f1-8a3e-76303e738f13", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2f0dba4d-2f52-444d-9114-b773568ce533\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:19Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6aec6c20-8bc1-4498-ab05-a85021c56c8b" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "169d74ed-44cd-423f-bf3d-16f027ad4565", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2f0dba4d-2f52-444d-9114-b773568ce533\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:19Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e4129890-49b5-427a-b664-34fcafa52e47", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "81", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a7b97f1d-8915-46bb-87a8-505f8d9bd32c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533/analyzeresults/b56b159a-53b3-4fce-9a90-99686e684326", - "Date" : "Wed, 07 Jul 2021 06:32:21 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533/analyzeResults/b56b159a-53b3-4fce-9a90-99686e684326", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "55b8dbc4-db88-426f-bee2-1f72d9a09870" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "95d888f6-eada-4c8c-b46f-9f0a820f0432", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:2f0dba4d-2f52-444d-9114-b773568ce533\",\"modelId\":\"2f0dba4d-2f52-444d-9114-b773568ce533\",\"pageRange\":[1,3],\"fields\":{\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2f0dba4d-2f52-444d-9114-b773568ce533/analyzeResults/b56b159a-53b3-4fce-9a90-99686e684326", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "77fc6fe7-730b-4d21-8ea4-29fb5fa32dc8" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "370bef51-51aa-4bdb-a944-c9753d32d58a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:2f0dba4d-2f52-444d-9114-b773568ce533\",\"modelId\":\"2f0dba4d-2f52-444d-9114-b773568ce533\",\"pageRange\":[1,3],\"fields\":{\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageUnlabeled[1].json deleted file mode 100644 index fcfefde591492..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormMultiPageUnlabeled[1].json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6c2421d5-2fdf-4d71-ac85-a5a163d268b0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "414", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "103f2d36-ae20-4d07-aff1-c075d15003d6", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:31 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0bc76566-c1c6-4faf-947d-e4d41fc292c2" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0178cd8f-f07f-4b92-828e-1784829bf981", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9c39896-4c20-48ff-b12f-45d73734b20a" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8f43d7b4-4fb6-40b3-b62f-585ec9ea6dcd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fde16993-5517-4ce2-b56d-cee0f4dabbf6" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "76ad9d06-65ac-4ff6-9247-a472d4bbc6a2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "eb394f8a-c6d2-42e2-8557-0818032d823d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6a289fe3-b113-4f79-b248-54e40578ca4e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "109fe6f2-9209-493c-ba55-2b73f1ed25fe" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b4e2ae3b-2566-449d-a750-386345867b06", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:54Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c9f4916-be64-4a98-88f4-24d15dbad0af" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "28038194-fad3-4f04-b78b-f98d3474c32c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1f1e7908-9b86-451c-b973-339c08a6e884\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:54Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "92591129-86f9-4efa-8725-88a2f4a1d94c", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "68", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8f40afaa-dce7-4700-a886-0aed7a76551e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884/analyzeresults/bb0e8bb2-19d0-45a3-93d4-28c9975e5da8", - "Date" : "Wed, 07 Jul 2021 06:32:58 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884/analyzeResults/bb0e8bb2-19d0-45a3-93d4-28c9975e5da8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6806abae-999a-4dbc-bdce-6f5b6a666f74" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1d2eba9c-8374-4d3f-8da6-57ffce55d1fc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:58Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:59Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:33:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884/analyzeResults/bb0e8bb2-19d0-45a3-93d4-28c9975e5da8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a3db4355-4588-48c8-8e81-97874d60c19c" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9dc74e61-e14b-4d5d-b4af-dd3b462c90ea", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:58Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:06Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1f1e7908-9b86-451c-b973-339c08a6e884/analyzeResults/bb0e8bb2-19d0-45a3-93d4-28c9975e5da8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b9d78c5-08e3-41e7-a683-bcca59e82ca5" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5f4363d8-ae81-42a5-b00e-cee04d5e99d1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:58Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:06Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json deleted file mode 100644 index a970ff3ada5da..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "640584ce-9db3-4969-b31e-cd40b7d39daa", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "411", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "950fac66-e9cc-4ad3-9ebb-af8632949f0d", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:30:39 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "152af0f2-e5bd-4ac6-9875-9f9b952a047d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7b071903-2a19-4629-b433-6a9f42d8f3a1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bd2f323f-75c0-4954-95ce-2ba8b17b9587\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "046b86ef-c126-46a3-adbc-3fbceb984678" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "67e8eccb-7a50-46fe-8fd3-a66cb822420b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bd2f323f-75c0-4954-95ce-2ba8b17b9587\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:30:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:40Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b4eef3e7-6ff5-40e8-b3ac-27e22f8c0012" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "60999f75-6349-4e07-a715-3066c944952c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bd2f323f-75c0-4954-95ce-2ba8b17b9587\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e14bcc6f-01a1-4035-9bc4-21c24d20c873" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ab6017c9-9f18-4c2f-8874-f03c8ccd6428", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bd2f323f-75c0-4954-95ce-2ba8b17b9587\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:30:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "17ad9a89-0946-42d1-a4e6-b81b6ea2df94", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "67", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9cfab6e7-7d61-4732-84b0-0e43e8bf74bd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyzeresults/6304521b-c87e-4ba5-b03b-7f2da0b96cfe", - "Date" : "Wed, 07 Jul 2021 06:30:55 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyzeResults/6304521b-c87e-4ba5-b03b-7f2da0b96cfe", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d297508a-6680-4bfd-8450-667964075cce" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97c9b69c-0afa-470d-ac11-9096e18acea0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:56Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:57Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyzeResults/6304521b-c87e-4ba5-b03b-7f2da0b96cfe", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2bca8f83-cccd-4286-8085-26fc08eb863a" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c82036ec-cc78-4898-b819-bcbd5907593a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:56Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:57Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:31:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyzeResults/6304521b-c87e-4ba5-b03b-7f2da0b96cfe", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2472763e-db4a-4e86-8a7e-0bdbaf51e0b2" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "89a30e02-feeb-4f3f-a98f-b6e00e9903b3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:56Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:08Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bd2f323f-75c0-4954-95ce-2ba8b17b9587/analyzeResults/6304521b-c87e-4ba5-b03b-7f2da0b96cfe", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0a2cb71-d004-4f0e-9a2f-ea335c969a0a" - }, - "Response" : { - "content-length" : "13687", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "762dc618-3720-44f7-96a4-04c40f4cb536", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:56Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:08Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [{\"text\": \"Contoso Suites\", \"boundingBox\": [0.5306, 1.1394, 2.5861, 1.1394, 2.5861, 1.3641, 0.5306, 1.3641], \"words\": [{\"text\": \"Contoso\", \"boundingBox\": [0.5306, 1.1424, 1.5972, 1.1424, 1.5972, 1.3611, 0.5306, 1.3611], \"confidence\": 0.993}, {\"text\": \"Suites\", \"boundingBox\": [1.7014, 1.1354, 2.5861, 1.1354, 2.5861, 1.3681, 1.7014, 1.3681], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"confidence\": 0.992}]}, {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [4.3722, 1.5069, 4.8056, 1.5069, 4.8056, 1.6319, 4.3722, 1.6319], \"confidence\": 0.994}, {\"text\": \"For:\", \"boundingBox\": [4.8403, 1.5, 5.1361, 1.5, 5.1361, 1.6389, 4.8403, 1.6389], \"confidence\": 0.994}]}, {\"text\": \"First Up Consultants\", \"boundingBox\": [5.1694, 1.4976, 6.5486, 1.4976, 6.5486, 1.6458, 5.1694, 1.6458], \"words\": [{\"text\": \"First\", \"boundingBox\": [5.1694, 1.5, 5.4861, 1.5, 5.4861, 1.6458, 5.1694, 1.6458], \"confidence\": 0.996}, {\"text\": \"Up\", \"boundingBox\": [5.5111, 1.4965, 5.6875, 1.4965, 5.6875, 1.6458, 5.5111, 1.6458], \"confidence\": 0.998}, {\"text\": \"Consultants\", \"boundingBox\": [5.7333, 1.4965, 6.5486, 1.4965, 6.5486, 1.6458, 5.7333, 1.6458], \"confidence\": 0.994}]}, {\"text\": \"14564 Main St.\", \"boundingBox\": [0.8056, 1.691, 1.7083, 1.691, 1.7083, 1.8208, 0.8056, 1.8208], \"words\": [{\"text\": \"14564\", \"boundingBox\": [0.8056, 1.691, 1.1597, 1.691, 1.1597, 1.8229, 0.8056, 1.8229], \"confidence\": 0.994}, {\"text\": \"Main\", \"boundingBox\": [1.1833, 1.691, 1.5028, 1.691, 1.5028, 1.8194, 1.1833, 1.8194], \"confidence\": 0.994}, {\"text\": \"St.\", \"boundingBox\": [1.5417, 1.691, 1.7083, 1.691, 1.7083, 1.8194, 1.5417, 1.8194], \"confidence\": 0.996}]}, {\"text\": \"1234 King St\", \"boundingBox\": [5.1944, 1.6887, 6.0389, 1.6887, 6.0389, 1.8582, 5.1944, 1.8582], \"words\": [{\"text\": \"1234\", \"boundingBox\": [5.1944, 1.684, 5.4833, 1.684, 5.4833, 1.8542, 5.1944, 1.8542], \"confidence\": 0.991}, {\"text\": \"King\", \"boundingBox\": [5.5167, 1.691, 5.8444, 1.691, 5.8444, 1.8611, 5.5167, 1.8611], \"confidence\": 0.958}, {\"text\": \"St\", \"boundingBox\": [5.8778, 1.6944, 6.0389, 1.6944, 6.0389, 1.8611, 5.8778, 1.8611], \"confidence\": 0.997}]}, {\"text\": \"Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.8836, 2.0417, 1.8836, 2.0417, 2.0241, 0.7944, 2.0241], \"words\": [{\"text\": \"Saratoga,\", \"boundingBox\": [0.7944, 1.8819, 1.3889, 1.8819, 1.3889, 2.0208, 0.7944, 2.0208], \"confidence\": 0.994}, {\"text\": \"CA\", \"boundingBox\": [1.4167, 1.8854, 1.5972, 1.8854, 1.5972, 2.0278, 1.4167, 2.0278], \"confidence\": 0.996}, {\"text\": \"94588\", \"boundingBox\": [1.6417, 1.8854, 2.0417, 1.8854, 2.0417, 2.0278, 1.6417, 2.0278], \"confidence\": 0.996}]}, {\"text\": \"Redmond, WA 97624\", \"boundingBox\": [5.1875, 1.8924, 6.5528, 1.8924, 6.5528, 2.0329, 5.1875, 2.0329], \"words\": [{\"text\": \"Redmond,\", \"boundingBox\": [5.1875, 1.8924, 5.8583, 1.8924, 5.8583, 2.0312, 5.1875, 2.0312], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [5.8861, 1.8924, 6.1111, 1.8924, 6.1111, 2.0347, 5.8861, 2.0347], \"confidence\": 0.998}, {\"text\": \"97624\", \"boundingBox\": [6.1597, 1.8924, 6.5528, 1.8924, 6.5528, 2.0347, 6.1597, 2.0347], \"confidence\": 0.996}]}, {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [0.5139, 2.8646, 0.9972, 2.8646, 0.9972, 2.9931, 0.5139, 2.9931], \"confidence\": 0.987}, {\"text\": \"Number\", \"boundingBox\": [1.0306, 2.8611, 1.5833, 2.8611, 1.5833, 2.9896, 1.0306, 2.9896], \"confidence\": 0.996}]}, {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [1.9306, 2.8646, 2.3958, 2.8646, 2.3958, 2.9896, 1.9306, 2.9896], \"confidence\": 0.986}, {\"text\": \"Date\", \"boundingBox\": [2.4306, 2.8611, 2.7431, 2.8611, 2.7431, 2.9896, 2.4306, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"words\": [{\"text\": \"Invoice\", \"boundingBox\": [3.3306, 2.8611, 3.7986, 2.8611, 3.7986, 2.9931, 3.3306, 2.9931], \"confidence\": 0.972}, {\"text\": \"Due\", \"boundingBox\": [3.8333, 2.8611, 4.1042, 2.8611, 4.1042, 2.9896, 3.8333, 2.9896], \"confidence\": 0.997}, {\"text\": \"Date\", \"boundingBox\": [4.1319, 2.8611, 4.4514, 2.8611, 4.4514, 2.9896, 4.1319, 2.9896], \"confidence\": 0.994}]}, {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"words\": [{\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.996}]}, {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"words\": [{\"text\": \"VAT\", \"boundingBox\": [6.1319, 2.8611, 6.4028, 2.8611, 6.4028, 2.9896, 6.1319, 2.9896], \"confidence\": 0.997}, {\"text\": \"ID\", \"boundingBox\": [6.4375, 2.8611, 6.5667, 2.8611, 6.5667, 2.9861, 6.4375, 2.9861], \"confidence\": 0.996}]}, {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"words\": [{\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.994}]}, {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"words\": [{\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.991}]}, {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"words\": [{\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.974}]}, {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"words\": [{\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.884}]}, {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"words\": [{\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.979}]}, {\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"words\": [{\"text\": \"Page\", \"boundingBox\": [6.2056, 9.6389, 6.5694, 9.6389, 6.5694, 9.8021, 6.2056, 9.8021], \"confidence\": 0.994}]}, {\"text\": \"1 of\", \"boundingBox\": [6.8167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.8167, 9.8021], \"words\": [{\"text\": \"1\", \"boundingBox\": [6.8167, 9.6354, 6.8819, 9.6354, 6.8819, 9.8021, 6.8167, 9.8021], \"confidence\": 0.996}, {\"text\": \"of\", \"boundingBox\": [6.9167, 9.6354, 7.0972, 9.6354, 7.0972, 9.8021, 6.9167, 9.8021], \"confidence\": 0.997}]}, {\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"words\": [{\"text\": \"1\", \"boundingBox\": [7.3889, 9.6493, 7.4611, 9.6493, 7.4611, 9.7812, 7.3889, 9.7812], \"confidence\": 0.997}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": [\"#/readResults/0/lines/1/words/0\"]}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": [\"#/readResults/0/lines/4/words/0\", \"#/readResults/0/lines/4/words/1\", \"#/readResults/0/lines/4/words/2\", \"#/readResults/0/lines/6/words/0\", \"#/readResults/0/lines/6/words/1\", \"#/readResults/0/lines/6/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": [\"#/readResults/0/lines/2/words/0\", \"#/readResults/0/lines/2/words/1\"]}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\", \"#/readResults/0/lines/3/words/2\", \"#/readResults/0/lines/5/words/0\", \"#/readResults/0/lines/5/words/1\", \"#/readResults/0/lines/5/words/2\", \"#/readResults/0/lines/7/words/0\", \"#/readResults/0/lines/7/words/1\", \"#/readResults/0/lines/7/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": [\"#/readResults/0/lines/13/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"]}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": [\"#/readResults/0/lines/14/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": [\"#/readResults/0/lines/15/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": [\"#/readResults/0/lines/16/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"]}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": [\"#/readResults/0/lines/17/words/0\"]}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/9/words/0\", \"#/readResults/0/lines/9/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/11/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/12/words/0\", \"#/readResults/0/lines/12/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/13/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/14/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/15/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/16/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/17/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:31:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json deleted file mode 100644 index efae724909164..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithBlankPdfContentType[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "958e553c-8b25-4a38-86fd-4736f92d0ba4", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "406", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2ef0f48f-fce9-410f-846b-c180126c9d2e", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:50 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a3158b0a-446a-4ace-a696-6b49d0013e83" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "466828db-4c6e-4b33-832e-5d91da07423e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2b3d32b4-c693-4c67-a4fb-108b001e918c\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:51Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b706d84d-56ad-4fc3-8ff0-591e97418245" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "acf02f01-ff64-4ed8-9b80-c6a948e2bb37", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2b3d32b4-c693-4c67-a4fb-108b001e918c\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:51Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:33:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "07022a99-9106-4085-a9c6-195672dab1aa" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "77c72c9b-439b-4068-af55-853a0463861c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2b3d32b4-c693-4c67-a4fb-108b001e918c\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:33:06Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:33:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cbbe053d-ecd2-4369-bf76-956ffcef80b6" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "28ac8d66-d2b0-4739-be4d-3a25fc3616bc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2b3d32b4-c693-4c67-a4fb-108b001e918c\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:33:06Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:33:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "94d53d77-b9d1-4d17-917b-1ce01169dbdc", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "73", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1da0909a-3943-4f31-801b-762870772c0d", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c/analyzeresults/e4f6991d-1114-462d-874f-1c28f0c6b8a5", - "Date" : "Wed, 07 Jul 2021 06:33:06 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c/analyzeResults/e4f6991d-1114-462d-874f-1c28f0c6b8a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0921a170-f7fa-41bc-9f3a-4df7da6127c8" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1aa23e1b-73ab-473d-857c-e3c9d2a2b045", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:33:07Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:07Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:33:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c/analyzeResults/e4f6991d-1114-462d-874f-1c28f0c6b8a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f795aa28-7829-425f-981c-65992ab244dd" - }, - "Response" : { - "content-length" : "398", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "621e3c27-2f2c-4bd0-991f-e7dfb9b61e4c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:33:07Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:13Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2b3d32b4-c693-4c67-a4fb-108b001e918c/analyzeResults/e4f6991d-1114-462d-874f-1c28f0c6b8a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e7093326-ede4-45eb-aa39-de7bdf96dadf" - }, - "Response" : { - "content-length" : "398", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dcc1f8f7-18cb-4540-a499-7cee3c641a2b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:33:07Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:33:13Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:33:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json deleted file mode 100644 index 7ae2b17728be0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledDataWithJpgContentType[1].json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ffa4d2b1-e65d-4be0-846c-15361fadfb24", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "414", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0e22e01d-b1ee-440c-91f3-343f8014b7bb", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:50 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "03fcc254-ddb3-4534-8f39-61cec5353832" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e6b7a2c-f5f3-4272-b162-cf6697ae7441", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92977d2c-6d80-4315-b435-435d0c1be334\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2904d8d8-b00f-43f3-a819-751cba650e44" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3505fd5a-4fc6-4130-b218-f0b22bc584be", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92977d2c-6d80-4315-b435-435d0c1be334\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9f6766e-8880-45c6-bc1b-562b09b47f68" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c71f64e6-fb70-463b-82af-bceb35f5249a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92977d2c-6d80-4315-b435-435d0c1be334\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1c15893f-0110-41e8-b498-8372ac32684f" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5090b591-246d-477c-91b9-9dd6bef39a15", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92977d2c-6d80-4315-b435-435d0c1be334\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:10Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dc92803d-664c-471c-8f55-d81364c304f3" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "af21d702-dea1-4ad1-a059-772129df583c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"92977d2c-6d80-4315-b435-435d0c1be334\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:10Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "18d928d1-1b8f-429d-8cad-cdfbb826cec4", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "90", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1a14de17-de77-4aba-abe4-a9f172ab82fa", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyzeresults/abb0c859-2e56-451a-9f9b-80a5e7244bab", - "Date" : "Wed, 07 Jul 2021 06:30:12 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyzeResults/abb0c859-2e56-451a-9f9b-80a5e7244bab", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "794254e7-ff38-4a04-b856-14650627b067" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "51aba3fb-1f44-4b68-b84c-b0cee9a060b2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:12Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:13Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyzeResults/abb0c859-2e56-451a-9f9b-80a5e7244bab", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "86e024de-186d-41de-ae12-7c122f082355" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ea2a9705-8bb9-4c8c-9625-e8a06a31594b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:30:12Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:13Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:30:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyzeResults/abb0c859-2e56-451a-9f9b-80a5e7244bab", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "43909f48-4f76-4d65-9985-be9aebd6bb19" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "597efdde-8aa9-49f6-9a37-316c3af94fb8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:12Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:22Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/92977d2c-6d80-4315-b435-435d0c1be334/analyzeResults/abb0c859-2e56-451a-9f9b-80a5e7244bab", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "03c18745-1ca6-473e-9cbb-b3498c710f14" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "214a19d3-944c-409f-9673-5444158eb23f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:30:12Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:30:22Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:30:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledData[1].json deleted file mode 100644 index b32ec3cd1a271..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUnlabeledData[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d78c7f53-4231-46e8-a2c4-a2abd8a5dbe4", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "420", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8dac3280-761e-4570-857c-29df2bf67986", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "86462737-cadf-4c45-8c89-25d7fa0a44b3" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "740c6c66-ad79-4389-91f5-0739bb800571", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4bfc9cea-5672-48ca-9d4c-cae3d8d5923b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:38Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:38Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f5d03f4e-d841-4396-9239-dd170e318bb0" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "afd2b715-efb1-4699-b20a-955d645924ae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4bfc9cea-5672-48ca-9d4c-cae3d8d5923b\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:38Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:38Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "60dd87a8-9250-44bb-bef2-eaf7072ee3b5" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fc13f0b1-399b-4228-a750-323788f20d93", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4bfc9cea-5672-48ca-9d4c-cae3d8d5923b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:38Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4edbb050-4581-44ef-b4d5-acb2c9e3631b" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ac8728e7-e1c7-46df-8385-5e7f8d905d0e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4bfc9cea-5672-48ca-9d4c-cae3d8d5923b\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:38Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "53b5f7f4-a3df-41fc-b8c5-f1c1ff649ce5", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "65", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e51df0a1-bdfa-4ab3-a2e9-1e584a64765c", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b/analyzeresults/45f53d62-3274-463d-84cd-3ac2f4c1f071", - "Date" : "Wed, 07 Jul 2021 06:31:54 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b/analyzeResults/45f53d62-3274-463d-84cd-3ac2f4c1f071", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ef198bc5-5fbd-44ff-8077-6de92a675104" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ef4e20b3-9fb2-4b91-8238-75aad72ab235", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:31:55Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:31:55Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b/analyzeResults/45f53d62-3274-463d-84cd-3ac2f4c1f071", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15cda768-73d0-44fd-8024-8d68f2952e82" - }, - "Response" : { - "content-length" : "4961", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a5354b23-33b6-4ded-bd94-b5a490d70bda", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:55Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:02Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": null}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": null}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": null}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": null}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": null}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": null}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": null}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4bfc9cea-5672-48ca-9d4c-cae3d8d5923b/analyzeResults/45f53d62-3274-463d-84cd-3ac2f4c1f071", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e1cabfcf-c781-4ab8-a61e-aabfb089fb3c" - }, - "Response" : { - "content-length" : "4961", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "59caf8b7-fd48-403f-a9ca-47cf4b494727", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:31:55Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:02Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.7917, 1.5, 1.3889, 1.5, 1.3889, 1.6319, 0.7917, 1.6319], \"elements\": null}, \"value\": {\"text\": \"14564 Main St. Saratoga, CA 94588\", \"boundingBox\": [0.7944, 1.691, 2.0417, 1.691, 2.0417, 2.0241, 0.7944, 2.0241], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [4.3722, 1.5046, 5.1361, 1.5046, 5.1361, 1.6343, 4.3722, 1.6343], \"elements\": null}, \"value\": {\"text\": \"First Up Consultants 1234 King St Redmond, WA 97624\", \"boundingBox\": [5.1694, 1.4976, 6.5528, 1.4976, 6.5528, 2.0329, 5.1694, 2.0329], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Number\", \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"elements\": null}, \"value\": {\"text\": \"7689302\", \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Date\", \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"elements\": null}, \"value\": {\"text\": \"3/09/2015\", \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Invoice Due Date\", \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"elements\": null}, \"value\": {\"text\": \"6/29/2016\", \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Charges\", \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"elements\": null}, \"value\": {\"text\": \"$22,123.24\", \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"VAT ID\", \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"elements\": null}, \"value\": {\"text\": \"QR\", \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 2, \"columns\": 5, \"boundingBox\": [0.5139, 2.8611, 6.5667, 2.8611, 6.5667, 3.5382, 0.5139, 3.5382], \"cells\": [{\"text\": \"Invoice Number\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [0.5139, 2.863, 1.5833, 2.863, 1.5833, 2.9914, 0.5139, 2.9914], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Date\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [1.9306, 2.8632, 2.7431, 2.8632, 2.7431, 2.9896, 1.9306, 2.9896], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Invoice Due Date\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [3.3306, 2.8611, 4.4514, 2.8611, 4.4514, 2.9912, 3.3306, 2.9912], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Charges\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [4.7389, 2.8646, 5.2889, 2.8646, 5.2889, 2.9965, 4.7389, 2.9965], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"VAT ID\", \"rowIndex\": 0, \"columnIndex\": 4, \"boundingBox\": [6.1319, 2.8611, 6.5667, 2.8611, 6.5667, 2.9884, 6.1319, 2.9884], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"7689302\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [0.5306, 3.3993, 1.0625, 3.3993, 1.0625, 3.5243, 0.5306, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"3/09/2015\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [1.9375, 3.3993, 2.5417, 3.3993, 2.5417, 3.5243, 1.9375, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6/29/2016\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [3.3361, 3.3958, 3.9333, 3.3958, 3.9333, 3.5243, 3.3361, 3.5243], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"$22,123.24\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [5.275, 3.4097, 5.9653, 3.4097, 5.9653, 3.5382, 5.275, 3.5382], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"QR\", \"rowIndex\": 1, \"columnIndex\": 4, \"boundingBox\": [6.2194, 3.4028, 6.3861, 3.4028, 6.3861, 3.5208, 6.2194, 3.5208], \"confidence\": 0.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": null}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json deleted file mode 100644 index 24a14bc85ae5d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1becb9ec-cd5a-4ba5-9a89-c59f3a5f2db6", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "675", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0525ca29-b641-41a4-b7b0-584e2eea5ac5", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88b32c3d-cb49-42ce-9839-28fde32fafb9" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "98c5e7f2-735c-4e24-98b9-40751d339f65", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bbb990cd-4754-492d-a415-19422653acc5\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:20Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b203b600-4e19-465e-839c-abf464c03246" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "463084bb-0854-44d2-95a3-dd0f5ca135de", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"bbb990cd-4754-492d-a415-19422653acc5\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:20Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "930a0314-6429-4ff6-850c-694417d1db73", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "231", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "50d487d6-0f30-4d78-af1d-988a59affad5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5/analyzeresults/1386941b-1c67-41a4-bea2-5265f36744bb", - "Date" : "Wed, 07 Jul 2021 06:32:22 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5/analyzeResults/1386941b-1c67-41a4-bea2-5265f36744bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4b364468-39b0-4b7a-9295-c9058ed742ca" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e550cb04-1eaa-42d7-9b36-f58d1b4163e9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:32:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:26Z\"}", - "Date" : "Wed, 07 Jul 2021 06:32:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5/analyzeResults/1386941b-1c67-41a4-bea2-5265f36744bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b5170a9d-f426-4959-843c-9498a3ca3ba4" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8b90bec1-3095-48b2-9080-9a04fe745daf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:bbb990cd-4754-492d-a415-19422653acc5\",\"modelId\":\"bbb990cd-4754-492d-a415-19422653acc5\",\"pageRange\":[1,1],\"fields\":{\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/bbb990cd-4754-492d-a415-19422653acc5/analyzeResults/1386941b-1c67-41a4-bea2-5265f36744bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6449c673-1618-4f49-a18a-b99dfb3fe60e" - }, - "Response" : { - "content-length" : "28842", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92f12aae-d14d-4ddd-9029-2abbcfd6a939", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.99}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:bbb990cd-4754-492d-a415-19422653acc5\",\"modelId\":\"bbb990cd-4754-492d-a415-19422653acc5\",\"pageRange\":[1,1],\"fields\":{\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/42/words/0\"]},\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/44/words/0\"]},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993,\"elements\":[\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\",\"#/readResults/0/lines/11/words/4\"]},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622,\"elements\":[\"#/readResults/0/lines/12/words/1\",\"#/readResults/0/lines/12/words/2\",\"#/readResults/0/lines/12/words/3\",\"#/readResults/0/lines/12/words/4\",\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/13/words/2\",\"#/readResults/0/lines/13/words/3\"]},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/8/words/3\"]},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/47/words/0\"]},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/14/words/1\"]},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/1/words/0\",\"#/readResults/0/lines/1/words/1\"]},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437,\"elements\":[\"#/readResults/0/lines/45/words/0\",\"#/readResults/0/lines/45/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/26/words/0\"]},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992,\"elements\":[\"#/readResults/0/lines/3/words/2\"]},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994,\"elements\":[\"#/readResults/0/lines/6/words/2\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991,\"elements\":[\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json deleted file mode 100644 index 1a6b1b78547e9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledDataWithSelectionMark[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7f78efba-55cd-4bd5-8195-50d47af46a24", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "446", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ba83702f-1770-4c5c-8400-0ef5d63fc9b1", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:27 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "934e2885-4b29-4d2d-85c4-ff38d1becb23" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "63264634-aaae-4394-a340-5a2048967630", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"25af8bdc-cb74-4e97-a45d-d712940c1506\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:30Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1d6ba3e6-7367-4ec2-8746-74db25f9251a" - }, - "Response" : { - "content-length" : "771", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "37625b9d-b2d9-44e5-99a2-497418d2bb13", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"25af8bdc-cb74-4e97-a45d-d712940c1506\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:27Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:30Z\"},\"trainResult\":{\"averageModelAccuracy\":0.995,\"trainingDocuments\":[{\"documentName\":\"CCAuth-1.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-2.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-3.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-4.pdf\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"CCAuth-5.pdf\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"AMEX_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"MASTERCARD_SELECTION_MARK\",\"accuracy\":0.995},{\"fieldName\":\"VISA_SELECTION_MARK\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f6a1d4da-0575-434a-adff-ec2e2622ef87", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "107", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "832d6ae2-68e7-4006-b7a3-051f30b93991", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506/analyzeresults/e5b50eaf-45bd-414b-8703-971295d6b4bb", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506/analyzeResults/e5b50eaf-45bd-414b-8703-971295d6b4bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4a81126b-311c-40c8-8e0b-a355da92a7ec" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e338c275-e83a-454d-bb1b-9eac00a4fb54", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:32:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:36Z\"}", - "Date" : "Wed, 07 Jul 2021 06:32:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506/analyzeResults/e5b50eaf-45bd-414b-8703-971295d6b4bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f676a4f5-0c8b-4f1b-a066-7999228f580a" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "902ce345-6556-46c3-86ef-bf5c762538ec", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:25af8bdc-cb74-4e97-a45d-d712940c1506\",\"modelId\":\"25af8bdc-cb74-4e97-a45d-d712940c1506\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/25af8bdc-cb74-4e97-a45d-d712940c1506/analyzeResults/e5b50eaf-45bd-414b-8703-971295d6b4bb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "081540d3-203b-4fbb-ae5e-3d4caa5e0df6" - }, - "Response" : { - "content-length" : "34754", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "601ddd7d-3fab-4a5a-9536-8141bd41139d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:40Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"boundingBox\":[0.5301,0.697,2.3829,0.7018,2.3829,1.3034,0.5301,1.2986],\"text\":\"Contoso\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[0.5348,0.7066,2.3876,0.826,2.3781,1.1888,0.5587,1.3034],\"text\":\"Contoso\",\"confidence\":0.991}]},{\"boundingBox\":[3.2791,0.7167,5.0584,0.7167,5.0584,0.8109,3.2791,0.8109],\"text\":\"STATE OF CALIFORNIA: CONTOSO\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2791,0.7373,3.5799,0.7373,3.5799,0.8109,3.2791,0.8109],\"text\":\"STATE\",\"confidence\":1},{\"boundingBox\":[3.6193,0.7373,3.7481,0.7373,3.7481,0.8109,3.6193,0.8109],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[3.7831,0.737,4.386,0.737,4.386,0.8102,3.7831,0.8102],\"text\":\"CALIFORNIA:\",\"confidence\":1},{\"boundingBox\":[4.4383,0.7167,5.0584,0.7167,5.0584,0.8105,4.4383,0.8105],\"text\":\"CONTOSO\",\"confidence\":1}]},{\"boundingBox\":[3.4183,0.8618,4.9237,0.8618,4.9237,0.9561,3.4183,0.9561],\"text\":\"BUREAU OF INSURANCE\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.4183,0.8641,3.9344,0.8641,3.9344,0.9561,3.4183,0.9561],\"text\":\"BUREAU\",\"confidence\":1},{\"boundingBox\":[3.9836,0.8641,4.1487,0.8641,4.1487,0.9561,3.9836,0.9561],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1947,0.8618,4.9237,0.8618,4.9237,0.9561,4.1947,0.9561],\"text\":\"INSURANCE\",\"confidence\":1}]},{\"boundingBox\":[3.1443,1.0062,5.2024,1.0062,5.2024,1.1001,3.1443,1.1001],\"text\":\"124 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.1443,1.0073,3.333,1.0073,3.333,1.0986,3.1443,1.0986],\"text\":\"124\",\"confidence\":1},{\"boundingBox\":[3.3832,1.0077,3.6359,1.0077,3.6359,1.1,3.3832,1.1],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[3.6851,1.0062,4.0117,1.0062,4.0117,1.1,3.6851,1.1],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.0571,1.0077,4.2928,1.0077,4.2928,1.1,4.0571,1.1],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[4.3323,1.0077,4.5428,1.0077,4.5428,1.1,4.3323,1.1],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[4.5886,1.0062,4.756,1.0062,4.756,1.1,4.5886,1.1],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[4.7959,1.0073,5.2024,1.0073,5.2024,1.1001,4.7959,1.1001],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.7689,1.1509,4.5703,1.1509,4.5703,1.2694,3.7689,1.2694],\"text\":\"(650)768-2322\",\"confidence\":1}]},{\"boundingBox\":[2.4417,2.2182,6.0557,2.2182,6.0557,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION OF CREDIT CARD PAYMENT\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.4417,2.2182,3.8058,2.2182,3.8058,2.333,2.4417,2.333],\"text\":\"AUTHORIZATION\",\"confidence\":1},{\"boundingBox\":[3.856,2.2182,4.0615,2.2182,4.0615,2.333,3.856,2.333],\"text\":\"OF\",\"confidence\":1},{\"boundingBox\":[4.1098,2.2182,4.7034,2.2182,4.7034,2.333,4.1098,2.333],\"text\":\"CREDIT\",\"confidence\":1},{\"boundingBox\":[4.753,2.2182,5.2052,2.2182,5.2052,2.333,4.753,2.333],\"text\":\"CARD\",\"confidence\":1},{\"boundingBox\":[5.256,2.2185,6.0557,2.2185,6.0557,2.3325,5.256,2.3325],\"text\":\"PAYMENT\",\"confidence\":1}]},{\"boundingBox\":[3.3522,3.0269,5.186,3.0269,5.186,3.2274,3.3522,3.2274],\"text\":\"CONTOSO BANK\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[3.357,3.0317,4.4267,3.0269,4.4267,3.2274,3.3618,3.2322],\"text\":\"CONTOSO\",\"confidence\":0.985},{\"boundingBox\":[4.5365,3.0269,5.143,3.0317,5.1382,3.2274,4.5365,3.2274],\"text\":\"BANK\",\"confidence\":0.994}]},{\"boundingBox\":[0.8106,3.5128,7.4009,3.5128,7.4009,3.6446,0.8106,3.6446],\"text\":\"Fees owed to this Department may be paid by the use of a credit card. If you wish to pay your fee(s)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8106,3.5151,1.1118,3.5151,1.1118,3.6168,0.8106,3.6168],\"text\":\"Fees\",\"confidence\":1},{\"boundingBox\":[1.16,3.5151,1.5019,3.5151,1.5019,3.6168,1.16,3.6168],\"text\":\"owed\",\"confidence\":1},{\"boundingBox\":[1.55,3.5209,1.6753,3.5209,1.6753,3.6168,1.55,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[1.7196,3.5141,1.9602,3.5141,1.9602,3.6168,1.7196,3.6168],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[2.0143,3.5151,2.7723,3.5151,2.7723,3.6437,2.0143,3.6437],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[2.8228,3.539,3.0909,3.539,3.0909,3.6446,2.8228,3.6446],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[3.1377,3.5151,3.2877,3.5151,3.2877,3.6168,3.1377,3.6168],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[3.3395,3.5141,3.6084,3.5141,3.6084,3.6437,3.3395,3.6437],\"text\":\"paid\",\"confidence\":1},{\"boundingBox\":[3.6635,3.5151,3.8159,3.5151,3.8159,3.6446,3.6635,3.6446],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[3.8565,3.5151,4.0598,3.5151,4.0598,3.6168,3.8565,3.6168],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[4.1112,3.539,4.3377,3.539,4.3377,3.6168,4.1112,3.6168],\"text\":\"use\",\"confidence\":1},{\"boundingBox\":[4.3863,3.5138,4.5109,3.5138,4.5109,3.6168,4.3863,3.6168],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.5554,3.539,4.6247,3.539,4.6247,3.6168,4.5554,3.6168],\"text\":\"a\",\"confidence\":1},{\"boundingBox\":[4.6718,3.5141,5.0411,3.5141,5.0411,3.6168,4.6718,3.6168],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[5.0875,3.5151,5.4065,3.5151,5.4065,3.6168,5.0875,3.6168],\"text\":\"card.\",\"confidence\":1},{\"boundingBox\":[5.501,3.5138,5.5751,3.5138,5.5751,3.615,5.501,3.615],\"text\":\"If\",\"confidence\":1},{\"boundingBox\":[5.6177,3.539,5.8539,3.539,5.8539,3.6446,5.6177,3.6446],\"text\":\"you\",\"confidence\":1},{\"boundingBox\":[5.9011,3.5141,6.2016,3.5141,6.2016,3.6168,5.9011,3.6168],\"text\":\"wish\",\"confidence\":1},{\"boundingBox\":[6.2504,3.5209,6.3758,3.5209,6.3758,3.6168,6.2504,3.6168],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[6.4273,3.539,6.6562,3.539,6.6562,3.6446,6.4273,3.6446],\"text\":\"pay\",\"confidence\":1},{\"boundingBox\":[6.6976,3.539,6.994,3.539,6.994,3.6446,6.6976,3.6446],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[7.036,3.5128,7.4009,3.5128,7.4009,3.6438,7.036,3.6438],\"text\":\"fee(s)\",\"confidence\":1}]},{\"boundingBox\":[0.8014,3.6789,7.373,3.6789,7.373,3.8101,0.8014,3.8101],\"text\":\"with your credit card, please complete this form and send it with your paperwork. Payment through\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8014,3.6792,1.0698,3.6792,1.0698,3.7807,0.8014,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[1.1194,3.7041,1.4149,3.7041,1.4149,3.8097,1.1194,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[1.4602,3.6792,1.8317,3.6792,1.8317,3.7819,1.4602,3.7819],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.8781,3.6801,2.1969,3.6801,2.1969,3.8033,1.8781,3.8033],\"text\":\"card,\",\"confidence\":1},{\"boundingBox\":[2.2527,3.6801,2.6721,3.6801,2.6721,3.8087,2.2527,3.8087],\"text\":\"please\",\"confidence\":1},{\"boundingBox\":[2.7191,3.6801,3.3204,3.6801,3.3204,3.8087,2.7191,3.8087],\"text\":\"complete\",\"confidence\":1},{\"boundingBox\":[3.364,3.6792,3.6047,3.6792,3.6047,3.7819,3.364,3.7819],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.6496,3.6789,3.9485,3.6789,3.9485,3.7819,3.6496,3.7819],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[3.9997,3.6801,4.2346,3.6801,4.2346,3.7819,3.9997,3.7819],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.2855,3.6801,4.5976,3.6801,4.5976,3.7819,4.2855,3.7819],\"text\":\"send\",\"confidence\":1},{\"boundingBox\":[4.6539,3.6792,4.7259,3.6792,4.7259,3.7807,4.6539,3.7807],\"text\":\"it\",\"confidence\":1},{\"boundingBox\":[4.7682,3.6792,5.0366,3.6792,5.0366,3.7807,4.7682,3.7807],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[5.0862,3.7041,5.3817,3.7041,5.3817,3.8097,5.0862,3.8097],\"text\":\"your\",\"confidence\":1},{\"boundingBox\":[5.4308,3.6801,6.1548,3.6801,6.1548,3.8087,5.4308,3.8087],\"text\":\"paperwork.\",\"confidence\":1},{\"boundingBox\":[6.2509,3.6801,6.8158,3.6801,6.8158,3.8097,6.2509,3.8097],\"text\":\"Payment\",\"confidence\":1},{\"boundingBox\":[6.8588,3.6801,7.373,3.6801,7.373,3.8101,6.8588,3.8101],\"text\":\"through\",\"confidence\":1}]},{\"boundingBox\":[0.8047,3.8456,7.0271,3.8456,7.0271,3.9764,0.8047,3.9764],\"text\":\"credit cards will not be processed without this authorization form. Please print or type clearly.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8047,3.8459,1.1755,3.8459,1.1755,3.9486,0.8047,3.9486],\"text\":\"credit\",\"confidence\":1},{\"boundingBox\":[1.222,3.8468,1.5826,3.8468,1.5826,3.9486,1.222,3.9486],\"text\":\"cards\",\"confidence\":1},{\"boundingBox\":[1.6266,3.8459,1.8414,3.8459,1.8414,3.9468,1.6266,3.9468],\"text\":\"will\",\"confidence\":1},{\"boundingBox\":[1.8984,3.8527,2.1015,3.8527,2.1015,3.9486,1.8984,3.9486],\"text\":\"not\",\"confidence\":1},{\"boundingBox\":[2.1517,3.8468,2.3017,3.8468,2.3017,3.9486,2.1517,3.9486],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.3526,3.8468,3.0301,3.8468,3.0301,3.9754,2.3526,3.9754],\"text\":\"processed\",\"confidence\":1},{\"boundingBox\":[3.0757,3.8459,3.5679,3.8459,3.5679,3.9486,3.0757,3.9486],\"text\":\"without\",\"confidence\":1},{\"boundingBox\":[3.6109,3.8459,3.8518,3.8459,3.8518,3.9486,3.6109,3.9486],\"text\":\"this\",\"confidence\":1},{\"boundingBox\":[3.8985,3.8459,4.7585,3.8459,4.7585,3.9486,3.8985,3.9486],\"text\":\"authorization\",\"confidence\":1},{\"boundingBox\":[4.8073,3.8456,5.144,3.8456,5.144,3.9486,4.8073,3.9486],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.2402,3.8468,5.6667,3.8468,5.6667,3.9486,5.2402,3.9486],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[5.7176,3.8459,6.0148,3.8459,6.0148,3.9754,5.7176,3.9754],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[6.0612,3.8708,6.1934,3.8708,6.1934,3.9486,6.0612,3.9486],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[6.2353,3.8527,6.5149,3.8527,6.5149,3.9764,6.2353,3.9764],\"text\":\"type\",\"confidence\":1},{\"boundingBox\":[6.5627,3.8468,7.0271,3.8468,7.0271,3.9764,6.5627,3.9764],\"text\":\"clearly.\",\"confidence\":1}]},{\"boundingBox\":[0.8479,4.1881,7.0286,4.1881,7.0286,4.3316,0.8479,4.3316],\"text\":\"Name (company/individual for whom payment is being made) (Please Include License # and SSN/FEIN):\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8479,4.2002,1.2134,4.2002,1.2134,4.3019,0.8479,4.3019],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.2654,4.1881,2.4681,4.1881,2.4681,4.3316,1.2654,4.3316],\"text\":\"(company/individual\",\"confidence\":1},{\"boundingBox\":[2.5128,4.2091,2.6764,4.2091,2.6764,4.3016,2.5128,4.3016],\"text\":\"for\",\"confidence\":1},{\"boundingBox\":[2.7128,4.2102,3.0674,4.2102,3.0674,4.3016,2.7128,4.3016],\"text\":\"whom\",\"confidence\":1},{\"boundingBox\":[3.1169,4.2155,3.6202,4.2155,3.6202,4.3266,3.1169,4.3266],\"text\":\"payment\",\"confidence\":1},{\"boundingBox\":[3.6667,4.2094,3.7576,4.2094,3.7576,4.3016,3.6667,4.3016],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[3.8047,4.2094,4.1234,4.2094,4.1234,4.327,3.8047,4.327],\"text\":\"being\",\"confidence\":1},{\"boundingBox\":[4.1727,4.2082,4.5281,4.2082,4.5281,4.3259,4.1727,4.3259],\"text\":\"made)\",\"confidence\":1},{\"boundingBox\":[4.5718,4.2082,5.0014,4.2082,5.0014,4.3259,4.5718,4.3259],\"text\":\"(Please\",\"confidence\":1},{\"boundingBox\":[5.0484,4.2102,5.4746,4.2102,5.4746,4.3016,5.0484,4.3016],\"text\":\"Include\",\"confidence\":1},{\"boundingBox\":[5.5225,4.2094,5.975,4.2094,5.975,4.3016,5.5225,4.3016],\"text\":\"License\",\"confidence\":1},{\"boundingBox\":[6.0157,4.2128,6.0807,4.2128,6.0807,4.3,6.0157,4.3],\"text\":\"#\",\"confidence\":1},{\"boundingBox\":[6.1214,4.2102,6.3327,4.2102,6.3327,4.3016,6.1214,4.3016],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[6.3805,4.2079,7.0286,4.2079,7.0286,4.3259,6.3805,4.3259],\"text\":\"SSN/FEIN):\",\"confidence\":1}]},{\"boundingBox\":[0.8942,4.3643,3.6366,4.3643,3.6366,4.4867,0.8942,4.4867],\"text\":\"Contoso Insurance 54353T7A, 36-1222985\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8942,4.3643,1.4017,4.3643,1.4017,4.4686,0.8942,4.4686],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[1.4589,4.3659,2.0531,4.3659,2.0531,4.4686,1.4589,4.4686],\"text\":\"Insurance\",\"confidence\":1},{\"boundingBox\":[2.1427,4.3655,2.807,4.3655,2.807,4.4867,2.1427,4.4867],\"text\":\"54353T7A,\",\"confidence\":1},{\"boundingBox\":[2.9033,4.3655,3.6366,4.3655,3.6366,4.4688,2.9033,4.4688],\"text\":\"36-1222985\",\"confidence\":1}]},{\"boundingBox\":[3.5656,4.9372,4.9313,4.9372,4.9313,5.068,3.5656,5.068],\"text\":\"Purpose of Payment:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.5656,4.9384,4.1075,4.9384,4.1075,5.067,3.5656,5.067],\"text\":\"Purpose\",\"confidence\":1},{\"boundingBox\":[4.1544,4.9372,4.2781,4.9372,4.2781,5.0401,4.1544,5.0401],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[4.3295,4.9384,4.9313,4.9384,4.9313,5.068,4.3295,5.068],\"text\":\"Payment:\",\"confidence\":1}]},{\"boundingBox\":[5.0848,4.9313,6.3102,4.9313,6.3102,5.034,5.0848,5.034],\"text\":\"Balance on Account\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0848,4.9313,5.5713,4.9313,5.5713,5.034,5.0848,5.034],\"text\":\"Balance\",\"confidence\":1},{\"boundingBox\":[5.6202,4.9576,5.7607,4.9576,5.7607,5.034,5.6202,5.034],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[5.8088,4.9313,6.3102,4.9313,6.3102,5.034,5.8088,5.034],\"text\":\"Account\",\"confidence\":1}]},{\"boundingBox\":[0.8258,5.4268,2.1074,5.4268,2.1074,5.5929,0.8258,5.5929],\"text\":\"Card Type: ❑Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8258,5.4268,1.1104,5.4268,1.1104,5.5312,0.8258,5.5312],\"text\":\"Card\",\"confidence\":1},{\"boundingBox\":[1.1624,5.4285,1.495,5.4285,1.495,5.5588,1.1624,5.5588],\"text\":\"Type:\",\"confidence\":1},{\"boundingBox\":[1.6159,5.4302,2.1074,5.4302,2.1074,5.5929,1.6159,5.5929],\"text\":\"❑Visa\",\"confidence\":1}]},{\"boundingBox\":[2.2989,5.4295,2.8924,5.4295,2.8924,5.5922,2.2989,5.5922],\"text\":\"❑x AMEX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.2989,5.4295,2.4591,5.4295,2.4591,5.5922,2.2989,5.5922],\"text\":\"❑x\",\"confidence\":1},{\"boundingBox\":[2.4996,5.4443,2.8924,5.4443,2.8924,5.5453,2.4996,5.5453],\"text\":\"AMEX\",\"confidence\":1}]},{\"boundingBox\":[3.0846,5.4481,4.0327,5.4481,4.0327,5.6108,3.0846,5.6108],\"text\":\"❑Master Card\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.0846,5.4481,3.7051,5.4481,3.7051,5.6108,3.0846,5.6108],\"text\":\"❑Master\",\"confidence\":1},{\"boundingBox\":[3.7487,5.4569,4.0327,5.4569,4.0327,5.5611,3.7487,5.5611],\"text\":\"Card\",\"confidence\":1}]},{\"boundingBox\":[0.8954,5.7074,2.2511,5.7074,2.2511,5.8125,0.8954,5.8125],\"text\":\"Name of Cardholder:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,5.7101,1.2609,5.7101,1.2609,5.8118,0.8954,5.8118],\"text\":\"Name\",\"confidence\":1},{\"boundingBox\":[1.3079,5.7088,1.4324,5.7088,1.4324,5.8118,1.3079,5.8118],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[1.4782,5.7074,2.2511,5.7074,2.2511,5.8125,1.4782,5.8125],\"text\":\"Cardholder:\",\"confidence\":1}]},{\"boundingBox\":[2.502,5.7604,3.2429,5.7604,3.2429,5.8923,2.502,5.8923],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.502,5.7621,2.7903,5.7621,2.7903,5.8648,2.502,5.8648],\"text\":\"John\",\"confidence\":1},{\"boundingBox\":[2.8449,5.7604,3.2429,5.7604,3.2429,5.8923,2.8449,5.8923],\"text\":\"Singer\",\"confidence\":1}]},{\"boundingBox\":[5.2305,5.6912,8.0337,5.6912,8.0337,5.8091,5.2305,5.8091],\"text\":\"Contact persons phone #, if questions with this\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2305,5.6912,5.6874,5.6912,5.6874,5.7856,5.2305,5.7856],\"text\":\"Contact\",\"confidence\":1},{\"boundingBox\":[5.7333,5.7151,6.2073,5.7151,6.2073,5.8091,5.7333,5.8091],\"text\":\"persons\",\"confidence\":1},{\"boundingBox\":[6.2544,5.6936,6.6183,5.6936,6.6183,5.8091,6.2544,5.8091],\"text\":\"phone\",\"confidence\":1},{\"boundingBox\":[6.6587,5.6961,6.7524,5.6961,6.7524,5.8042,6.6587,5.8042],\"text\":\"#,\",\"confidence\":1},{\"boundingBox\":[6.8042,5.6925,6.8703,5.6925,6.8703,5.7833,6.8042,5.7833],\"text\":\"if\",\"confidence\":1},{\"boundingBox\":[6.9099,5.6927,7.4918,5.6927,7.4918,5.8091,6.9099,5.8091],\"text\":\"questions\",\"confidence\":1},{\"boundingBox\":[7.5307,5.6927,7.7719,5.6927,7.7719,5.784,7.5307,5.784],\"text\":\"with\",\"confidence\":1},{\"boundingBox\":[7.8166,5.6927,8.0337,5.6927,8.0337,5.785,7.8166,5.785],\"text\":\"this\",\"confidence\":1}]},{\"boundingBox\":[5.2262,5.8416,6.5139,5.8416,6.5139,5.9847,5.2262,5.9847],\"text\":\"form. Telephone #: (\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.2262,5.8625,5.5295,5.8625,5.5295,5.955,5.2262,5.955],\"text\":\"form.\",\"confidence\":1},{\"boundingBox\":[5.5744,5.8534,6.2637,5.8534,6.2637,5.982,5.5744,5.982],\"text\":\"Telephone\",\"confidence\":1},{\"boundingBox\":[6.3085,5.8562,6.417,5.8562,6.417,5.9533,6.3085,5.9533],\"text\":\"#:\",\"confidence\":1},{\"boundingBox\":[6.4787,5.8416,6.5139,5.8416,6.5139,5.9847,6.4787,5.9847],\"text\":\"(\",\"confidence\":1}]},{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.6237,5.8542,6.87,5.8542,6.87,5.9672,6.6237,5.9672],\"text\":\"425\",\"confidence\":1}]},{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.9056,5.8416,6.9409,5.8416,6.9409,5.9847,6.9056,5.9847],\"text\":\")\",\"confidence\":1}]},{\"boundingBox\":[7.1288,5.8181,7.809,5.8181,7.809,5.9672,7.1288,5.9672],\"text\":\"779 3479\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.1288,5.8542,7.3693,5.8542,7.3693,5.9672,7.1288,5.9672],\"text\":\"779\",\"confidence\":1},{\"boundingBox\":[7.4829,5.8181,7.809,5.8181,7.809,5.9313,7.4829,5.9313],\"text\":\"3479\",\"confidence\":1}]},{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.3783,5.9042,7.4157,5.9042,7.4157,5.918,7.3783,5.918],\"text\":\"-\",\"confidence\":1}]},{\"boundingBox\":[0.8964,6.0366,1.8846,6.0366,1.8846,6.1393,0.8964,6.1393],\"text\":\"Email Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8964,6.0366,1.2473,6.0366,1.2473,6.1393,0.8964,6.1393],\"text\":\"Email\",\"confidence\":1},{\"boundingBox\":[1.298,6.0376,1.8846,6.0376,1.8846,6.1393,1.298,6.1393],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.9261,6.0432,3.4556,6.0432,3.4556,6.1753,1.9261,6.1753],\"text\":\"johnsinger@hotmail.com\",\"confidence\":1}]},{\"boundingBox\":[0.8954,6.2792,1.9961,6.2792,1.9961,6.4101,0.8954,6.4101],\"text\":\"Mailing Address:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8954,6.2792,1.357,6.2792,1.357,6.4101,0.8954,6.4101],\"text\":\"Mailing\",\"confidence\":1},{\"boundingBox\":[1.4062,6.2801,1.9961,6.2801,1.9961,6.3819,1.4062,6.3819],\"text\":\"Address:\",\"confidence\":1}]},{\"boundingBox\":[2.1027,6.3142,3.0803,6.3142,3.0803,6.4186,2.1027,6.4186],\"text\":\"472 SE 74th ST\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[2.1027,6.3155,2.3256,6.3155,2.3256,6.4171,2.1027,6.4171],\"text\":\"472\",\"confidence\":1},{\"boundingBox\":[2.3779,6.3142,2.5497,6.3142,2.5497,6.4186,2.3779,6.4186],\"text\":\"SE\",\"confidence\":1},{\"boundingBox\":[2.6024,6.3159,2.8571,6.3159,2.8571,6.4179,2.6024,6.4179],\"text\":\"74th\",\"confidence\":1},{\"boundingBox\":[2.9115,6.3142,3.0803,6.3142,3.0803,6.4186,2.9115,6.4186],\"text\":\"ST\",\"confidence\":1}]},{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.892,6.5399,1.1815,6.5399,1.1815,6.6721,0.892,6.6721],\"text\":\"City:\",\"confidence\":1}]},{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.3947,6.5747,2.01,6.5747,2.01,6.6774,1.3947,6.6774],\"text\":\"Lakewood\",\"confidence\":1}]},{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.2363,6.5399,4.6048,6.5399,4.6048,6.645,4.2363,6.645],\"text\":\"State:\",\"confidence\":1}]},{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7452,6.5506,4.9679,6.5506,4.9679,6.6518,4.7452,6.6518],\"text\":\"WA\",\"confidence\":1}]},{\"boundingBox\":[6.4885,6.5399,7.1134,6.5399,7.1134,6.6712,6.4885,6.6712],\"text\":\"Zip Code:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.4885,6.5416,6.6893,6.5416,6.6893,6.6712,6.4885,6.6712],\"text\":\"Zip\",\"confidence\":1},{\"boundingBox\":[6.7385,6.5399,7.1134,6.5399,7.1134,6.645,6.7385,6.645],\"text\":\"Code:\",\"confidence\":1}]},{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.2536,6.5442,7.6275,6.5442,7.6275,6.6473,7.2536,6.6473],\"text\":\"98712\",\"confidence\":1}]},{\"boundingBox\":[0.8033,6.9573,7.5868,6.9573,7.5868,7.1067,0.8033,7.1067],\"text\":\"I authorize Contoso Department of Professional and Financial Regulation, Bureau of Insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,6.9598,0.8617,6.9598,0.8617,7.0725,0.8033,7.0725],\"text\":\"I\",\"confidence\":1},{\"boundingBox\":[0.9107,6.9573,1.5801,6.9573,1.5801,7.0747,0.9107,7.0747],\"text\":\"authorize\",\"confidence\":1},{\"boundingBox\":[1.6314,6.958,2.2027,6.958,2.2027,7.0748,1.6314,7.0748],\"text\":\"Contoso\",\"confidence\":1},{\"boundingBox\":[2.2527,6.9598,3.1119,6.9598,3.1119,7.1065,2.2527,7.1065],\"text\":\"Department\",\"confidence\":1},{\"boundingBox\":[3.1579,6.9573,3.302,6.9573,3.302,7.0747,3.1579,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[3.3372,6.9573,4.2012,6.9573,4.2012,7.0747,3.3372,7.0747],\"text\":\"Professional\",\"confidence\":1},{\"boundingBox\":[4.2509,6.9598,4.5118,6.9598,4.5118,7.0747,4.2509,7.0747],\"text\":\"and\",\"confidence\":1},{\"boundingBox\":[4.5598,6.9573,5.2201,6.9573,5.2201,7.0747,4.5598,7.0747],\"text\":\"Financial\",\"confidence\":1},{\"boundingBox\":[5.2699,6.9573,6.0806,6.9573,6.0806,7.1067,5.2699,7.1067],\"text\":\"Regulation,\",\"confidence\":1},{\"boundingBox\":[6.1294,6.9598,6.6514,6.9598,6.6514,7.0747,6.1294,7.0747],\"text\":\"Bureau\",\"confidence\":1},{\"boundingBox\":[6.7004,6.9573,6.8444,6.9573,6.8444,7.0747,6.7004,7.0747],\"text\":\"of\",\"confidence\":1},{\"boundingBox\":[6.8801,6.9598,7.5868,6.9598,7.5868,7.0747,6.8801,7.0747],\"text\":\"Insurance\",\"confidence\":1}]},{\"boundingBox\":[0.8033,7.1495,2.1348,7.1495,2.1348,7.2983,0.8033,7.2983],\"text\":\"to charge my: Visa\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8033,7.1592,0.9348,7.1592,0.9348,7.2663,0.8033,7.2663],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[0.9847,7.1515,1.4588,7.1515,1.4588,7.2983,0.9847,7.2983],\"text\":\"charge\",\"confidence\":1},{\"boundingBox\":[1.5062,7.1853,1.7675,7.1853,1.7675,7.2982,1.5062,7.2982],\"text\":\"my:\",\"confidence\":1},{\"boundingBox\":[1.8242,7.1495,2.1348,7.1495,2.1348,7.2665,1.8242,7.2665],\"text\":\"Visa\",\"confidence\":1}]},{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8996,7.8438,2.2164,7.8438,2.2164,7.9603,0.8996,7.9603],\"text\":\"4872876432425423\",\"confidence\":1}]},{\"boundingBox\":[3.3024,7.9046,4.3518,7.9046,4.3518,8.0411,3.3024,8.0411],\"text\":\"Expiration date:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.3024,7.9046,4.0018,7.9046,4.0018,8.0411,3.3024,8.0411],\"text\":\"Expiration\",\"confidence\":1},{\"boundingBox\":[4.0467,7.9069,4.3518,7.9069,4.3518,8.012,4.0467,8.012],\"text\":\"date:\",\"confidence\":1}]},{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.442,7.8916,4.5825,7.8916,4.5825,7.9982,4.442,7.9982],\"text\":\"09\",\"confidence\":1}]},{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.6708,7.9069,4.7157,7.9069,4.7157,8.012,4.6708,8.012],\"text\":\"/\",\"confidence\":1}]},{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[4.7708,7.8956,4.9015,7.8956,4.9015,8.0002,4.7708,8.0002],\"text\":\"21\",\"confidence\":1}]},{\"boundingBox\":[5.0592,7.8956,7.6702,7.8956,7.6702,8.0289,5.0592,8.0289],\"text\":\"in the amount of: $__________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.0592,7.9046,5.1817,7.9046,5.1817,8.01,5.0592,8.01],\"text\":\"in\",\"confidence\":1},{\"boundingBox\":[5.2259,7.9069,5.4239,7.9069,5.4239,8.012,5.2259,8.012],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[5.4691,7.9139,5.9657,7.9139,5.9657,8.012,5.4691,8.012],\"text\":\"amount\",\"confidence\":1},{\"boundingBox\":[6.0082,7.9046,6.1702,7.9046,6.1702,8.012,6.0082,8.012],\"text\":\"of:\",\"confidence\":1},{\"boundingBox\":[6.2258,7.8956,7.6702,7.8956,7.6702,8.0289,6.2258,8.0289],\"text\":\"$__________________\",\"confidence\":1}]},{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5828,7.8896,6.9948,7.8896,6.9948,7.9962,6.5828,7.9962],\"text\":\"263.00\",\"confidence\":1}]},{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8,8.0223,3.1333,8.0223,3.1333,8.0307,0.8,8.0307],\"text\":\"____________________________\",\"confidence\":1}]},{\"boundingBox\":[0.806,8.0771,2.6175,8.0771,2.6175,8.1896,0.806,8.1896],\"text\":\"(Card number – Please print clearly)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.806,8.0771,1.0841,8.0771,1.0841,8.1845,0.806,8.1845],\"text\":\"(Card\",\"confidence\":1},{\"boundingBox\":[1.119,8.0771,1.4992,8.0771,1.4992,8.1636,1.119,8.1636],\"text\":\"number\",\"confidence\":1},{\"boundingBox\":[1.5308,8.1322,1.5933,8.1322,1.5933,8.1374,1.5308,8.1374],\"text\":\"–\",\"confidence\":1},{\"boundingBox\":[1.6253,8.0771,1.94,8.0771,1.94,8.1636,1.6253,8.1636],\"text\":\"Please\",\"confidence\":1},{\"boundingBox\":[1.975,8.0771,2.2103,8.0771,2.2103,8.1895,1.975,8.1895],\"text\":\"print\",\"confidence\":1},{\"boundingBox\":[2.2444,8.0771,2.6175,8.0771,2.6175,8.1896,2.2444,8.1896],\"text\":\"clearly)\",\"confidence\":1}]},{\"boundingBox\":[1.8862,8.2595,3.2329,8.2691,3.2329,8.5556,1.8862,8.5508],\"text\":\"John Singer\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.676}},\"words\":[{\"boundingBox\":[1.891,8.2595,2.4354,8.2786,2.4354,8.5412,1.891,8.5556],\"text\":\"John\",\"confidence\":0.87},{\"boundingBox\":[2.4927,8.2834,3.2233,8.3073,3.2233,8.5317,2.4927,8.5412],\"text\":\"Singer\",\"confidence\":0.956}]},{\"boundingBox\":[0.8059,8.3968,5.2429,8.3968,5.2429,8.5421,0.8059,8.5421],\"text\":\"Signature: ___________________________________________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8059,8.3968,1.5333,8.3968,1.5333,8.5421,0.8059,8.5421],\"text\":\"Signature:\",\"confidence\":1},{\"boundingBox\":[1.5893,8.5205,5.2429,8.5205,5.2429,8.5281,1.5893,8.5281],\"text\":\"___________________________________________\",\"confidence\":1}]},{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.8155,8.3705,5.9721,8.3705,5.9721,8.4835,5.8155,8.4835],\"text\":\"08\",\"confidence\":1}]},{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.5359,8.3585,6.6943,8.3585,6.6943,8.4716,6.5359,8.4716],\"text\":\"23\",\"confidence\":1}]},{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[7.0358,8.3585,7.3644,8.3585,7.3644,8.4715,7.0358,8.4715],\"text\":\"2018\",\"confidence\":1}]},{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.66,8.5205,6.1697,8.5205,6.1697,8.5281,5.66,8.5281],\"text\":\"______\",\"confidence\":1}]},{\"boundingBox\":[1.7087,8.6229,4.1257,8.6229,4.1257,8.7284,1.7087,8.7284],\"text\":\"(must be signed by authorized person to validate)\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.7087,8.6229,1.9762,8.6229,1.9762,8.727,1.7087,8.727],\"text\":\"(must\",\"confidence\":1},{\"boundingBox\":[2.0158,8.6246,2.1283,8.6246,2.1283,8.7057,2.0158,8.7057],\"text\":\"be\",\"confidence\":1},{\"boundingBox\":[2.168,8.6246,2.485,8.6246,2.485,8.7284,2.168,8.7284],\"text\":\"signed\",\"confidence\":1},{\"boundingBox\":[2.5286,8.6246,2.6389,8.6246,2.6389,8.7278,2.5286,8.7278],\"text\":\"by\",\"confidence\":1},{\"boundingBox\":[2.6737,8.6246,3.1831,8.6246,3.1831,8.7057,2.6737,8.7057],\"text\":\"authorized\",\"confidence\":1},{\"boundingBox\":[3.2268,8.6445,3.5523,8.6445,3.5523,8.727,3.2268,8.727],\"text\":\"person\",\"confidence\":1},{\"boundingBox\":[3.592,8.63,3.6791,8.63,3.6791,8.7056,3.592,8.7056],\"text\":\"to\",\"confidence\":1},{\"boundingBox\":[3.7147,8.6229,4.1257,8.6229,4.1257,8.727,3.7147,8.727],\"text\":\"validate)\",\"confidence\":1}]},{\"boundingBox\":[0.8131,9.1368,6.7518,9.1368,6.7518,9.2816,0.8131,9.2816],\"text\":\"Form is available on our website: www.contoso.com/insurance You may fax the form to:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8131,9.1397,1.1463,9.1397,1.1463,9.2511,0.8131,9.2511],\"text\":\"Form\",\"confidence\":1},{\"boundingBox\":[1.2089,9.1397,1.3033,9.1397,1.3033,9.2513,1.2089,9.2513],\"text\":\"is\",\"confidence\":1},{\"boundingBox\":[1.3569,9.1397,1.9478,9.1397,1.9478,9.2513,1.3569,9.2513],\"text\":\"available\",\"confidence\":1},{\"boundingBox\":[2.0018,9.1671,2.1563,9.1671,2.1563,9.2511,2.0018,9.2511],\"text\":\"on\",\"confidence\":1},{\"boundingBox\":[2.2141,9.1671,2.4292,9.1671,2.4292,9.2513,2.2141,9.2513],\"text\":\"our\",\"confidence\":1},{\"boundingBox\":[2.4732,9.1397,3.0178,9.1397,3.0178,9.2513,2.4732,9.2513],\"text\":\"website:\",\"confidence\":1},{\"boundingBox\":[3.1183,9.1368,5.0528,9.1368,5.0528,9.2519,3.1183,9.2519],\"text\":\"www.contoso.com/insurance\",\"confidence\":1},{\"boundingBox\":[5.1037,9.1397,5.3628,9.1397,5.3628,9.2513,5.1037,9.2513],\"text\":\"You\",\"confidence\":1},{\"boundingBox\":[5.4255,9.1671,5.7022,9.1671,5.7022,9.2816,5.4255,9.2816],\"text\":\"may\",\"confidence\":1},{\"boundingBox\":[5.7486,9.1381,5.9485,9.1381,5.9485,9.2513,5.7486,9.2513],\"text\":\"fax\",\"confidence\":1},{\"boundingBox\":[5.9948,9.1397,6.1987,9.1397,6.1987,9.2513,5.9948,9.2513],\"text\":\"the\",\"confidence\":1},{\"boundingBox\":[6.2496,9.1381,6.5429,9.1381,6.5429,9.2511,6.2496,9.2511],\"text\":\"form\",\"confidence\":1},{\"boundingBox\":[6.5974,9.1471,6.7518,9.1471,6.7518,9.2511,6.5974,9.2511],\"text\":\"to:\",\"confidence\":1}]},{\"boundingBox\":[0.8058,9.323,4.3584,9.323,4.3584,9.4677,0.8058,9.4677],\"text\":\"650-768-2322 or e-mail to: insurance@contoso.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8058,9.3245,1.7423,9.3245,1.7423,9.4376,0.8058,9.4376],\"text\":\"650-768-2322\",\"confidence\":1},{\"boundingBox\":[1.7983,9.3538,1.9285,9.3538,1.9285,9.4378,1.7983,9.4378],\"text\":\"or\",\"confidence\":1},{\"boundingBox\":[1.9774,9.3263,2.3769,9.3263,2.3769,9.438,1.9774,9.438],\"text\":\"e-mail\",\"confidence\":1},{\"boundingBox\":[2.4319,9.3338,2.5864,9.3338,2.5864,9.4378,2.4319,9.4378],\"text\":\"to:\",\"confidence\":1},{\"boundingBox\":[2.695,9.323,4.3584,9.323,4.3584,9.4677,2.695,9.4677],\"text\":\"insurance@contoso.com\",\"confidence\":1}]},{\"boundingBox\":[3.2626,9.7729,5.6997,9.7729,5.6997,9.8468,3.2626,9.8468],\"text\":\"OFFICES LOCATED AT 24 Main Street Palo Alto CA 842325\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2626,9.7731,3.6024,9.7731,3.6024,9.8468,3.2626,9.8468],\"text\":\"OFFICES\",\"confidence\":1},{\"boundingBox\":[3.6348,9.775,3.996,9.775,3.996,9.8464,3.6348,9.8464],\"text\":\"LOCATED\",\"confidence\":1},{\"boundingBox\":[4.0212,9.79,4.1168,9.79,4.1168,9.845,4.0212,9.845],\"text\":\"AT\",\"confidence\":1},{\"boundingBox\":[4.1421,9.7738,4.2429,9.7738,4.2429,9.845,4.1421,9.845],\"text\":\"24\",\"confidence\":1},{\"boundingBox\":[4.2818,9.7741,4.479,9.7741,4.479,9.8461,4.2818,9.8461],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[4.5171,9.7729,4.7719,9.7729,4.7719,9.8461,4.5171,9.8461],\"text\":\"Street\",\"confidence\":1},{\"boundingBox\":[4.8071,9.7741,4.9909,9.7741,4.9909,9.8461,4.8071,9.8461],\"text\":\"Palo\",\"confidence\":1},{\"boundingBox\":[5.0215,9.7741,5.1857,9.7741,5.1857,9.8461,5.0215,9.8461],\"text\":\"Alto\",\"confidence\":1},{\"boundingBox\":[5.2212,9.7729,5.3518,9.7729,5.3518,9.8461,5.2212,9.8461],\"text\":\"CA\",\"confidence\":1},{\"boundingBox\":[5.3827,9.7738,5.6997,9.7738,5.6997,9.8462,5.3827,9.8462],\"text\":\"842325\",\"confidence\":1}]},{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.8373,9.8915,5.1228,9.8915,5.1228,9.9709,3.8373,9.9709],\"text\":\"www.contoso.com/insurance\",\"confidence\":1}]}],\"selectionMarks\":[{\"boundingBox\":[1.6159,5.4302,1.7762,5.4302,1.7762,5.5929,1.6159,5.5929],\"confidence\":1,\"state\":\"unselected\"},{\"boundingBox\":[2.3779,5.4731,2.4454,5.4731,2.4454,5.5463,2.3779,5.5463],\"confidence\":1,\"state\":\"selected\"},{\"boundingBox\":[3.0846,5.4481,3.2448,5.4481,3.2448,5.6108,3.0846,5.6108],\"confidence\":1,\"state\":\"unselected\"}]}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"custom:25af8bdc-cb74-4e97-a45d-d712940c1506\",\"modelId\":\"25af8bdc-cb74-4e97-a45d-d712940c1506\",\"pageRange\":[1,1],\"fields\":{\"MASTERCARD_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[3.085,5.45,3.245,5.45,3.245,5.61,3.085,5.61],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/2\"]},\"AMEX_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"selected\",\"page\":1,\"boundingBox\":[2.38,5.475,2.445,5.475,2.445,5.545,2.38,5.545],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/1\"]},\"VISA_SELECTION_MARK\":{\"type\":\"selectionMark\",\"valueSelectionMark\":\"unselected\",\"page\":1,\"boundingBox\":[1.615,5.43,1.775,5.43,1.775,5.595,1.615,5.595],\"confidence\":0.995,\"elements\":[\"#/readResults/0/selectionMarks/0\"]}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:43 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledData[1].json deleted file mode 100644 index 6670fcdb3b333..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlLabeledData[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8ce95aea-5393-43da-bd0d-ae61096282d1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1707", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3aa9d305-ea3b-4cfa-aaf0-b310e18637d2", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:46 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "be125a69-2f10-41ba-a302-977e4518b03c" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "78b9014d-1e9f-4cb2-8284-f037c6414781", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:50Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "071b792e-4f72-4e8a-9a67-b35f45b2c4ce" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f598d87e-36d2-42c2-bc99-0f5c956007b3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:50Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5199a7bd-d419-4b8b-80b7-502afddbb17e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "343", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eeae9414-03fb-45fc-bbfe-5bb7e71663bd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3/analyzeresults/b2f41902-6862-495d-8651-301d154b7e43", - "Date" : "Wed, 07 Jul 2021 06:32:52 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3/analyzeResults/b2f41902-6862-495d-8651-301d154b7e43", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c45e6122-95fa-4d96-9908-52cf744372bb" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fbda3349-501e-4c95-974b-ebcec7dcaa41", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:52Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"modelId\":\"cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd1c0bf7-f853-420f-ad27-8718230c04a3/analyzeResults/b2f41902-6862-495d-8651-301d154b7e43", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "501e2400-cc86-4863-b0ad-7398e7600080" - }, - "Response" : { - "content-length" : "6641", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5168e46d-2518-4d5e-95e2-9935f9bb9a0a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:52Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}],\"documentResults\":[{\"docType\":\"custom:cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"modelId\":\"cd1c0bf7-f853-420f-ad27-8718230c04a3\",\"pageRange\":[1,1],\"fields\":{\"Tax\":{\"type\":\"string\",\"valueString\":\"$4.00\",\"text\":\"$4.00\",\"page\":1,\"boundingBox\":[1458.0,1615.0,1529.0,1615.0,1529.0,1643.0,1458.0,1643.0],\"confidence\":0.994},\"CompanyPhoneNumber\":{\"type\":\"string\",\"valueString\":\"938-294-2949\",\"text\":\"938-294-2949\",\"page\":1,\"boundingBox\":[709.0,722.0,882.0,722.0,882.0,749.0,709.0,749.0],\"confidence\":0.995},\"Email\":{\"type\":\"string\",\"valueString\":\"accounts@herolimited.com\",\"text\":\"accounts@herolimited.com\",\"page\":1,\"boundingBox\":[164.0,479.0,471.0,479.0,471.0,503.0,164.0,503.0],\"confidence\":0.953},\"DatedAs\":{\"type\":\"string\",\"valueString\":\"12/20/2020\",\"text\":\"12/20/2020\",\"page\":1,\"boundingBox\":[1163.0,420.0,1310.0,420.0,1310.0,449.0,1163.0,449.0],\"confidence\":0.994},\"Quantity\":{\"type\":\"number\",\"valueNumber\":20.0,\"text\":\"20\",\"page\":1,\"boundingBox\":[860.0,1094.0,888.0,1094.0,888.0,1119.0,860.0,1119.0],\"confidence\":0.99},\"CompanyName\":{\"type\":\"string\",\"valueString\":\"Higgly Wiggly Books\",\"text\":\"Higgly Wiggly Books\",\"page\":1,\"boundingBox\":[375.0,646.0,629.0,646.0,629.0,679.0,375.0,679.0],\"confidence\":0.993},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Hillary Swank\",\"text\":\"Hillary Swank\",\"page\":1,\"boundingBox\":[349.0,609.0,520.0,609.0,520.0,639.0,349.0,639.0],\"confidence\":0.991},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bernie Sanders\",\"text\":\"Bernie Sanders\",\"page\":1,\"boundingBox\":[484.0,1670.0,762.0,1670.0,762.0,1708.0,484.0,1708.0],\"confidence\":0.437},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"$140.00\",\"text\":\"$140.00\",\"page\":1,\"boundingBox\":[1428.0,1572.0,1528.0,1572.0,1528.0,1599.0,1428.0,1599.0],\"confidence\":0.994},\"PhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-348-6512\",\"text\":\"555-348-6512\",\"page\":1,\"boundingBox\":[365.0,351.0,525.0,351.0,525.0,378.0,365.0,378.0],\"confidence\":0.992},\"CompanyAddress\":{\"type\":\"string\",\"valueString\":\"938 NE Burner Road Boulder City, CO 92848\",\"text\":\"938 NE Burner Road Boulder City, CO 92848\",\"page\":1,\"boundingBox\":[275.0,685.0,561.0,685.0,561.0,751.0,275.0,751.0],\"confidence\":0.622},\"Merchant\":{\"type\":\"string\",\"valueString\":\"Hero Limited\",\"text\":\"Hero Limited\",\"page\":1,\"boundingBox\":[620.0,205.0,1062.0,205.0,1062.0,266.0,620.0,266.0],\"confidence\":0.99},\"PurchaseOrderNumber\":{\"type\":\"string\",\"valueString\":\"948284\",\"text\":\"948284\",\"page\":1,\"boundingBox\":[1278.0,461.0,1372.0,461.0,1372.0,489.0,1278.0,489.0],\"confidence\":0.994},\"Total\":{\"type\":\"string\",\"valueString\":\"$144.00\",\"text\":\"$144.00\",\"page\":1,\"boundingBox\":[1427.0,1669.0,1527.0,1669.0,1527.0,1698.0,1427.0,1698.0],\"confidence\":0.995},\"Website\":{\"type\":\"string\",\"valueString\":\"www.herolimited.com\",\"text\":\"www.herolimited.com\",\"page\":1,\"boundingBox\":[273.0,393.0,524.0,393.0,524.0,418.0,273.0,418.0],\"confidence\":0.992}},\"docTypeConfidence\":0.92}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json deleted file mode 100644 index 70ea3720d058d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageLabeled[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cf28ad58-dbf6-4a54-9984-adfa4f6fb016", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "407", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1910cfcd-2da1-4754-9a40-bac57c01767f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:07 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "93fc0582-ed97-4ccb-9f3f-438a1264e16f" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "406a4ecb-c8cb-4ce7-af00-69a10285e8f4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:07Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc3c7cf0-d61a-4a7f-b2ca-79e2f2924f28" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ea5f7f04-90fe-46f2-b94e-e6ce7220a986", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:07Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b829d80-48ed-40f3-aaea-b6fe80b398c5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "172", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99ed0207-fb4c-4ab9-ac95-b0e7b366e905", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17/analyzeresults/fafc8700-04ba-4c90-a283-87a3dc4b53ea", - "Date" : "Wed, 07 Jul 2021 06:31:12 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17/analyzeResults/fafc8700-04ba-4c90-a283-87a3dc4b53ea", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b0243151-7254-41cd-8567-d9361353865d" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1fa8f0b1-3240-46a7-97c6-2c1b72ba929f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T06:31:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:16Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17/analyzeResults/fafc8700-04ba-4c90-a283-87a3dc4b53ea", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9ee02ff8-21f3-46d1-83da-b1340eeddcda" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "857646a3-b8e0-4612-bd62-4091f4ad05af", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"modelId\":\"e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"pageRange\":[1,3],\"fields\":{\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e5c335d3-ccb9-45d8-839f-a348b3ad6b17/analyzeResults/fafc8700-04ba-4c90-a283-87a3dc4b53ea", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0bcdd66d-3f58-4ffc-be9f-5e5b88c88b17" - }, - "Response" : { - "content-length" : "10278", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a4528879-9ea8-4df8-8628-875796608cc3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"selectionMarks\":[{\"boundingBox\":[1.7276,6.649,2.072,6.649,2.072,6.804,1.7276,6.804],\"confidence\":0.292,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":3,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.9957,2.9322,7.4976,2.9326,7.4974,4.6222,0.9944,4.6216]}]},{\"page\":2,\"tables\":[]},{\"page\":3,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Item\",\"boundingBox\":[0.9909,2.9408,3.1649,2.9408,3.1649,3.1528,0.9909,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[3.1649,2.9408,5.3322,2.9408,5.3322,3.1528,3.1649,3.1528],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.3322,2.9408,7.4995,2.9408,7.4995,3.1528,5.3322,3.1528],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"A\",\"boundingBox\":[0.9909,3.1528,3.1649,3.1528,3.1649,3.3586,0.9976,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.1528,5.3322,3.1528,5.3322,3.3586,3.1649,3.3586],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"100.99\",\"boundingBox\":[5.3322,3.1528,7.4995,3.1528,7.4995,3.3649,5.3322,3.3586],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9976,3.3586,3.1649,3.3586,3.1649,3.5707,0.9976,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[3.1649,3.3586,5.3322,3.3586,5.3322,3.5707,3.1649,3.5707],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"140.67\",\"boundingBox\":[5.3322,3.3586,7.4995,3.3649,7.4995,3.5769,5.3322,3.5707],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9976,3.5707,3.1649,3.5707,3.1649,3.7827,0.9976,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.5707,5.3322,3.5707,5.3322,3.7827,3.1649,3.7827],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"150.66\",\"boundingBox\":[5.3322,3.5707,7.4995,3.5769,7.4995,3.7827,5.3322,3.7827],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9976,3.7827,3.1649,3.7827,3.1649,3.9885,0.9976,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"10\",\"boundingBox\":[3.1649,3.7827,5.3322,3.7827,5.3322,3.9885,3.1649,3.9885],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,3.7827,7.4995,3.7827,7.4995,3.9948,5.3322,3.9885],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9976,3.9885,3.1649,3.9885,3.1649,4.2006,0.9976,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"40\",\"boundingBox\":[3.1649,3.9885,5.3322,3.9885,5.3322,4.2006,3.1649,4.2006],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"100.00\",\"boundingBox\":[5.3322,3.9885,7.4995,3.9948,7.4995,4.2006,5.3322,4.2006],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9976,4.2006,3.1649,4.2006,3.1649,4.4126,0.9976,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"60\",\"boundingBox\":[3.1649,4.2006,5.3322,4.2006,5.3322,4.4126,3.1649,4.4126],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"120.00\",\"boundingBox\":[5.3322,4.2006,7.4995,4.2006,7.4995,4.4126,5.3322,4.4126],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9976,4.4126,3.1649,4.4126,3.1649,4.6246,0.9976,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"80\",\"boundingBox\":[3.1649,4.4126,5.3322,4.4126,5.3322,4.6246,3.1649,4.6246],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"220.00\",\"boundingBox\":[5.3322,4.4126,7.4995,4.4126,7.4995,4.6246,5.3322,4.6246],\"isHeader\":false}],\"boundingBox\":[0.996,2.9328,7.4972,2.9334,7.4967,4.6223,0.9946,4.6216]}]}],\"documentResults\":[{\"docType\":\"custom:e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"modelId\":\"e5c335d3-ccb9-45d8-839f-a348b3ad6b17\",\"pageRange\":[1,3],\"fields\":{\"MerchantPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[0.885,2.29,1.81,2.29,1.81,2.395,0.885,2.395],\"confidence\":0.99},\"Merchant\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.67,1.125,1.775,1.125,1.775,1.245,1.67,1.245],\"confidence\":0.059},\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"123 Hobbit Lane Redmond, WA\",\"text\":\"123 Hobbit Lane Redmond, WA\",\"page\":1,\"boundingBox\":[6.015,1.67,7.1,1.67,7.1,2.03,6.015,2.03],\"confidence\":0.986},\"Total\":{\"type\":\"string\",\"valueString\":\"430.00\",\"text\":\"430.00\",\"page\":1,\"boundingBox\":[5.94,5.565,6.4,5.565,6.4,5.675,5.94,5.675],\"confidence\":0.99},\"Tip\":{\"type\":\"string\",\"valueString\":\"100.00\",\"text\":\"100.00\",\"page\":1,\"boundingBox\":[5.81,5.345,6.26,5.345,6.26,5.455,5.81,5.455],\"confidence\":0.99},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[6.015,1.45,6.895,1.45,6.895,1.595,6.015,1.595],\"confidence\":0.992},\"FirstPrice\":{\"type\":\"string\",\"valueString\":\"10.99\",\"text\":\"10.99\",\"page\":1,\"boundingBox\":[5.425,3.21,5.78,3.21,5.78,3.32,5.425,3.32],\"confidence\":0.99},\"Tax\":{\"type\":\"string\",\"valueString\":\"30.00\",\"text\":\"30.00\",\"page\":1,\"boundingBox\":[5.835,5.125,6.2,5.125,6.2,5.235,5.835,5.235],\"confidence\":0.99},\"FirstItem\":{\"type\":\"string\",\"valueString\":\"A\",\"text\":\"A\",\"page\":1,\"boundingBox\":[1.085,3.21,1.175,3.21,1.175,3.32,1.085,3.32],\"confidence\":0.99},\"FirstQuantity\":{\"type\":\"string\",\"valueString\":\"1\",\"text\":\"1\",\"page\":1,\"boundingBox\":[3.26,3.21,3.32,3.21,3.32,3.32,3.26,3.32],\"confidence\":0.993},\"Subtotal\":{\"type\":\"string\",\"valueString\":\"300.00\",\"text\":\"300.00\",\"page\":1,\"boundingBox\":[6.18,4.905,6.63,4.905,6.63,5.015,6.18,5.015],\"confidence\":0.99},\"Signature\":{\"type\":\"string\",\"valueString\":\"Bilbo Baggins\",\"text\":\"Bilbo Baggins\",\"page\":1,\"boundingBox\":[2.05,6.655,3.04,6.655,3.04,6.8,2.05,6.8],\"confidence\":0.99},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"567 Main St. Redmond, WA\",\"text\":\"567 Main St. Redmond, WA\",\"page\":1,\"boundingBox\":[0.885,1.845,1.855,1.845,1.855,2.2,0.885,2.2],\"confidence\":0.986},\"Signature2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[2.07,6.655,3.09,6.655,3.09,6.8,2.07,6.8],\"confidence\":0.99},\"Customer2\":{\"type\":\"string\",\"valueString\":\"Frodo Baggins\",\"text\":\"Frodo Baggins\",\"page\":3,\"boundingBox\":[6.015,1.45,6.95,1.45,6.95,1.595,6.015,1.595],\"confidence\":0.993},\"Total2\":{\"type\":\"string\",\"valueString\":\"4300.00\",\"text\":\"4300.00\",\"page\":3,\"boundingBox\":[5.94,5.565,6.48,5.565,6.48,5.675,5.94,5.675],\"confidence\":0.993},\"Merchant2\":{\"type\":\"string\",\"valueString\":\"Company\",\"text\":\"Company\",\"page\":1,\"boundingBox\":[0.885,1.125,1.62,1.125,1.62,1.28,0.885,1.28],\"confidence\":0.024},\"CustomerPhoneNumber\":{\"type\":\"string\",\"valueString\":\"555-555-5555\",\"text\":\"555-555-5555\",\"page\":1,\"boundingBox\":[6.01,2.12,6.935,2.12,6.935,2.225,6.01,2.225],\"confidence\":0.99}},\"docTypeConfidence\":0.885}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json deleted file mode 100644 index 23ba0b86c2270..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlMultiPageUnlabeled[1].json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "55664e35-2c24-4c9f-8478-6eda93a8ce0f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "417", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "33b982c5-e8b8-4f07-9fa6-aa81bd1ef36f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:17 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "21c0f355-a78c-4f25-91da-72b32cedc644" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d35f24fe-1197-474f-bb26-b864828dc639", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d426119-e657-4b62-b4c1-52e7dac3b492\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:17Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15738d39-bd35-46fc-ba6d-953abb5f973f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e3f16a6-989a-45bc-ae39-8dddeb7c1db6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d426119-e657-4b62-b4c1-52e7dac3b492\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:17Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f5da368e-9b61-4073-9696-163265830de3" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d728321-e368-4a74-9af9-eeb70903009f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d426119-e657-4b62-b4c1-52e7dac3b492\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:17Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "60adf380-5c60-4f49-a5b3-fee829820994" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eaecfbaf-69bd-4dc4-b871-beb9b107c50c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d426119-e657-4b62-b4c1-52e7dac3b492\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:38Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6ec20b9b-958d-46c5-aa60-f5a43c67b4a0" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c8a87c8f-bfe1-4358-9655-d971de432c53", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1d426119-e657-4b62-b4c1-52e7dac3b492\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:38Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "94fb7ada-ea97-4f62-a4a7-15bc5385f8c2", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "431", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "053fe18d-c2ee-49be-8204-5e9adfdba784", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyzeresults/acb920b7-a86f-4583-a7a8-5dfb12366bfd", - "Date" : "Wed, 07 Jul 2021 06:32:38 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyzeResults/acb920b7-a86f-4583-a7a8-5dfb12366bfd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0922967a-227c-4369-8b76-ed57a6dd3826" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "536d033a-dc1e-41af-b1b1-9827524d13a9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:39Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:40Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyzeResults/acb920b7-a86f-4583-a7a8-5dfb12366bfd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "24f86c19-8a60-44b0-8ffa-e65c33b77a57" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4f96405a-8ba4-4987-9e78-cd7717dab56f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:39Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:40Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyzeResults/acb920b7-a86f-4583-a7a8-5dfb12366bfd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "453eb20c-8fc3-49d5-9cda-681408e76607" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "58f6fe98-bea3-4196-b33f-18625bd55b75", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:39Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:51Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1d426119-e657-4b62-b4c1-52e7dac3b492/analyzeResults/acb920b7-a86f-4583-a7a8-5dfb12366bfd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cab01305-ac24-437e-9d03-356fbad2257c" - }, - "Response" : { - "content-length" : "17290", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "21ce2974-02e9-404a-affc-4f5dbcb63295", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:39Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:51Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 2, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}, {\"page\": 3, \"angle\": 0, \"width\": 8.5, \"height\": 11.0, \"unit\": \"inch\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0556, 1.059, 7.0556, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4428, 7.1, 1.4428, 7.1, 1.8056, 6.0, 1.8056], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9556, 1.8848, 6.9556, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8889, 6.1319, 4.8889, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [6.1597, 4.8889, 6.6222, 4.8889, 6.6222, 5.0243, 6.1597, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7889, 5.1181, 5.7889, 5.2465, 5.5, 5.2465], \"elements\": null}, \"value\": {\"text\": \"30.00\", \"boundingBox\": [5.8125, 5.1146, 6.1833, 5.1146, 6.1833, 5.25, 5.8125, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.5, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.5, 5.4861], \"elements\": null}, \"value\": {\"text\": \"100.00\", \"boundingBox\": [5.7847, 5.3299, 6.2639, 5.3299, 6.2639, 5.4826, 5.7847, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.8958, 5.5486, 5.8958, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"430.00\", \"boundingBox\": [5.9194, 5.5521, 6.3861, 5.5521, 6.3861, 5.6875, 5.9194, 5.6875], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Bilbo Baggins\", \"boundingBox\": [2.0694, 6.6322, 3.0028, 6.6322, 3.0028, 6.804, 2.0694, 6.804], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.775, 2.9896, 5.775, 4.5938, 1.0694, 4.5938], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8306, 2.9965, 3.8306, 3.1354, 3.2431, 3.1354], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2361, 3.1944, 3.3083, 3.1944, 3.3083, 3.3229, 3.2361, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.7667, 3.1979, 5.7667, 3.3299, 5.4194, 3.3299], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"2\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.4097, 3.3222, 3.4097, 3.3222, 3.5451, 3.2431, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"14.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4139, 3.4167, 5.775, 3.4167, 5.775, 3.5451, 5.4139, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.6215, 3.3125, 3.6215, 3.3125, 3.7326, 3.2431, 3.7326], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"15.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.6215, 5.7708, 3.6215, 5.7708, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2431, 3.8438, 3.3125, 3.8438, 3.3125, 3.9722, 3.2431, 3.9722], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.8333, 5.7708, 3.8333, 5.7708, 3.9653, 5.4167, 3.9653], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"4\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0417, 3.3125, 4.0417, 3.3125, 4.1562, 3.2431, 4.1562], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4194, 4.0417, 5.7667, 4.0417, 5.7667, 4.1701, 5.4194, 4.1701], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"6\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3167, 4.2535, 3.3167, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"12.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4167, 4.2569, 5.7639, 4.2569, 5.7639, 4.3854, 5.4167, 4.3854], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"8\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2389, 4.4583, 3.3083, 4.4583, 3.3083, 4.5799, 3.2389, 4.5799], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"22.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4056, 4.4549, 5.775, 4.4549, 5.775, 4.5938, 5.4056, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}, {\"page\": 2, \"keyValuePairs\": [], \"tables\": [], \"clusterId\": null}, {\"page\": 3, \"keyValuePairs\": [{\"key\": {\"text\": \"Invoice For:\", \"boundingBox\": [6.0028, 1.059, 7.0583, 1.059, 7.0583, 1.2292, 6.0028, 1.2292], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins 123 Hobbit Lane\", \"boundingBox\": [6.0, 1.4444, 7.0972, 1.4444, 7.0972, 1.8046, 6.0, 1.8046], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [0.875, 1.4757, 1.5764, 1.4757, 1.5764, 1.6285, 0.875, 1.6285], \"elements\": null}, \"value\": {\"text\": \"567 Main St.\", \"boundingBox\": [0.875, 1.8368, 1.7194, 1.8368, 1.7194, 1.9698, 0.875, 1.9698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [6.0, 1.8848, 6.9514, 1.8848, 6.9514, 2.0256, 6.0, 2.0256], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [5.9972, 2.1076, 6.9306, 2.1076, 6.9306, 2.2465, 5.9972, 2.2465], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Redmond, WA\", \"boundingBox\": [0.875, 2.0547, 1.8264, 2.0547, 1.8264, 2.1962, 0.875, 2.1962], \"elements\": null}, \"value\": {\"text\": \"555-555-5555\", \"boundingBox\": [0.875, 2.2743, 1.8056, 2.2743, 1.8056, 2.4132, 0.875, 2.4132], \"elements\": null}, \"confidence\": 0.29}, {\"key\": {\"text\": \"Subtotal:\", \"boundingBox\": [5.4972, 4.8924, 6.1319, 4.8924, 6.1319, 5.0278, 5.4972, 5.0278], \"elements\": null}, \"value\": {\"text\": \"3000.00\", \"boundingBox\": [6.1556, 4.8889, 6.7014, 4.8889, 6.7014, 5.0243, 6.1556, 5.0243], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tax:\", \"boundingBox\": [5.5, 5.1181, 5.7917, 5.1181, 5.7917, 5.25, 5.5, 5.25], \"elements\": null}, \"value\": {\"text\": \"300.00\", \"boundingBox\": [5.8194, 5.1146, 6.2778, 5.1146, 6.2778, 5.25, 5.8194, 5.25], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Tip:\", \"boundingBox\": [5.4972, 5.3299, 5.7528, 5.3299, 5.7528, 5.4861, 5.4972, 5.4861], \"elements\": null}, \"value\": {\"text\": \"1000.00\", \"boundingBox\": [5.7806, 5.3299, 6.3403, 5.3299, 6.3403, 5.4826, 5.7806, 5.4826], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Total:\", \"boundingBox\": [5.5, 5.5486, 5.9, 5.5486, 5.9, 5.6875, 5.5, 5.6875], \"elements\": null}, \"value\": {\"text\": \"4300.00\", \"boundingBox\": [5.9278, 5.5521, 6.4792, 5.5521, 6.4792, 5.691, 5.9278, 5.691], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Signature:\", \"boundingBox\": [1.0, 6.6458, 1.7194, 6.6458, 1.7194, 6.8125, 1.0, 6.8125], \"elements\": null}, \"value\": {\"text\": \"Frodo Baggins\", \"boundingBox\": [2.0722, 6.6474, 3.0528, 6.6474, 3.0528, 6.7903, 2.0722, 6.7903], \"elements\": null}, \"confidence\": 1.0}], \"tables\": [{\"rows\": 8, \"columns\": 3, \"boundingBox\": [1.0694, 2.9896, 5.8611, 2.9896, 5.8611, 4.5972, 1.0694, 4.5972], \"cells\": [{\"text\": \"Item\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [1.0764, 2.9931, 1.3167, 2.9931, 1.3167, 3.1146, 1.0764, 3.1146], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [3.2431, 2.9965, 3.8403, 2.9965, 3.8403, 3.1389, 3.2431, 3.1389], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [5.4, 2.9896, 5.7292, 2.9896, 5.7292, 3.1181, 5.4, 3.1181], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"A\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.2049, 1.1528, 3.2049, 1.1528, 3.3229, 1.0764, 3.3229], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.1979, 3.3861, 3.1979, 3.3861, 3.3264, 3.2472, 3.3264], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.99\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [5.4194, 3.1979, 5.8611, 3.1979, 5.8611, 3.3333, 5.4194, 3.3333], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"B\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [1.0806, 3.4167, 1.1528, 3.4167, 1.1528, 3.5451, 1.0806, 3.5451], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.4132, 3.3889, 3.4132, 3.3889, 3.5417, 3.2472, 3.5417], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"140.67\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.4201, 5.8583, 3.4201, 5.8583, 3.5486, 5.4167, 3.5486], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"C\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [1.0722, 3.6285, 1.1389, 3.6285, 1.1389, 3.7431, 1.0722, 3.7431], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [3.2472, 3.6215, 3.3889, 3.6215, 3.3889, 3.7465, 3.2472, 3.7465], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"150.66\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [5.4167, 3.625, 5.85, 3.625, 5.85, 3.7569, 5.4167, 3.7569], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"D\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [1.0764, 3.8403, 1.1528, 3.8403, 1.1528, 3.9618, 1.0764, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"10\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [3.2389, 3.8368, 3.3861, 3.8368, 3.3861, 3.9618, 3.2389, 3.9618], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [5.4028, 3.8333, 5.8583, 3.8333, 5.8583, 3.9688, 5.4028, 3.9688], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"E\", \"rowIndex\": 5, \"columnIndex\": 0, \"boundingBox\": [1.0833, 4.0486, 1.1458, 4.0486, 1.1458, 4.1597, 1.0833, 4.1597], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"40\", \"rowIndex\": 5, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.0382, 3.3889, 4.0382, 3.3889, 4.1632, 3.2431, 4.1632], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 5, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.0417, 5.8611, 4.0417, 5.8611, 4.1736, 5.4097, 4.1736], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"F\", \"rowIndex\": 6, \"columnIndex\": 0, \"boundingBox\": [1.0694, 4.2604, 1.1389, 4.2604, 1.1389, 4.3785, 1.0694, 4.3785], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"60\", \"rowIndex\": 6, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.2535, 3.3917, 4.2535, 3.3917, 4.3819, 3.2431, 4.3819], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"120.00\", \"rowIndex\": 6, \"columnIndex\": 2, \"boundingBox\": [5.4097, 4.2535, 5.8472, 4.2535, 5.8472, 4.3889, 5.4097, 4.3889], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"G\", \"rowIndex\": 7, \"columnIndex\": 0, \"boundingBox\": [1.0806, 4.4653, 1.15, 4.4653, 1.15, 4.5903, 1.0806, 4.5903], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"80\", \"rowIndex\": 7, \"columnIndex\": 1, \"boundingBox\": [3.2431, 4.4583, 3.3917, 4.4583, 3.3917, 4.5938, 3.2431, 4.5938], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"220.00\", \"rowIndex\": 7, \"columnIndex\": 2, \"boundingBox\": [5.4139, 4.4618, 5.8542, 4.4618, 5.8542, 4.5972, 5.4139, 4.5972], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlNonExistModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlNonExistModelId[1].json deleted file mode 100644 index 9315413cd7744..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlNonExistModelId[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00000000-0000-0000-0000-000000000000/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0fe856f-20b2-4cfe-82ca-b455fc505564", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "124", - "x-envoy-upstream-service-time" : "89", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "42d8a3d2-2cde-4466-a241-20d322af7c72", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready, Model Id: 00000000-0000-0000-0000-000000000000\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json deleted file mode 100644 index b91df4619089e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledDataIncludeFieldElements[1].json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a19174c2-0e4a-4172-9feb-45c778a50b3f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "714", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b7b4307e-769e-475f-8843-8891cd3a0e18", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:32:07 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "993c01d7-b255-4b3b-9da7-d8ad05319bca" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d2650dc-29f8-438f-963e-bb0df72611ee", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e3265c35-4b9b-4f76-96c3-d8ef5620ed84\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "455b5c40-ece0-42ae-b293-5273228f2ad5" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "348c2d1d-069b-4c85-a0df-306ee88f29a5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e3265c35-4b9b-4f76-96c3-d8ef5620ed84\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1723b45a-678b-4173-9ee8-9c7e1e2753c9" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dab41a2d-0fe4-47f7-aef1-0e9c6d41af3b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e3265c35-4b9b-4f76-96c3-d8ef5620ed84\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8fb8fc2d-eec1-4099-ba17-1e8915a37aba" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "25aec154-171d-442d-bdb5-edb06f597679", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e3265c35-4b9b-4f76-96c3-d8ef5620ed84\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "11c62baa-714f-44ea-80b1-4e9315f1d2e6" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "850029e5-6c16-400e-9508-c435839c9bc9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e3265c35-4b9b-4f76-96c3-d8ef5620ed84\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:32:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:32:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "abcf99de-c218-4914-87b4-6146e5ac914e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "168", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e74abfc7-b3b4-46e9-8e28-1113dbef5d4b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84/analyzeresults/fe3eb090-b2bd-4bd4-8f43-17e7e72271bf", - "Date" : "Wed, 07 Jul 2021 06:32:28 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84/analyzeResults/fe3eb090-b2bd-4bd4-8f43-17e7e72271bf", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ee6620fc-d507-4bd0-b76c-114126fbeea7" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9f3bd6d7-28e8-4c70-b718-b63fdef730f5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:28Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:28Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84/analyzeResults/fe3eb090-b2bd-4bd4-8f43-17e7e72271bf", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bad8b8b4-1198-4087-a73f-4461cac54f12" - }, - "Response" : { - "content-length" : "33020", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e10e5c09-83b2-4f26-88c7-266781b0a190", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:28Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:38Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [{\"text\": \"Purchase Order\", \"boundingBox\": [137, 140, 350, 140, 350, 167, 137, 167], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [137, 140, 259, 140, 259, 167, 137, 167], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [265, 139, 350, 139, 350, 167, 265, 167], \"confidence\": 0.996}]}, {\"text\": \"Hero Limited\", \"boundingBox\": [621, 206, 1062, 206, 1062, 266, 621, 266], \"words\": [{\"text\": \"Hero\", \"boundingBox\": [621, 208, 773, 208, 773, 266, 621, 266], \"confidence\": 0.994}, {\"text\": \"Limited\", \"boundingBox\": [797, 205, 1062, 205, 1062, 266, 797, 266], \"confidence\": 0.996}]}, {\"text\": \"Purchase Order\", \"boundingBox\": [1113, 322, 1550, 322, 1550, 369, 1113, 369], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1113, 322, 1367, 322, 1367, 368, 1113, 368], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1386, 321, 1550, 321, 1550, 370, 1386, 370], \"confidence\": 0.996}]}, {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"words\": [{\"text\": \"Company\", \"boundingBox\": [163, 353, 272, 353, 272, 378, 163, 378], \"confidence\": 0.996}, {\"text\": \"Phone:\", \"boundingBox\": [277, 351, 361, 351, 361, 379, 277, 379], \"confidence\": 0.992}]}, {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"words\": [{\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"confidence\": 0.994}]}, {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"words\": [{\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"confidence\": 0.995}]}, {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"words\": [{\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"confidence\": 0.983}]}, {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"words\": [{\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"confidence\": 0.994}]}, {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"words\": [{\"text\": \"Dated\", \"boundingBox\": [1025, 421, 1104, 421, 1104, 448, 1025, 448], \"confidence\": 0.994}, {\"text\": \"As:\", \"boundingBox\": [1112, 420, 1158, 420, 1158, 448, 1112, 448], \"confidence\": 0.998}]}, {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"words\": [{\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"confidence\": 0.988}]}, {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1023, 461, 1149, 461, 1149, 488, 1023, 488], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1155, 461, 1238, 461, 1238, 489, 1155, 489], \"confidence\": 0.996}, {\"text\": \"#:\", \"boundingBox\": [1243, 461, 1273, 461, 1273, 489, 1243, 489], \"confidence\": 0.966}]}, {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"words\": [{\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"confidence\": 0.994}]}, {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"words\": [{\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"confidence\": 0.949}]}, {\"text\": \"Shipped To\", \"boundingBox\": [167, 547, 392, 547, 392, 592, 167, 592], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 547, 328, 547, 328, 592, 167, 592], \"confidence\": 0.996}, {\"text\": \"To\", \"boundingBox\": [341, 547, 392, 547, 392, 592, 341, 592], \"confidence\": 0.994}]}, {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"words\": [{\"text\": \"Vendor\", \"boundingBox\": [160, 611, 252, 611, 252, 637, 160, 637], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [257, 610, 344, 610, 344, 638, 257, 638], \"confidence\": 0.996}]}, {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"words\": [{\"text\": \"Hillary\", \"boundingBox\": [349, 609, 431, 609, 431, 639, 349, 639], \"confidence\": 0.996}, {\"text\": \"Swank\", \"boundingBox\": [436, 609, 520, 609, 520, 639, 436, 639], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"words\": [{\"text\": \"Company\", \"boundingBox\": [160, 649, 278, 649, 278, 676, 160, 676], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [283, 647, 371, 647, 371, 678, 283, 678], \"confidence\": 0.996}]}, {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"words\": [{\"text\": \"Higgly\", \"boundingBox\": [376, 647, 453, 647, 453, 679, 376, 679], \"confidence\": 0.996}, {\"text\": \"Wiggly\", \"boundingBox\": [458, 646, 544, 646, 544, 679, 458, 679], \"confidence\": 0.996}, {\"text\": \"Books\", \"boundingBox\": [549, 646, 629, 646, 629, 678, 549, 678], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"confidence\": 0.994}]}, {\"text\": \"938 NE Burner Road\", \"boundingBox\": [274, 685, 523, 685, 523, 713, 274, 713], \"words\": [{\"text\": \"938\", \"boundingBox\": [274, 685, 321, 685, 321, 712, 274, 712], \"confidence\": 0.994}, {\"text\": \"NE\", \"boundingBox\": [326, 685, 362, 685, 362, 713, 326, 713], \"confidence\": 0.997}, {\"text\": \"Burner\", \"boundingBox\": [367, 685, 453, 685, 453, 713, 367, 713], \"confidence\": 0.996}, {\"text\": \"Road\", \"boundingBox\": [458, 685, 523, 685, 523, 713, 458, 713], \"confidence\": 0.994}]}, {\"text\": \"Boulder City, CO 92848\", \"boundingBox\": [279, 722, 561, 722, 561, 751, 279, 751], \"words\": [{\"text\": \"Boulder\", \"boundingBox\": [279, 722, 371, 722, 371, 750, 279, 750], \"confidence\": 0.996}, {\"text\": \"City,\", \"boundingBox\": [376, 722, 433, 722, 433, 751, 376, 751], \"confidence\": 0.996}, {\"text\": \"CO\", \"boundingBox\": [438, 722, 474, 722, 474, 751, 438, 751], \"confidence\": 0.997}, {\"text\": \"92848\", \"boundingBox\": [483, 722, 561, 722, 561, 751, 483, 751], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"confidence\": 0.994}]}, {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"words\": [{\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"confidence\": 0.982}]}, {\"text\": \"Shipped From\", \"boundingBox\": [167, 784, 432, 784, 432, 830, 167, 830], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 784, 326, 784, 326, 830, 167, 830], \"confidence\": 0.996}, {\"text\": \"From\", \"boundingBox\": [335, 785, 432, 785, 432, 830, 335, 830], \"confidence\": 0.985}]}, {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"words\": [{\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"confidence\": 0.996}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [253, 852, 337, 852, 337, 879, 253, 879], \"confidence\": 0.996}, {\"text\": \"Sanders\", \"boundingBox\": [343, 852, 445, 852, 445, 880, 343, 880], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"words\": [{\"text\": \"Company\", \"boundingBox\": [164, 890, 282, 890, 282, 919, 164, 919], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [288, 890, 373, 890, 373, 919, 288, 919], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [379, 889, 467, 889, 467, 919, 379, 919], \"confidence\": 0.996}, {\"text\": \"Book\", \"boundingBox\": [473, 889, 537, 889, 537, 919, 473, 919], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [543, 889, 629, 889, 629, 920, 543, 920], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"confidence\": 0.994}]}, {\"text\": \"383 N Kinnick Road\", \"boundingBox\": [280, 926, 516, 926, 516, 953, 280, 953], \"words\": [{\"text\": \"383\", \"boundingBox\": [280, 925, 325, 925, 325, 953, 280, 953], \"confidence\": 0.998}, {\"text\": \"N\", \"boundingBox\": [330, 925, 345, 925, 345, 953, 330, 953], \"confidence\": 0.995}, {\"text\": \"Kinnick\", \"boundingBox\": [358, 926, 448, 926, 448, 953, 358, 953], \"confidence\": 0.995}, {\"text\": \"Road\", \"boundingBox\": [453, 926, 516, 926, 516, 954, 453, 954], \"confidence\": 0.994}]}, {\"text\": \"Seattle, WA 38383\", \"boundingBox\": [282, 965, 513, 965, 513, 991, 282, 991], \"words\": [{\"text\": \"Seattle,\", \"boundingBox\": [282, 965, 376, 965, 376, 991, 282, 991], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [382, 964, 425, 964, 425, 991, 382, 991], \"confidence\": 0.997}, {\"text\": \"38383\", \"boundingBox\": [435, 964, 513, 964, 513, 991, 435, 991], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"confidence\": 0.996}]}, {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"words\": [{\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"confidence\": 0.994}]}, {\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"words\": [{\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 0.994}]}, {\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 0.994}]}, {\"text\": \"Unit Price\", \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"words\": [{\"text\": \"Unit\", \"boundingBox\": [1111, 1047, 1179, 1047, 1179, 1078, 1111, 1078], \"confidence\": 0.994}, {\"text\": \"Price\", \"boundingBox\": [1185, 1047, 1266, 1047, 1266, 1078, 1185, 1078], \"confidence\": 0.996}]}, {\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"words\": [{\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 0.994}]}, {\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"words\": [{\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 0.994}]}, {\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 0.994}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 0.996}]}, {\"text\": \"Covers Small\", \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"words\": [{\"text\": \"Covers\", \"boundingBox\": [170, 1136, 255, 1136, 255, 1161, 170, 1161], \"confidence\": 0.994}, {\"text\": \"Small\", \"boundingBox\": [260, 1136, 333, 1136, 333, 1161, 260, 1161], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 0.993}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 0.996}]}, {\"text\": \"Feather Bookmark\", \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"words\": [{\"text\": \"Feather\", \"boundingBox\": [173, 1180, 266, 1180, 266, 1206, 173, 1206], \"confidence\": 0.996}, {\"text\": \"Bookmark\", \"boundingBox\": [271, 1179, 399, 1179, 399, 1206, 271, 1206], \"confidence\": 0.995}]}, {\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 0.993}]}, {\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 0.994}]}, {\"text\": \"Copper Swirl Marker\", \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"words\": [{\"text\": \"Copper\", \"boundingBox\": [170, 1223, 259, 1223, 259, 1253, 170, 1253], \"confidence\": 0.996}, {\"text\": \"Swirl\", \"boundingBox\": [265, 1222, 328, 1222, 328, 1252, 265, 1252], \"confidence\": 0.996}, {\"text\": \"Marker\", \"boundingBox\": [334, 1222, 429, 1222, 429, 1251, 334, 1251], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 0.986}]}, {\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 0.074}]}, {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"words\": [{\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"confidence\": 0.995}]}, {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"words\": [{\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"confidence\": 0.995}]}, {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"words\": [{\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"confidence\": 0.997}]}, {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"words\": [{\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"confidence\": 0.992}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [484, 1671, 761, 1671, 761, 1706, 484, 1706], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [484, 1671, 595, 1671, 595, 1706, 484, 1706], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [602, 1671, 761, 1671, 761, 1706, 602, 1706], \"confidence\": 0.997}]}, {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"words\": [{\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"confidence\": 0.994}]}, {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"words\": [{\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"confidence\": 0.986}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [542, 1719, 716, 1719, 716, 1742, 542, 1742], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [542, 1719, 616, 1719, 616, 1742, 542, 1742], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [621, 1719, 716, 1719, 716, 1742, 621, 1742], \"confidence\": 0.996}]}, {\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"words\": [{\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"confidence\": 0.994}]}, {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"words\": [{\"text\": \"Additional\", \"boundingBox\": [173, 1796, 354, 1796, 354, 1831, 173, 1831], \"confidence\": 0.993}, {\"text\": \"Notes:\", \"boundingBox\": [361, 1796, 479, 1796, 479, 1832, 361, 1832], \"confidence\": 0.996}]}, {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy.\", \"boundingBox\": [175, 1880, 707, 1880, 707, 1909, 175, 1909], \"words\": [{\"text\": \"Do\", \"boundingBox\": [175, 1881, 204, 1881, 204, 1907, 175, 1907], \"confidence\": 0.994}, {\"text\": \"not\", \"boundingBox\": [209, 1881, 254, 1881, 254, 1907, 209, 1907], \"confidence\": 0.997}, {\"text\": \"Jostle\", \"boundingBox\": [259, 1880, 332, 1880, 332, 1908, 259, 1908], \"confidence\": 0.996}, {\"text\": \"Box.\", \"boundingBox\": [338, 1880, 401, 1880, 401, 1909, 338, 1909], \"confidence\": 0.994}, {\"text\": \"Unpack\", \"boundingBox\": [406, 1880, 499, 1880, 499, 1909, 406, 1909], \"confidence\": 0.996}, {\"text\": \"carefully.\", \"boundingBox\": [504, 1880, 623, 1880, 623, 1910, 504, 1910], \"confidence\": 0.994}, {\"text\": \"Enjoy.\", \"boundingBox\": [628, 1880, 707, 1880, 707, 1911, 628, 1911], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\", \"boundingBox\": [169, 1924, 1509, 1924, 1509, 1958, 169, 1958], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [169, 1924, 269, 1924, 269, 1959, 169, 1959], \"confidence\": 0.994}, {\"text\": \"Book\", \"boundingBox\": [276, 1924, 354, 1924, 354, 1959, 276, 1959], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [361, 1924, 464, 1924, 464, 1958, 361, 1958], \"confidence\": 0.994}, {\"text\": \"will\", \"boundingBox\": [471, 1924, 519, 1924, 519, 1958, 471, 1958], \"confidence\": 0.991}, {\"text\": \"refund\", \"boundingBox\": [526, 1924, 625, 1924, 625, 1958, 526, 1958], \"confidence\": 0.996}, {\"text\": \"you\", \"boundingBox\": [632, 1924, 688, 1924, 688, 1958, 632, 1958], \"confidence\": 0.997}, {\"text\": \"50%\", \"boundingBox\": [696, 1924, 762, 1924, 762, 1958, 696, 1958], \"confidence\": 0.986}, {\"text\": \"per\", \"boundingBox\": [769, 1924, 822, 1924, 822, 1958, 769, 1958], \"confidence\": 0.998}, {\"text\": \"book\", \"boundingBox\": [829, 1924, 902, 1924, 902, 1958, 829, 1958], \"confidence\": 0.994}, {\"text\": \"if\", \"boundingBox\": [909, 1924, 930, 1924, 930, 1958, 909, 1958], \"confidence\": 0.997}, {\"text\": \"returned\", \"boundingBox\": [937, 1924, 1063, 1924, 1063, 1958, 937, 1958], \"confidence\": 0.994}, {\"text\": \"within\", \"boundingBox\": [1070, 1924, 1157, 1924, 1157, 1958, 1070, 1958], \"confidence\": 0.995}, {\"text\": \"60\", \"boundingBox\": [1164, 1924, 1203, 1924, 1203, 1958, 1164, 1958], \"confidence\": 0.999}, {\"text\": \"days\", \"boundingBox\": [1210, 1924, 1283, 1924, 1283, 1958, 1210, 1958], \"confidence\": 0.994}, {\"text\": \"of\", \"boundingBox\": [1290, 1924, 1322, 1924, 1322, 1958, 1290, 1958], \"confidence\": 0.999}, {\"text\": \"reading\", \"boundingBox\": [1329, 1924, 1441, 1924, 1441, 1958, 1329, 1958], \"confidence\": 0.996}, {\"text\": \"and\", \"boundingBox\": [1448, 1924, 1509, 1924, 1509, 1958, 1448, 1958], \"confidence\": 0.997}]}, {\"text\": \"offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1958, 786, 1958, 786, 1992, 169, 1992], \"words\": [{\"text\": \"offer\", \"boundingBox\": [169, 1958, 235, 1958, 235, 1991, 169, 1991], \"confidence\": 0.991}, {\"text\": \"you\", \"boundingBox\": [241, 1958, 296, 1958, 296, 1991, 241, 1991], \"confidence\": 0.994}, {\"text\": \"25%\", \"boundingBox\": [307, 1958, 373, 1958, 373, 1992, 307, 1992], \"confidence\": 0.997}, {\"text\": \"off\", \"boundingBox\": [380, 1958, 420, 1958, 420, 1992, 380, 1992], \"confidence\": 0.997}, {\"text\": \"you\", \"boundingBox\": [427, 1958, 482, 1958, 482, 1992, 427, 1992], \"confidence\": 0.997}, {\"text\": \"next\", \"boundingBox\": [489, 1958, 555, 1958, 555, 1992, 489, 1992], \"confidence\": 0.994}, {\"text\": \"total\", \"boundingBox\": [561, 1959, 630, 1959, 630, 1992, 561, 1992], \"confidence\": 0.996}, {\"text\": \"purchase.\", \"boundingBox\": [636, 1959, 786, 1959, 786, 1991, 636, 1991], \"confidence\": 0.994}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\"]}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": [\"#/readResults/0/lines/4/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": [\"#/readResults/0/lines/5/words/0\"]}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": [\"#/readResults/0/lines/6/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": [\"#/readResults/0/lines/7/words/0\"]}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": [\"#/readResults/0/lines/12/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": [\"#/readResults/0/lines/14/words/0\", \"#/readResults/0/lines/14/words/1\"]}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": [\"#/readResults/0/lines/15/words/0\", \"#/readResults/0/lines/15/words/1\"]}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": [\"#/readResults/0/lines/16/words/0\", \"#/readResults/0/lines/16/words/1\"]}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": [\"#/readResults/0/lines/17/words/0\", \"#/readResults/0/lines/17/words/1\", \"#/readResults/0/lines/17/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": [\"#/readResults/0/lines/18/words/0\"]}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": [\"#/readResults/0/lines/19/words/0\", \"#/readResults/0/lines/19/words/1\", \"#/readResults/0/lines/19/words/2\", \"#/readResults/0/lines/19/words/3\", \"#/readResults/0/lines/20/words/0\", \"#/readResults/0/lines/20/words/1\", \"#/readResults/0/lines/20/words/2\", \"#/readResults/0/lines/20/words/3\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": [\"#/readResults/0/lines/21/words/0\"]}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": [\"#/readResults/0/lines/22/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": [\"#/readResults/0/lines/24/words/0\"]}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": [\"#/readResults/0/lines/25/words/0\", \"#/readResults/0/lines/25/words/1\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": [\"#/readResults/0/lines/26/words/0\", \"#/readResults/0/lines/26/words/1\"]}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": [\"#/readResults/0/lines/27/words/0\", \"#/readResults/0/lines/27/words/1\", \"#/readResults/0/lines/27/words/2\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": [\"#/readResults/0/lines/28/words/0\"]}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": [\"#/readResults/0/lines/29/words/0\", \"#/readResults/0/lines/29/words/1\", \"#/readResults/0/lines/29/words/2\", \"#/readResults/0/lines/29/words/3\", \"#/readResults/0/lines/30/words/0\", \"#/readResults/0/lines/30/words/1\", \"#/readResults/0/lines/30/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": [\"#/readResults/0/lines/31/words/0\"]}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": [\"#/readResults/0/lines/32/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": [\"#/readResults/0/lines/53/words/0\"]}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": [\"#/readResults/0/lines/54/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": [\"#/readResults/0/lines/55/words/0\"]}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": [\"#/readResults/0/lines/56/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": [\"#/readResults/0/lines/58/words/0\"]}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": [\"#/readResults/0/lines/59/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": [\"#/readResults/0/lines/62/words/0\", \"#/readResults/0/lines/62/words/1\"]}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": [\"#/readResults/0/lines/63/words/0\", \"#/readResults/0/lines/63/words/1\", \"#/readResults/0/lines/63/words/2\", \"#/readResults/0/lines/63/words/3\", \"#/readResults/0/lines/63/words/4\", \"#/readResults/0/lines/63/words/5\", \"#/readResults/0/lines/63/words/6\", \"#/readResults/0/lines/64/words/0\", \"#/readResults/0/lines/64/words/1\", \"#/readResults/0/lines/64/words/2\", \"#/readResults/0/lines/64/words/3\", \"#/readResults/0/lines/64/words/4\", \"#/readResults/0/lines/64/words/5\", \"#/readResults/0/lines/64/words/6\", \"#/readResults/0/lines/64/words/7\", \"#/readResults/0/lines/64/words/8\", \"#/readResults/0/lines/64/words/9\", \"#/readResults/0/lines/64/words/10\", \"#/readResults/0/lines/64/words/11\", \"#/readResults/0/lines/64/words/12\", \"#/readResults/0/lines/64/words/13\", \"#/readResults/0/lines/64/words/14\", \"#/readResults/0/lines/64/words/15\", \"#/readResults/0/lines/64/words/16\", \"#/readResults/0/lines/65/words/0\", \"#/readResults/0/lines/65/words/1\", \"#/readResults/0/lines/65/words/2\", \"#/readResults/0/lines/65/words/3\", \"#/readResults/0/lines/65/words/4\", \"#/readResults/0/lines/65/words/5\", \"#/readResults/0/lines/65/words/6\", \"#/readResults/0/lines/65/words/7\"]}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/34/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/35/words/0\", \"#/readResults/0/lines/35/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/36/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/37/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/38/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/39/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/40/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/41/words/0\", \"#/readResults/0/lines/41/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/42/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/43/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/44/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/45/words/0\", \"#/readResults/0/lines/45/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/46/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/47/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/48/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/49/words/0\", \"#/readResults/0/lines/49/words/1\", \"#/readResults/0/lines/49/words/2\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/50/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/51/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/52/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e3265c35-4b9b-4f76-96c3-d8ef5620ed84/analyzeResults/fe3eb090-b2bd-4bd4-8f43-17e7e72271bf", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bd795857-c191-4594-943c-249542989316" - }, - "Response" : { - "content-length" : "33020", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3c29b33e-bff0-4ff9-8ea6-b0c14eda2cab", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:28Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:38Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [{\"text\": \"Purchase Order\", \"boundingBox\": [137, 140, 350, 140, 350, 167, 137, 167], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [137, 140, 259, 140, 259, 167, 137, 167], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [265, 139, 350, 139, 350, 167, 265, 167], \"confidence\": 0.996}]}, {\"text\": \"Hero Limited\", \"boundingBox\": [621, 206, 1062, 206, 1062, 266, 621, 266], \"words\": [{\"text\": \"Hero\", \"boundingBox\": [621, 208, 773, 208, 773, 266, 621, 266], \"confidence\": 0.994}, {\"text\": \"Limited\", \"boundingBox\": [797, 205, 1062, 205, 1062, 266, 797, 266], \"confidence\": 0.996}]}, {\"text\": \"Purchase Order\", \"boundingBox\": [1113, 322, 1550, 322, 1550, 369, 1113, 369], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1113, 322, 1367, 322, 1367, 368, 1113, 368], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1386, 321, 1550, 321, 1550, 370, 1386, 370], \"confidence\": 0.996}]}, {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"words\": [{\"text\": \"Company\", \"boundingBox\": [163, 353, 272, 353, 272, 378, 163, 378], \"confidence\": 0.996}, {\"text\": \"Phone:\", \"boundingBox\": [277, 351, 361, 351, 361, 379, 277, 379], \"confidence\": 0.992}]}, {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"words\": [{\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"confidence\": 0.994}]}, {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"words\": [{\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"confidence\": 0.995}]}, {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"words\": [{\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"confidence\": 0.983}]}, {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"words\": [{\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"confidence\": 0.994}]}, {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"words\": [{\"text\": \"Dated\", \"boundingBox\": [1025, 421, 1104, 421, 1104, 448, 1025, 448], \"confidence\": 0.994}, {\"text\": \"As:\", \"boundingBox\": [1112, 420, 1158, 420, 1158, 448, 1112, 448], \"confidence\": 0.998}]}, {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"words\": [{\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"confidence\": 0.988}]}, {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"words\": [{\"text\": \"Purchase\", \"boundingBox\": [1023, 461, 1149, 461, 1149, 488, 1023, 488], \"confidence\": 0.995}, {\"text\": \"Order\", \"boundingBox\": [1155, 461, 1238, 461, 1238, 489, 1155, 489], \"confidence\": 0.996}, {\"text\": \"#:\", \"boundingBox\": [1243, 461, 1273, 461, 1273, 489, 1243, 489], \"confidence\": 0.966}]}, {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"words\": [{\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"confidence\": 0.994}]}, {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"words\": [{\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"confidence\": 0.949}]}, {\"text\": \"Shipped To\", \"boundingBox\": [167, 547, 392, 547, 392, 592, 167, 592], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 547, 328, 547, 328, 592, 167, 592], \"confidence\": 0.996}, {\"text\": \"To\", \"boundingBox\": [341, 547, 392, 547, 392, 592, 341, 592], \"confidence\": 0.994}]}, {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"words\": [{\"text\": \"Vendor\", \"boundingBox\": [160, 611, 252, 611, 252, 637, 160, 637], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [257, 610, 344, 610, 344, 638, 257, 638], \"confidence\": 0.996}]}, {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"words\": [{\"text\": \"Hillary\", \"boundingBox\": [349, 609, 431, 609, 431, 639, 349, 639], \"confidence\": 0.996}, {\"text\": \"Swank\", \"boundingBox\": [436, 609, 520, 609, 520, 639, 436, 639], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"words\": [{\"text\": \"Company\", \"boundingBox\": [160, 649, 278, 649, 278, 676, 160, 676], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [283, 647, 371, 647, 371, 678, 283, 678], \"confidence\": 0.996}]}, {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"words\": [{\"text\": \"Higgly\", \"boundingBox\": [376, 647, 453, 647, 453, 679, 376, 679], \"confidence\": 0.996}, {\"text\": \"Wiggly\", \"boundingBox\": [458, 646, 544, 646, 544, 679, 458, 679], \"confidence\": 0.996}, {\"text\": \"Books\", \"boundingBox\": [549, 646, 629, 646, 629, 678, 549, 678], \"confidence\": 0.994}]}, {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"confidence\": 0.994}]}, {\"text\": \"938 NE Burner Road\", \"boundingBox\": [274, 685, 523, 685, 523, 713, 274, 713], \"words\": [{\"text\": \"938\", \"boundingBox\": [274, 685, 321, 685, 321, 712, 274, 712], \"confidence\": 0.994}, {\"text\": \"NE\", \"boundingBox\": [326, 685, 362, 685, 362, 713, 326, 713], \"confidence\": 0.997}, {\"text\": \"Burner\", \"boundingBox\": [367, 685, 453, 685, 453, 713, 367, 713], \"confidence\": 0.996}, {\"text\": \"Road\", \"boundingBox\": [458, 685, 523, 685, 523, 713, 458, 713], \"confidence\": 0.994}]}, {\"text\": \"Boulder City, CO 92848\", \"boundingBox\": [279, 722, 561, 722, 561, 751, 279, 751], \"words\": [{\"text\": \"Boulder\", \"boundingBox\": [279, 722, 371, 722, 371, 750, 279, 750], \"confidence\": 0.996}, {\"text\": \"City,\", \"boundingBox\": [376, 722, 433, 722, 433, 751, 376, 751], \"confidence\": 0.996}, {\"text\": \"CO\", \"boundingBox\": [438, 722, 474, 722, 474, 751, 438, 751], \"confidence\": 0.997}, {\"text\": \"92848\", \"boundingBox\": [483, 722, 561, 722, 561, 751, 483, 751], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"confidence\": 0.994}]}, {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"words\": [{\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"confidence\": 0.982}]}, {\"text\": \"Shipped From\", \"boundingBox\": [167, 784, 432, 784, 432, 830, 167, 830], \"words\": [{\"text\": \"Shipped\", \"boundingBox\": [167, 784, 326, 784, 326, 830, 167, 830], \"confidence\": 0.996}, {\"text\": \"From\", \"boundingBox\": [335, 785, 432, 785, 432, 830, 335, 830], \"confidence\": 0.985}]}, {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"words\": [{\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"confidence\": 0.996}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [253, 852, 337, 852, 337, 879, 253, 879], \"confidence\": 0.996}, {\"text\": \"Sanders\", \"boundingBox\": [343, 852, 445, 852, 445, 880, 343, 880], \"confidence\": 0.996}]}, {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"words\": [{\"text\": \"Company\", \"boundingBox\": [164, 890, 282, 890, 282, 919, 164, 919], \"confidence\": 0.996}, {\"text\": \"Name:\", \"boundingBox\": [288, 890, 373, 890, 373, 919, 288, 919], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [379, 889, 467, 889, 467, 919, 379, 919], \"confidence\": 0.996}, {\"text\": \"Book\", \"boundingBox\": [473, 889, 537, 889, 537, 919, 473, 919], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [543, 889, 629, 889, 629, 920, 543, 920], \"confidence\": 0.996}]}, {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"words\": [{\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"confidence\": 0.994}]}, {\"text\": \"383 N Kinnick Road\", \"boundingBox\": [280, 926, 516, 926, 516, 953, 280, 953], \"words\": [{\"text\": \"383\", \"boundingBox\": [280, 925, 325, 925, 325, 953, 280, 953], \"confidence\": 0.998}, {\"text\": \"N\", \"boundingBox\": [330, 925, 345, 925, 345, 953, 330, 953], \"confidence\": 0.995}, {\"text\": \"Kinnick\", \"boundingBox\": [358, 926, 448, 926, 448, 953, 358, 953], \"confidence\": 0.995}, {\"text\": \"Road\", \"boundingBox\": [453, 926, 516, 926, 516, 954, 453, 954], \"confidence\": 0.994}]}, {\"text\": \"Seattle, WA 38383\", \"boundingBox\": [282, 965, 513, 965, 513, 991, 282, 991], \"words\": [{\"text\": \"Seattle,\", \"boundingBox\": [282, 965, 376, 965, 376, 991, 282, 991], \"confidence\": 0.994}, {\"text\": \"WA\", \"boundingBox\": [382, 964, 425, 964, 425, 991, 382, 991], \"confidence\": 0.997}, {\"text\": \"38383\", \"boundingBox\": [435, 964, 513, 964, 513, 991, 435, 991], \"confidence\": 0.996}]}, {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"words\": [{\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"confidence\": 0.996}]}, {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"words\": [{\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"confidence\": 0.994}]}, {\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"words\": [{\"text\": \"Details\", \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 0.994}]}, {\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"words\": [{\"text\": \"Quantity\", \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 0.994}]}, {\"text\": \"Unit Price\", \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"words\": [{\"text\": \"Unit\", \"boundingBox\": [1111, 1047, 1179, 1047, 1179, 1078, 1111, 1078], \"confidence\": 0.994}, {\"text\": \"Price\", \"boundingBox\": [1185, 1047, 1266, 1047, 1266, 1078, 1185, 1078], \"confidence\": 0.996}]}, {\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"words\": [{\"text\": \"Total\", \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 0.994}]}, {\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"words\": [{\"text\": \"Bindings\", \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 0.994}]}, {\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 0.994}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 0.996}]}, {\"text\": \"Covers Small\", \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"words\": [{\"text\": \"Covers\", \"boundingBox\": [170, 1136, 255, 1136, 255, 1161, 170, 1161], \"confidence\": 0.994}, {\"text\": \"Small\", \"boundingBox\": [260, 1136, 333, 1136, 333, 1161, 260, 1161], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"words\": [{\"text\": \"20\", \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 0.999}]}, {\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"words\": [{\"text\": \"1.00\", \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 0.993}]}, {\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"words\": [{\"text\": \"20.00\", \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 0.996}]}, {\"text\": \"Feather Bookmark\", \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"words\": [{\"text\": \"Feather\", \"boundingBox\": [173, 1180, 266, 1180, 266, 1206, 173, 1206], \"confidence\": 0.996}, {\"text\": \"Bookmark\", \"boundingBox\": [271, 1179, 399, 1179, 399, 1206, 271, 1206], \"confidence\": 0.995}]}, {\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 0.993}]}, {\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 0.994}]}, {\"text\": \"Copper Swirl Marker\", \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"words\": [{\"text\": \"Copper\", \"boundingBox\": [170, 1223, 259, 1223, 259, 1253, 170, 1253], \"confidence\": 0.996}, {\"text\": \"Swirl\", \"boundingBox\": [265, 1222, 328, 1222, 328, 1252, 265, 1252], \"confidence\": 0.996}, {\"text\": \"Marker\", \"boundingBox\": [334, 1222, 429, 1222, 429, 1251, 334, 1251], \"confidence\": 0.996}]}, {\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"words\": [{\"text\": \"20\", \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 0.999}]}, {\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"words\": [{\"text\": \"5.00\", \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 0.986}]}, {\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"words\": [{\"text\": \"100.00\", \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 0.074}]}, {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"words\": [{\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"confidence\": 0.995}]}, {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"words\": [{\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"confidence\": 0.995}]}, {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"words\": [{\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"confidence\": 0.997}]}, {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"words\": [{\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"confidence\": 0.992}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [484, 1671, 761, 1671, 761, 1706, 484, 1706], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [484, 1671, 595, 1671, 595, 1706, 484, 1706], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [602, 1671, 761, 1671, 761, 1706, 602, 1706], \"confidence\": 0.997}]}, {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"words\": [{\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"confidence\": 0.994}]}, {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"words\": [{\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"confidence\": 0.986}]}, {\"text\": \"Bernie Sanders\", \"boundingBox\": [542, 1719, 716, 1719, 716, 1742, 542, 1742], \"words\": [{\"text\": \"Bernie\", \"boundingBox\": [542, 1719, 616, 1719, 616, 1742, 542, 1742], \"confidence\": 0.994}, {\"text\": \"Sanders\", \"boundingBox\": [621, 1719, 716, 1719, 716, 1742, 621, 1742], \"confidence\": 0.996}]}, {\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"words\": [{\"text\": \"Manager\", \"boundingBox\": [577, 1754, 681, 1754, 681, 1776, 577, 1776], \"confidence\": 0.994}]}, {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"words\": [{\"text\": \"Additional\", \"boundingBox\": [173, 1796, 354, 1796, 354, 1831, 173, 1831], \"confidence\": 0.993}, {\"text\": \"Notes:\", \"boundingBox\": [361, 1796, 479, 1796, 479, 1832, 361, 1832], \"confidence\": 0.996}]}, {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy.\", \"boundingBox\": [175, 1880, 707, 1880, 707, 1909, 175, 1909], \"words\": [{\"text\": \"Do\", \"boundingBox\": [175, 1881, 204, 1881, 204, 1907, 175, 1907], \"confidence\": 0.994}, {\"text\": \"not\", \"boundingBox\": [209, 1881, 254, 1881, 254, 1907, 209, 1907], \"confidence\": 0.997}, {\"text\": \"Jostle\", \"boundingBox\": [259, 1880, 332, 1880, 332, 1908, 259, 1908], \"confidence\": 0.996}, {\"text\": \"Box.\", \"boundingBox\": [338, 1880, 401, 1880, 401, 1909, 338, 1909], \"confidence\": 0.994}, {\"text\": \"Unpack\", \"boundingBox\": [406, 1880, 499, 1880, 499, 1909, 406, 1909], \"confidence\": 0.996}, {\"text\": \"carefully.\", \"boundingBox\": [504, 1880, 623, 1880, 623, 1910, 504, 1910], \"confidence\": 0.994}, {\"text\": \"Enjoy.\", \"boundingBox\": [628, 1880, 707, 1880, 707, 1911, 628, 1911], \"confidence\": 0.996}]}, {\"text\": \"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\", \"boundingBox\": [169, 1924, 1509, 1924, 1509, 1958, 169, 1958], \"words\": [{\"text\": \"Jupiter\", \"boundingBox\": [169, 1924, 269, 1924, 269, 1959, 169, 1959], \"confidence\": 0.994}, {\"text\": \"Book\", \"boundingBox\": [276, 1924, 354, 1924, 354, 1959, 276, 1959], \"confidence\": 0.994}, {\"text\": \"Supply\", \"boundingBox\": [361, 1924, 464, 1924, 464, 1958, 361, 1958], \"confidence\": 0.994}, {\"text\": \"will\", \"boundingBox\": [471, 1924, 519, 1924, 519, 1958, 471, 1958], \"confidence\": 0.991}, {\"text\": \"refund\", \"boundingBox\": [526, 1924, 625, 1924, 625, 1958, 526, 1958], \"confidence\": 0.996}, {\"text\": \"you\", \"boundingBox\": [632, 1924, 688, 1924, 688, 1958, 632, 1958], \"confidence\": 0.997}, {\"text\": \"50%\", \"boundingBox\": [696, 1924, 762, 1924, 762, 1958, 696, 1958], \"confidence\": 0.986}, {\"text\": \"per\", \"boundingBox\": [769, 1924, 822, 1924, 822, 1958, 769, 1958], \"confidence\": 0.998}, {\"text\": \"book\", \"boundingBox\": [829, 1924, 902, 1924, 902, 1958, 829, 1958], \"confidence\": 0.994}, {\"text\": \"if\", \"boundingBox\": [909, 1924, 930, 1924, 930, 1958, 909, 1958], \"confidence\": 0.997}, {\"text\": \"returned\", \"boundingBox\": [937, 1924, 1063, 1924, 1063, 1958, 937, 1958], \"confidence\": 0.994}, {\"text\": \"within\", \"boundingBox\": [1070, 1924, 1157, 1924, 1157, 1958, 1070, 1958], \"confidence\": 0.995}, {\"text\": \"60\", \"boundingBox\": [1164, 1924, 1203, 1924, 1203, 1958, 1164, 1958], \"confidence\": 0.999}, {\"text\": \"days\", \"boundingBox\": [1210, 1924, 1283, 1924, 1283, 1958, 1210, 1958], \"confidence\": 0.994}, {\"text\": \"of\", \"boundingBox\": [1290, 1924, 1322, 1924, 1322, 1958, 1290, 1958], \"confidence\": 0.999}, {\"text\": \"reading\", \"boundingBox\": [1329, 1924, 1441, 1924, 1441, 1958, 1329, 1958], \"confidence\": 0.996}, {\"text\": \"and\", \"boundingBox\": [1448, 1924, 1509, 1924, 1509, 1958, 1448, 1958], \"confidence\": 0.997}]}, {\"text\": \"offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1958, 786, 1958, 786, 1992, 169, 1992], \"words\": [{\"text\": \"offer\", \"boundingBox\": [169, 1958, 235, 1958, 235, 1991, 169, 1991], \"confidence\": 0.991}, {\"text\": \"you\", \"boundingBox\": [241, 1958, 296, 1958, 296, 1991, 241, 1991], \"confidence\": 0.994}, {\"text\": \"25%\", \"boundingBox\": [307, 1958, 373, 1958, 373, 1992, 307, 1992], \"confidence\": 0.997}, {\"text\": \"off\", \"boundingBox\": [380, 1958, 420, 1958, 420, 1992, 380, 1992], \"confidence\": 0.997}, {\"text\": \"you\", \"boundingBox\": [427, 1958, 482, 1958, 482, 1992, 427, 1992], \"confidence\": 0.997}, {\"text\": \"next\", \"boundingBox\": [489, 1958, 555, 1958, 555, 1992, 489, 1992], \"confidence\": 0.994}, {\"text\": \"total\", \"boundingBox\": [561, 1959, 630, 1959, 630, 1992, 561, 1992], \"confidence\": 0.996}, {\"text\": \"purchase.\", \"boundingBox\": [636, 1959, 786, 1959, 786, 1991, 636, 1991], \"confidence\": 0.994}]}], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": [\"#/readResults/0/lines/3/words/0\", \"#/readResults/0/lines/3/words/1\"]}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": [\"#/readResults/0/lines/4/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": [\"#/readResults/0/lines/5/words/0\"]}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": [\"#/readResults/0/lines/6/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": [\"#/readResults/0/lines/7/words/0\"]}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": [\"#/readResults/0/lines/12/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": [\"#/readResults/0/lines/8/words/0\", \"#/readResults/0/lines/8/words/1\"]}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": [\"#/readResults/0/lines/9/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": [\"#/readResults/0/lines/10/words/0\", \"#/readResults/0/lines/10/words/1\", \"#/readResults/0/lines/10/words/2\"]}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": [\"#/readResults/0/lines/11/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": [\"#/readResults/0/lines/14/words/0\", \"#/readResults/0/lines/14/words/1\"]}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": [\"#/readResults/0/lines/15/words/0\", \"#/readResults/0/lines/15/words/1\"]}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": [\"#/readResults/0/lines/16/words/0\", \"#/readResults/0/lines/16/words/1\"]}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": [\"#/readResults/0/lines/17/words/0\", \"#/readResults/0/lines/17/words/1\", \"#/readResults/0/lines/17/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": [\"#/readResults/0/lines/18/words/0\"]}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": [\"#/readResults/0/lines/19/words/0\", \"#/readResults/0/lines/19/words/1\", \"#/readResults/0/lines/19/words/2\", \"#/readResults/0/lines/19/words/3\", \"#/readResults/0/lines/20/words/0\", \"#/readResults/0/lines/20/words/1\", \"#/readResults/0/lines/20/words/2\", \"#/readResults/0/lines/20/words/3\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": [\"#/readResults/0/lines/21/words/0\"]}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": [\"#/readResults/0/lines/22/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": [\"#/readResults/0/lines/24/words/0\"]}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": [\"#/readResults/0/lines/25/words/0\", \"#/readResults/0/lines/25/words/1\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": [\"#/readResults/0/lines/26/words/0\", \"#/readResults/0/lines/26/words/1\"]}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": [\"#/readResults/0/lines/27/words/0\", \"#/readResults/0/lines/27/words/1\", \"#/readResults/0/lines/27/words/2\"]}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": [\"#/readResults/0/lines/28/words/0\"]}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": [\"#/readResults/0/lines/29/words/0\", \"#/readResults/0/lines/29/words/1\", \"#/readResults/0/lines/29/words/2\", \"#/readResults/0/lines/29/words/3\", \"#/readResults/0/lines/30/words/0\", \"#/readResults/0/lines/30/words/1\", \"#/readResults/0/lines/30/words/2\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": [\"#/readResults/0/lines/31/words/0\"]}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": [\"#/readResults/0/lines/32/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": [\"#/readResults/0/lines/53/words/0\"]}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": [\"#/readResults/0/lines/54/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": [\"#/readResults/0/lines/55/words/0\"]}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": [\"#/readResults/0/lines/56/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": [\"#/readResults/0/lines/58/words/0\"]}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": [\"#/readResults/0/lines/59/words/0\"]}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": [\"#/readResults/0/lines/62/words/0\", \"#/readResults/0/lines/62/words/1\"]}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": [\"#/readResults/0/lines/63/words/0\", \"#/readResults/0/lines/63/words/1\", \"#/readResults/0/lines/63/words/2\", \"#/readResults/0/lines/63/words/3\", \"#/readResults/0/lines/63/words/4\", \"#/readResults/0/lines/63/words/5\", \"#/readResults/0/lines/63/words/6\", \"#/readResults/0/lines/64/words/0\", \"#/readResults/0/lines/64/words/1\", \"#/readResults/0/lines/64/words/2\", \"#/readResults/0/lines/64/words/3\", \"#/readResults/0/lines/64/words/4\", \"#/readResults/0/lines/64/words/5\", \"#/readResults/0/lines/64/words/6\", \"#/readResults/0/lines/64/words/7\", \"#/readResults/0/lines/64/words/8\", \"#/readResults/0/lines/64/words/9\", \"#/readResults/0/lines/64/words/10\", \"#/readResults/0/lines/64/words/11\", \"#/readResults/0/lines/64/words/12\", \"#/readResults/0/lines/64/words/13\", \"#/readResults/0/lines/64/words/14\", \"#/readResults/0/lines/64/words/15\", \"#/readResults/0/lines/64/words/16\", \"#/readResults/0/lines/65/words/0\", \"#/readResults/0/lines/65/words/1\", \"#/readResults/0/lines/65/words/2\", \"#/readResults/0/lines/65/words/3\", \"#/readResults/0/lines/65/words/4\", \"#/readResults/0/lines/65/words/5\", \"#/readResults/0/lines/65/words/6\", \"#/readResults/0/lines/65/words/7\"]}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/33/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/34/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/35/words/0\", \"#/readResults/0/lines/35/words/1\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/36/words/0\"], \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/37/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/38/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/39/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/40/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/41/words/0\", \"#/readResults/0/lines/41/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/42/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/43/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/44/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/45/words/0\", \"#/readResults/0/lines/45/words/1\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/46/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/47/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/48/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/49/words/0\", \"#/readResults/0/lines/49/words/1\", \"#/readResults/0/lines/49/words/2\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/50/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/51/words/0\"], \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": [\"#/readResults/0/lines/52/words/0\"], \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledData[1].json deleted file mode 100644 index da7aa41253eb1..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeCustomFormUrlUnlabeledData[1].json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2ff7a35d-0725-4288-b841-3f207e709c5c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "650", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bbc738e-f94a-4398-b16f-431af33e5bcb", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:31:43 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "25266c1c-976d-40cf-ac93-ad62b888ad58" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8f3c46b1-a0eb-4d95-9cf1-98737da20ac6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed5120fe-7e03-4efa-8506-19eed56c38d9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:43Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d75a5ee8-418e-4477-bede-e3dbecb4dc6f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "13", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc751ea2-4b64-4516-be89-5da37dcc98d9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed5120fe-7e03-4efa-8506-19eed56c38d9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:43Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51859ff1-54b3-460d-aa10-00c92a0fcf40" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "633f357d-a7a2-4edb-bcbb-3c196913aa60", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed5120fe-7e03-4efa-8506-19eed56c38d9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c7edef67-4a34-4c44-a6aa-15abfad47848" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a66aaca8-6483-43d2-adfc-04f72ea3fb2f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed5120fe-7e03-4efa-8506-19eed56c38d9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:31:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bcd79ddd-f228-4df7-9671-ac431b921b73", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "173", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "331763c6-c4a7-47d6-a49d-a80ccb34a192", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9/analyzeresults/d2170210-983f-4a55-8827-f4feea7e1929", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9/analyzeResults/d2170210-983f-4a55-8827-f4feea7e1929", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6d1faeb3-e7e2-4277-9c3d-7ee218bd2f98" - }, - "Response" : { - "content-length" : "134", - "x-envoy-upstream-service-time" : "44", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "582046fc-163c-4b57-a89f-40d871f713cc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"running\", \"createdDateTime\": \"2021-07-07T06:32:00Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:00Z\", \"analyzeResult\": null}", - "Date" : "Wed, 07 Jul 2021 06:32:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9/analyzeResults/d2170210-983f-4a55-8827-f4feea7e1929", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3972f9f0-ac86-4428-9262-e32db842b6fc" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f70593e5-e6fc-44a5-b171-3f9fba4a9074", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:00Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:06Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed5120fe-7e03-4efa-8506-19eed56c38d9/analyzeResults/d2170210-983f-4a55-8827-f4feea7e1929", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f573a6f2-4946-40a7-90aa-06a74447c342" - }, - "Response" : { - "content-length" : "9268", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d283b753-d0bb-4676-b929-b2fe41be0f14", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\": \"succeeded\", \"createdDateTime\": \"2021-07-07T06:32:00Z\", \"lastUpdatedDateTime\": \"2021-07-07T06:32:06Z\", \"analyzeResult\": {\"version\": \"2.1.0\", \"readResults\": [{\"page\": 1, \"angle\": 0, \"width\": 1700, \"height\": 2200, \"unit\": \"pixel\", \"lines\": [], \"selectionMarks\": null}], \"pageResults\": [{\"page\": 1, \"keyValuePairs\": [{\"key\": {\"text\": \"Company Phone:\", \"boundingBox\": [163, 352, 361, 352, 361, 378, 163, 378], \"elements\": null}, \"value\": {\"text\": \"555-348-6512\", \"boundingBox\": [365, 351, 525, 351, 525, 378, 365, 378], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Website:\", \"boundingBox\": [167, 394, 268, 394, 268, 417, 167, 417], \"elements\": null}, \"value\": {\"text\": \"www.herolimited.com\", \"boundingBox\": [273, 393, 524, 393, 524, 418, 273, 418], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Email:\", \"boundingBox\": [165, 435, 237, 435, 237, 460, 165, 460], \"elements\": null}, \"value\": {\"text\": \"accounts@herolimited.com\", \"boundingBox\": [164, 481, 471, 481, 471, 503, 164, 503], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Dated As:\", \"boundingBox\": [1025, 421, 1158, 421, 1158, 448, 1025, 448], \"elements\": null}, \"value\": {\"text\": \"12/20/2020\", \"boundingBox\": [1163, 420, 1310, 420, 1310, 448, 1163, 448], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Purchase Order #:\", \"boundingBox\": [1023, 461, 1273, 461, 1273, 488, 1023, 488], \"elements\": null}, \"value\": {\"text\": \"948284\", \"boundingBox\": [1278, 461, 1371, 461, 1371, 489, 1278, 489], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Vendor Name:\", \"boundingBox\": [160, 611, 344, 611, 344, 637, 160, 637], \"elements\": null}, \"value\": {\"text\": \"Hillary Swank\", \"boundingBox\": [349, 609, 520, 609, 520, 639, 349, 639], \"elements\": null}, \"confidence\": 0.7}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [160, 648, 371, 648, 371, 677, 160, 677], \"elements\": null}, \"value\": {\"text\": \"Higgly Wiggly Books\", \"boundingBox\": [376, 646, 629, 646, 629, 679, 376, 679], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [161, 685, 268, 685, 268, 711, 161, 711], \"elements\": null}, \"value\": {\"text\": \"938 NE Burner Road Boulder City, CO 92848\", \"boundingBox\": [274, 685, 561, 685, 561, 751, 274, 751], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [613, 722, 704, 722, 704, 749, 613, 749], \"elements\": null}, \"value\": {\"text\": \"938-294-2949\", \"boundingBox\": [709, 722, 882, 722, 882, 749, 709, 749], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Name:\", \"boundingBox\": [166, 853, 248, 853, 248, 879, 166, 879], \"elements\": null}, \"value\": {\"text\": \"Bernie Sanders\", \"boundingBox\": [253, 852, 445, 852, 445, 880, 253, 880], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Company Name:\", \"boundingBox\": [164, 890, 373, 890, 373, 919, 164, 919], \"elements\": null}, \"value\": {\"text\": \"Jupiter Book Supply\", \"boundingBox\": [379, 889, 629, 889, 629, 919, 379, 919], \"elements\": null}, \"confidence\": 0.53}, {\"key\": {\"text\": \"Address:\", \"boundingBox\": [166, 926, 275, 926, 275, 953, 166, 953], \"elements\": null}, \"value\": {\"text\": \"383 N Kinnick Road Seattle, WA 38383\", \"boundingBox\": [280, 926, 516, 926, 516, 991, 280, 991], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Phone:\", \"boundingBox\": [760, 964, 849, 964, 849, 990, 760, 990], \"elements\": null}, \"value\": {\"text\": \"932-299-0292\", \"boundingBox\": [854, 964, 1028, 964, 1028, 990, 854, 990], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"SUBTOTAL\", \"boundingBox\": [1148, 1575, 1294, 1575, 1294, 1600, 1148, 1600], \"elements\": null}, \"value\": {\"text\": \"$140.00\", \"boundingBox\": [1426, 1571, 1526, 1571, 1526, 1599, 1426, 1599], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TAX\", \"boundingBox\": [1237, 1618, 1290, 1618, 1290, 1643, 1237, 1643], \"elements\": null}, \"value\": {\"text\": \"$4.00\", \"boundingBox\": [1458, 1615, 1529, 1615, 1529, 1643, 1458, 1643], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"TOTAL\", \"boundingBox\": [1204, 1674, 1293, 1674, 1293, 1699, 1204, 1699], \"elements\": null}, \"value\": {\"text\": \"$144.00\", \"boundingBox\": [1427, 1671, 1526, 1671, 1526, 1698, 1427, 1698], \"elements\": null}, \"confidence\": 1.0}, {\"key\": {\"text\": \"Additional Notes:\", \"boundingBox\": [173, 1796, 479, 1796, 479, 1831, 173, 1831], \"elements\": null}, \"value\": {\"text\": \"Do not Jostle Box. Unpack carefully. Enjoy. Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and offer you 25% off you next total purchase.\", \"boundingBox\": [169, 1880, 1509, 1880, 1509, 1992, 169, 1992], \"elements\": null}, \"confidence\": 0.53}], \"tables\": [{\"rows\": 5, \"columns\": 4, \"boundingBox\": [170, 1047, 1527, 1047, 1527, 1252, 170, 1252], \"cells\": [{\"text\": \"Details\", \"rowIndex\": 0, \"columnIndex\": 0, \"boundingBox\": [447, 1048, 557, 1048, 557, 1078, 447, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Quantity\", \"rowIndex\": 0, \"columnIndex\": 1, \"boundingBox\": [886, 1048, 1033, 1048, 1033, 1084, 886, 1084], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Unit Price\", \"rowIndex\": 0, \"columnIndex\": 2, \"boundingBox\": [1111, 1047, 1266, 1047, 1266, 1078, 1111, 1078], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Total\", \"rowIndex\": 0, \"columnIndex\": 3, \"boundingBox\": [1382, 1047, 1467, 1047, 1467, 1076, 1382, 1076], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": true, \"isFooter\": false}, {\"text\": \"Bindings\", \"rowIndex\": 1, \"columnIndex\": 0, \"boundingBox\": [172, 1094, 280, 1094, 280, 1122, 172, 1122], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 1, \"columnIndex\": 1, \"boundingBox\": [860, 1094, 888, 1094, 888, 1119, 860, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 1, \"columnIndex\": 2, \"boundingBox\": [1240, 1095, 1291, 1095, 1291, 1118, 1240, 1118], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 1, \"columnIndex\": 3, \"boundingBox\": [1459, 1096, 1527, 1096, 1527, 1119, 1459, 1119], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Covers Small\", \"rowIndex\": 2, \"columnIndex\": 0, \"boundingBox\": [170, 1136, 333, 1136, 333, 1161, 170, 1161], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 2, \"columnIndex\": 1, \"boundingBox\": [860, 1135, 888, 1135, 888, 1160, 860, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"1.00\", \"rowIndex\": 2, \"columnIndex\": 2, \"boundingBox\": [1240, 1135, 1291, 1135, 1291, 1160, 1240, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20.00\", \"rowIndex\": 2, \"columnIndex\": 3, \"boundingBox\": [1459, 1135, 1527, 1135, 1527, 1160, 1459, 1160], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Feather Bookmark\", \"rowIndex\": 3, \"columnIndex\": 0, \"boundingBox\": [173, 1179, 399, 1179, 399, 1206, 173, 1206], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 3, \"columnIndex\": 1, \"boundingBox\": [861, 1179, 889, 1179, 889, 1203, 861, 1203], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 3, \"columnIndex\": 2, \"boundingBox\": [1240, 1179, 1291, 1179, 1291, 1204, 1240, 1204], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 3, \"columnIndex\": 3, \"boundingBox\": [1443, 1181, 1525, 1181, 1525, 1205, 1443, 1205], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"Copper Swirl Marker\", \"rowIndex\": 4, \"columnIndex\": 0, \"boundingBox\": [170, 1222, 429, 1222, 429, 1252, 170, 1252], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"20\", \"rowIndex\": 4, \"columnIndex\": 1, \"boundingBox\": [861, 1223, 888, 1223, 888, 1247, 861, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"5.00\", \"rowIndex\": 4, \"columnIndex\": 2, \"boundingBox\": [1240, 1221, 1292, 1221, 1292, 1247, 1240, 1247], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}, {\"text\": \"100.00\", \"rowIndex\": 4, \"columnIndex\": 3, \"boundingBox\": [1444, 1224, 1526, 1224, 1526, 1248, 1444, 1248], \"confidence\": 1.0, \"rowSpan\": 1, \"columnSpan\": 1, \"elements\": null, \"isHeader\": false, \"isFooter\": false}]}], \"clusterId\": 0}], \"documentResults\": [], \"errors\": []}}", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeGermanContentFromUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeGermanContentFromUrl[1].json deleted file mode 100644 index 801b3b13b9754..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeGermanContentFromUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze?language=de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f8cef4a9-e686-4637-a1fa-6106c981f9f4", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "566", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "16e8dc59-a731-4d09-a204-ce7377a4ac54", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/16e8dc59-a731-4d09-a204-ce7377a4ac54", - "Date" : "Wed, 07 Jul 2021 06:29:16 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/16e8dc59-a731-4d09-a204-ce7377a4ac54", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1b4199df-3db0-416c-a871-1a5391100d07" - }, - "Response" : { - "content-length" : "16376", - "x-envoy-upstream-service-time" : "56", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6f0dcf7a-3e1d-4c83-9ef9-9d3abfee9cf8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"language\":\"de\",\"lines\":[{\"boundingBox\":[0.8915,1.1143,2.3620,1.1143,2.3620,1.2485,0.8915,1.2485],\"text\":\"Unternehmen Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8915,1.1143,1.9730,1.1143,1.9730,1.2485,0.8915,1.2485],\"text\":\"Unternehmen\",\"confidence\":1},{\"boundingBox\":[2.0475,1.1206,2.3620,1.1206,2.3620,1.2485,2.0475,1.2485],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"text\":\"Rechnung für:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"text\":\"Rechnung\",\"confidence\":1},{\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"text\":\"für:\",\"confidence\":1}]},{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.4486,6.8940,1.4486,6.8940,1.5914,6.0150,1.5914],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.4486,6.3363,1.4486,6.3363,1.5633,6.0150,1.5633],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3963,1.4539,6.8940,1.4539,6.8940,1.5914,6.3963,1.5914],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.6686,6.8121,1.6686,6.8121,1.7833,6.0150,1.7833],\"text\":\"Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.6686,6.4578,1.6686,6.4578,1.7833,6.0150,1.7833],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"confidence\":1}]},{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"confidence\":1}]},{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5051,4.8957,7.2010,4.8957,7.2010,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme:\",\"confidence\":1},{\"boundingBox\":[6.7468,4.9019,7.2010,4.9019,7.2010,5.0107,6.7468,5.0107],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"text\":\"Steuer: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5061,5.1219,5.9900,5.1219,5.9900,5.2307,5.5061,5.2307],\"text\":\"Steuer:\",\"confidence\":1},{\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5020,5.3385,6.3493,5.3385,6.3493,5.4784,5.5020,5.4784],\"text\":\"Tipp: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5020,5.3385,5.8398,5.3385,5.8398,5.4784,5.5020,5.4784],\"text\":\"Tipp:\",\"confidence\":1},{\"boundingBox\":[5.8990,5.3419,6.3493,5.3419,6.3493,5.4507,5.8990,5.4507],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5070,5.5602,6.5795,5.5602,6.5795,5.6690,5.5070,5.6690],\"text\":\"Gesamt: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5070,5.5602,6.0680,5.5602,6.0680,5.6690,5.5070,5.6690],\"text\":\"Gesamt:\",\"confidence\":1},{\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.6690,6.1201,5.6690],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"text\":\"Signatur: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"text\":\"Signatur:\",\"confidence\":1},{\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Artikel\",\"boundingBox\":[0.9976,2.9416,3.1649,2.9416,3.1649,3.1484,0.9976,3.1484],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Menge\",\"boundingBox\":[3.1649,2.9416,5.3322,2.9416,5.3322,3.1484,3.1649,3.1484],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Preis\",\"boundingBox\":[5.3322,2.9416,7.4995,2.9478,7.4995,3.1546,5.3322,3.1484],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Eine\",\"boundingBox\":[0.9976,3.1484,3.1649,3.1484,3.1649,3.3614,0.9909,3.3614],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1484,5.3322,3.1484,5.3322,3.3614,3.1649,3.3614],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1484,7.4995,3.1546,7.4995,3.3614,5.3322,3.3614],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9909,3.3614,3.1649,3.3614,3.1649,3.5682,0.9909,3.5682],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3614,5.3322,3.3614,5.3322,3.5682,3.1649,3.5682],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3614,7.4995,3.3614,7.4995,3.5745,5.3322,3.5682],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9909,3.5682,3.1649,3.5682,3.1649,3.7813,0.9909,3.7813],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5682,5.3322,3.5682,5.3322,3.7813,3.1649,3.7813],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5682,7.4995,3.5745,7.4995,3.7813,5.3322,3.7813],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9909,3.7813,3.1649,3.7813,3.1649,3.9943,0.9909,3.9943],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7813,5.3322,3.7813,5.3322,3.9943,3.1649,3.9943],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7813,7.4995,3.7813,7.4995,3.9943,5.3322,3.9943],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9909,3.9943,3.1649,3.9943,3.1649,4.2011,0.9909,4.2011],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9943,5.3322,3.9943,5.3322,4.2011,3.1649,4.2011],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9943,7.4995,3.9943,7.4995,4.2074,5.3322,4.2011],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9909,4.2011,3.1649,4.2011,3.1649,4.4141,0.9909,4.4141],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2011,5.3322,4.2011,5.3322,4.4141,3.1649,4.4141],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2011,7.4995,4.2074,7.4995,4.4141,5.3322,4.4141],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9909,4.4141,3.1649,4.4141,3.1649,4.6272,0.9909,4.6272],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4141,5.3322,4.4141,5.3322,4.6272,3.1649,4.6272],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4141,7.4995,4.4141,7.4995,4.6272,5.3322,4.6272],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9969,2.9321,7.4979,2.9326,7.4976,4.6320,0.9956,4.6311]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/16e8dc59-a731-4d09-a204-ce7377a4ac54", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fe706c08-331f-4c6a-bc0a-86f6dbf250a2" - }, - "Response" : { - "content-length" : "16376", - "x-envoy-upstream-service-time" : "92", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "042d04bc-3e00-4ce0-bb00-1c3c81e5c913", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:17Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:19Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"language\":\"de\",\"lines\":[{\"boundingBox\":[0.8915,1.1143,2.3620,1.1143,2.3620,1.2485,0.8915,1.2485],\"text\":\"Unternehmen Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8915,1.1143,1.9730,1.1143,1.9730,1.2485,0.8915,1.2485],\"text\":\"Unternehmen\",\"confidence\":1},{\"boundingBox\":[2.0475,1.1206,2.3620,1.1206,2.3620,1.2485,2.0475,1.2485],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[6.0196,1.0603,7.2518,1.0603,7.2518,1.2512,6.0196,1.2512],\"text\":\"Rechnung für:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0196,1.0612,6.8887,1.0612,6.8887,1.2512,6.0196,1.2512],\"text\":\"Rechnung\",\"confidence\":1},{\"boundingBox\":[6.9493,1.0603,7.2518,1.0603,7.2518,1.2137,6.9493,1.2137],\"text\":\"für:\",\"confidence\":1}]},{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8917,1.3693,1.6559,1.3693,1.6559,1.5365,0.8917,1.5365],\"text\":\"Rechnung\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.4486,6.8940,1.4486,6.8940,1.5914,6.0150,1.5914],\"text\":\"Bilbo Baggins\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.4486,6.3363,1.4486,6.3363,1.5633,6.0150,1.5633],\"text\":\"Bilbo\",\"confidence\":1},{\"boundingBox\":[6.3963,1.4539,6.8940,1.4539,6.8940,1.5914,6.3963,1.5914],\"text\":\"Baggins\",\"confidence\":1}]},{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8775,1.7364,1.5604,1.7364,1.5604,1.8706,0.8775,1.8706],\"text\":\"Adresse:\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.6686,6.8121,1.6686,6.8121,1.7833,6.0150,1.7833],\"text\":\"Hobbit Lane\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.6686,6.4578,1.6686,6.4578,1.7833,6.0150,1.7833],\"text\":\"Hobbit\",\"confidence\":1},{\"boundingBox\":[6.5145,1.6761,6.8121,1.6761,6.8121,1.7833,6.5145,1.7833],\"text\":\"Lane\",\"confidence\":1}]},{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0150,1.8889,6.6458,1.8889,6.6458,2.0033,6.0150,2.0033],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.1006,1.7162,2.1006,1.7162,2.2099,0.8835,2.2099],\"text\":\"567 Main St.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.1018,1.1218,2.1018,1.1218,2.2099,0.8835,2.2099],\"text\":\"567\",\"confidence\":1},{\"boundingBox\":[1.1808,2.1006,1.5037,2.1006,1.5037,2.2099,1.1808,2.2099],\"text\":\"Main\",\"confidence\":1},{\"boundingBox\":[1.559,2.1018,1.7162,2.1018,1.7162,2.2099,1.559,2.2099],\"text\":\"St.\",\"confidence\":1}]},{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[6.0091,2.1166,6.9389,2.1166,6.9389,2.2233,6.0091,2.2233],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8893,2.3156,1.5202,2.3156,1.5202,2.4299,0.8893,2.4299],\"text\":\"Redmond\",\"confidence\":1}]},{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[0.8835,2.5433,1.8128,2.5433,1.8128,2.6499,0.8835,2.6499],\"text\":\"555-555-5555\",\"confidence\":1}]},{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0815,2.9936,1.5123,2.9936,1.5123,3.1083,1.0815,3.1083],\"text\":\"Artikel\",\"confidence\":1}]},{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2564,3.0016,3.7105,3.0016,3.7105,3.1364,3.2564,3.1364],\"text\":\"Menge\",\"confidence\":1}]},{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4216,2.9989,5.7323,2.9989,5.7323,3.1083,5.4216,3.1083],\"text\":\"Preis\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.2089,1.3618,3.2089,1.3618,3.3183,1.0927,3.3183],\"text\":\"Eine\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.2109,3.3179,3.2109,3.3179,3.3169,3.2565,3.3169],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.2101,5.7800,3.2101,5.7800,3.3183,5.4218,3.3183],\"text\":\"10.99\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.4220,1.162,3.4220,1.162,3.5274,1.0927,3.5274],\"text\":\"B\",\"confidence\":1}]},{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2517,3.4205,3.3175,3.4205,3.3175,3.5274,3.2517,3.5274],\"text\":\"2\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.4205,5.7806,3.4205,5.7806,3.5287,5.4218,3.5287],\"text\":\"14.67\",\"confidence\":1}]},{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0865,3.6307,1.163,3.6307,1.163,3.7385,1.0865,3.7385],\"text\":\"C\",\"confidence\":1}]},{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,3.6315,3.3220,3.6315,3.3220,3.7377,3.2462,3.7377],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.6305,5.7818,3.6305,5.7818,3.7387,5.4218,3.7387],\"text\":\"15.66\",\"confidence\":1}]},{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,3.8437,1.1737,3.8437,1.1737,3.9490,1.0927,3.9490],\"text\":\"D\",\"confidence\":1}]},{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2565,3.8430,3.3179,3.8430,3.3179,3.9490,3.2565,3.9490],\"text\":\"1\",\"confidence\":1}]},{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,3.8422,5.7826,3.8422,5.7826,3.9504,5.4218,3.9504],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.0537,1.1513,4.0537,1.1513,4.1590,1.0927,4.1590],\"text\":\"E\",\"confidence\":1}]},{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2462,4.0532,3.3220,4.0532,3.3220,4.1594,3.2462,4.1594],\"text\":\"4\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.0522,5.7826,4.0522,5.7826,4.1604,5.4218,4.1604],\"text\":\"10.00\",\"confidence\":1}]},{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0927,4.2637,1.148,4.2637,1.148,4.3694,1.0927,4.3694],\"text\":\"F\",\"confidence\":1}]},{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2510,4.2622,3.3202,4.2622,3.3202,4.3704,3.2510,4.3704],\"text\":\"6\",\"confidence\":1}]},{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4218,4.2622,5.7826,4.2622,5.7826,4.3704,5.4218,4.3704],\"text\":\"12.00\",\"confidence\":1}]},{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.086,4.4722,1.1718,4.4722,1.1718,4.5804,1.086,4.5804],\"text\":\"G\",\"confidence\":1}]},{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[3.2490,4.4722,3.3200,4.4722,3.3200,4.5804,3.2490,4.5804],\"text\":\"8\",\"confidence\":1}]},{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.4170,4.4722,5.7826,4.4722,5.7826,4.5804,5.4170,4.5804],\"text\":\"22.00\",\"confidence\":1}]},{\"boundingBox\":[5.5051,4.8957,7.2010,4.8957,7.2010,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme: 300.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5051,4.8957,6.6911,4.8957,6.6911,5.0107,5.5051,5.0107],\"text\":\"Zwischensumme:\",\"confidence\":1},{\"boundingBox\":[6.7468,4.9019,7.2010,4.9019,7.2010,5.0107,6.7468,5.0107],\"text\":\"300.00\",\"confidence\":1}]},{\"boundingBox\":[5.5061,5.1219,6.4161,5.1219,6.4161,5.2307,5.5061,5.2307],\"text\":\"Steuer: 30.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5061,5.1219,5.9900,5.1219,5.9900,5.2307,5.5061,5.2307],\"text\":\"Steuer:\",\"confidence\":1},{\"boundingBox\":[6.0456,5.1219,6.4161,5.1219,6.4161,5.2307,6.0456,5.2307],\"text\":\"30.00\",\"confidence\":1}]},{\"boundingBox\":[5.5020,5.3385,6.3493,5.3385,6.3493,5.4784,5.5020,5.4784],\"text\":\"Tipp: 100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5020,5.3385,5.8398,5.3385,5.8398,5.4784,5.5020,5.4784],\"text\":\"Tipp:\",\"confidence\":1},{\"boundingBox\":[5.8990,5.3419,6.3493,5.3419,6.3493,5.4507,5.8990,5.4507],\"text\":\"100.00\",\"confidence\":1}]},{\"boundingBox\":[5.5070,5.5602,6.5795,5.5602,6.5795,5.6690,5.5070,5.6690],\"text\":\"Gesamt: 430.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[5.5070,5.5602,6.0680,5.5602,6.0680,5.6690,5.5070,5.6690],\"text\":\"Gesamt:\",\"confidence\":1},{\"boundingBox\":[6.1201,5.5602,6.5795,5.5602,6.5795,5.6690,6.1201,5.6690],\"text\":\"430.00\",\"confidence\":1}]},{\"boundingBox\":[1.0055,6.8726,3.7485,6.8726,3.7485,7.0155,1.0055,7.0155],\"text\":\"Signatur: ____Bilbo Baggins__________\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}},\"words\":[{\"boundingBox\":[1.0055,6.8755,1.6143,6.8755,1.6143,7.0155,1.0055,7.0155],\"text\":\"Signatur:\",\"confidence\":1},{\"boundingBox\":[1.6612,6.8726,2.3419,6.8726,2.3419,7.0155,1.6612,7.0155],\"text\":\"____Bilbo\",\"confidence\":1},{\"boundingBox\":[2.3979,6.8755,3.7485,6.8755,3.7485,7.0155,2.3979,7.0155],\"text\":\"Baggins__________\",\"confidence\":1}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":8,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Artikel\",\"boundingBox\":[0.9976,2.9416,3.1649,2.9416,3.1649,3.1484,0.9976,3.1484],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Menge\",\"boundingBox\":[3.1649,2.9416,5.3322,2.9416,5.3322,3.1484,3.1649,3.1484],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Preis\",\"boundingBox\":[5.3322,2.9416,7.4995,2.9478,7.4995,3.1546,5.3322,3.1484],\"elements\":[\"#/readResults/0/lines/13/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Eine\",\"boundingBox\":[0.9976,3.1484,3.1649,3.1484,3.1649,3.3614,0.9909,3.3614],\"elements\":[\"#/readResults/0/lines/14/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.1484,5.3322,3.1484,5.3322,3.3614,3.1649,3.3614],\"elements\":[\"#/readResults/0/lines/15/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"10.99\",\"boundingBox\":[5.3322,3.1484,7.4995,3.1546,7.4995,3.3614,5.3322,3.3614],\"elements\":[\"#/readResults/0/lines/16/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"B\",\"boundingBox\":[0.9909,3.3614,3.1649,3.3614,3.1649,3.5682,0.9909,3.5682],\"elements\":[\"#/readResults/0/lines/17/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"2\",\"boundingBox\":[3.1649,3.3614,5.3322,3.3614,5.3322,3.5682,3.1649,3.5682],\"elements\":[\"#/readResults/0/lines/18/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"14.67\",\"boundingBox\":[5.3322,3.3614,7.4995,3.3614,7.4995,3.5745,5.3322,3.5682],\"elements\":[\"#/readResults/0/lines/19/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"C\",\"boundingBox\":[0.9909,3.5682,3.1649,3.5682,3.1649,3.7813,0.9909,3.7813],\"elements\":[\"#/readResults/0/lines/20/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.5682,5.3322,3.5682,5.3322,3.7813,3.1649,3.7813],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"15.66\",\"boundingBox\":[5.3322,3.5682,7.4995,3.5745,7.4995,3.7813,5.3322,3.7813],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"D\",\"boundingBox\":[0.9909,3.7813,3.1649,3.7813,3.1649,3.9943,0.9909,3.9943],\"elements\":[\"#/readResults/0/lines/23/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"1\",\"boundingBox\":[3.1649,3.7813,5.3322,3.7813,5.3322,3.9943,3.1649,3.9943],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,3.7813,7.4995,3.7813,7.4995,3.9943,5.3322,3.9943],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":0,\"text\":\"E\",\"boundingBox\":[0.9909,3.9943,3.1649,3.9943,3.1649,4.2011,0.9909,4.2011],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"4\",\"boundingBox\":[3.1649,3.9943,5.3322,3.9943,5.3322,4.2011,3.1649,4.2011],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":5,\"columnIndex\":2,\"text\":\"10.00\",\"boundingBox\":[5.3322,3.9943,7.4995,3.9943,7.4995,4.2074,5.3322,4.2011],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":0,\"text\":\"F\",\"boundingBox\":[0.9909,4.2011,3.1649,4.2011,3.1649,4.4141,0.9909,4.4141],\"elements\":[\"#/readResults/0/lines/29/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"6\",\"boundingBox\":[3.1649,4.2011,5.3322,4.2011,5.3322,4.4141,3.1649,4.4141],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"12.00\",\"boundingBox\":[5.3322,4.2011,7.4995,4.2074,7.4995,4.4141,5.3322,4.4141],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":0,\"text\":\"G\",\"boundingBox\":[0.9909,4.4141,3.1649,4.4141,3.1649,4.6272,0.9909,4.6272],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":1,\"text\":\"8\",\"boundingBox\":[3.1649,4.4141,5.3322,4.4141,5.3322,4.6272,3.1649,4.6272],\"elements\":[\"#/readResults/0/lines/33/words/0\"],\"isHeader\":false},{\"rowIndex\":7,\"columnIndex\":2,\"text\":\"22.00\",\"boundingBox\":[5.3322,4.4141,7.4995,4.4141,7.4995,4.6272,5.3322,4.6272],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false}],\"boundingBox\":[0.9969,2.9321,7.4979,2.9326,7.4976,4.6320,0.9956,4.6311]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentDataNullData[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentDataNullData[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromDamagedPdf[1].json deleted file mode 100644 index a3dabc7b47510..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ca486c23-6efc-4897-b25b-9bc468735c8a", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "6", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7f34b43e-e658-40f9-9d58-a288b8c0f6b3", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"7f34b43e-e658-40f9-9d58-a288b8c0f6b3\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json deleted file mode 100644 index b03ab20406039..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "af9304f6-7dc9-42ac-aeec-5e88d9698953", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "87", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "180b2f7c-0dda-49dc-b32a-d151e62606f9", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/180b2f7c-0dda-49dc-b32a-d151e62606f9", - "Date" : "Wed, 07 Jul 2021 06:31:30 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/180b2f7c-0dda-49dc-b32a-d151e62606f9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a7e04125-3763-4cf9-bba5-057f6484c227" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "32c02669-b74b-4d16-9e4e-622cc0842782", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:33Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/180b2f7c-0dda-49dc-b32a-d151e62606f9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4b951b06-dcf2-4d42-8cbe-608c3b51c9cc" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "191443de-f8a7-45df-aaa9-f96a13f1cfd0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:31Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:33Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentInvalidSourceUrl[1].json deleted file mode 100644 index 157cb5a7c99c7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6ffe397b-f16b-4fd9-aecc-cb5e278c6278", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "202", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "78166408-f9aa-4308-908d-2ee3f38d760e", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"78166408-f9aa-4308-908d-2ee3f38d760e\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentWithBlankPdf[1].json deleted file mode 100644 index 53bf03ee3a943..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeIDDocumentWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8006f971-7cfa-484c-b38f-03f22616b663", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ccca7d0d-0ff7-4b78-be96-e555f6f4e7c6", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ccca7d0d-0ff7-4b78-be96-e555f6f4e7c6", - "Date" : "Wed, 07 Jul 2021 06:30:57 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ccca7d0d-0ff7-4b78-be96-e555f6f4e7c6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "69f6bd22-2a27-4b82-8819-c17c94711048" - }, - "Response" : { - "content-length" : "240", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "af16f19b-652c-40d0-841a-ab6ec5768496", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:58Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/ccca7d0d-0ff7-4b78-be96-e555f6f4e7c6", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "19fe1caf-4bb9-4baa-8616-45b35d16859a" - }, - "Response" : { - "content-length" : "240", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a576b6cd-b15c-4325-bce3-1c0cbd019d38", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:58Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:31:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataIncludeFieldElements[1].json deleted file mode 100644 index 596c65a585c99..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6f98ad23-5718-4171-8e43-9666b494343d", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "213", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dbd3b4fb-9a80-4d1b-ae58-a0ab7a1ee7c9", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dbd3b4fb-9a80-4d1b-ae58-a0ab7a1ee7c9", - "Date" : "Wed, 07 Jul 2021 06:31:21 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dbd3b4fb-9a80-4d1b-ae58-a0ab7a1ee7c9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f3dc73b0-7111-49a4-8953-2ea3e855f46b" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d2b6689c-14d0-44df-94fc-279a15e39658", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/dbd3b4fb-9a80-4d1b-ae58-a0ab7a1ee7c9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ce3facd1-54c3-4ca1-a7d6-7444222fc479" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "07489129-c1bd-494c-b4b4-11028dd59d4e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:21Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:25Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithBlankPdf[1].json deleted file mode 100644 index 4fb161b502166..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bbe1d497-8ba4-4f22-833f-c70b3828a4c2", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "44", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bd3d7725-30fe-411b-8329-03bd40e58ee4", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/bd3d7725-30fe-411b-8329-03bd40e58ee4", - "Date" : "Wed, 07 Jul 2021 06:32:49 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/bd3d7725-30fe-411b-8329-03bd40e58ee4", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9c01ebe-21f0-47bd-bf1a-50cbe8b7fe69" - }, - "Response" : { - "content-length" : "339", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "518f5a58-fb44-450a-bb94-1a4e200de183", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:52Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/bd3d7725-30fe-411b-8329-03bd40e58ee4", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6d58858e-20a9-4b71-b847-925e9417efdc" - }, - "Response" : { - "content-length" : "339", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e8bc20a-113a-4479-b456-1c29c12e7e16", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:52Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 0f21d7e820da9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "43895c11-6481-424e-a2d0-a21299740370", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "195", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5ec50039-f8d6-4af6-8445-7e535e586e8d", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/5ec50039-f8d6-4af6-8445-7e535e586e8d", - "Date" : "Wed, 07 Jul 2021 06:30:18 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/5ec50039-f8d6-4af6-8445-7e535e586e8d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "116f2920-8da9-4d95-aeac-01e94d5cfffc" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2667e6e4-6341-448b-b6a8-f7d36b4a927b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/5ec50039-f8d6-4af6-8445-7e535e586e8d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6cc4e57f-aeda-4783-9d00-7bbc90e05e54" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a85e866b-6abd-4642-ba23-597293949487", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:23Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceData[1].json deleted file mode 100644 index 0e604de0aa0f3..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceData[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f02548a6-a58a-432c-9f5b-adf1b4e5a841", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "208", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b4e826e2-9b9f-49d3-aca9-b75ea005e0bd", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b4e826e2-9b9f-49d3-aca9-b75ea005e0bd", - "Date" : "Wed, 07 Jul 2021 06:32:39 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b4e826e2-9b9f-49d3-aca9-b75ea005e0bd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "09b2515d-cde4-4a0b-809d-bb61b95c262f" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9b281d24-d10a-4699-88bb-f2156a9a85b9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:32:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:40Z\"}", - "Date" : "Wed, 07 Jul 2021 06:32:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b4e826e2-9b9f-49d3-aca9-b75ea005e0bd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "211a49f8-0695-4f04-82aa-d2b2c063d122" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d2e4303b-b4e8-4708-b8d6-73a150ee3a51", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/b4e826e2-9b9f-49d3-aca9-b75ea005e0bd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "21bd63df-cb75-4cee-b454-8ae109082968" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "df8acd0c-a0a8-4119-9bc9-f9f1033f3ffc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:40Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromDamagedPdf[1].json deleted file mode 100644 index 8e8840214db69..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8d3e789d-0a1f-4ae9-aa39-25d8e14c9558", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "3", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e767085a-18a7-4a6f-a4e8-551d97797bb6", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"e767085a-18a7-4a6f-a4e8-551d97797bb6\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 1078a3dc7cf26..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f3ed045c-e977-429f-aa8c-1b674bbf12d1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "190", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d7eb72d1-dc37-4a5f-80e1-47147c6ef11e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/d7eb72d1-dc37-4a5f-80e1-47147c6ef11e", - "Date" : "Wed, 07 Jul 2021 06:31:12 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/d7eb72d1-dc37-4a5f-80e1-47147c6ef11e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1afa6184-3962-43a5-8914-0bc8bb4ecfe6" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a00dd3e2-f9be-46e1-aa8f-f5435a4760ac", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/d7eb72d1-dc37-4a5f-80e1-47147c6ef11e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "27fc0873-7aa1-4cd9-91a4-d3101197bfdf" - }, - "Response" : { - "content-length" : "12392", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bc303dc3-c111-427c-93bb-d49631c4e305", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:16Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"words\":[{\"text\":\"Address:\",\"boundingBox\":[0.7994,1.5143,1.3836,1.5143,1.3836,1.6154,0.7994,1.6154],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice For: Microsoft\",\"boundingBox\":[4.4033,1.5114,5.8155,1.5114,5.8155,1.6155,4.4033,1.6155],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[4.4033,1.5143,4.8234,1.5143,4.8234,1.6155,4.4033,1.6155],\"confidence\":1},{\"text\":\"For:\",\"boundingBox\":[4.8793,1.5143,5.1013,1.5143,5.1013,1.6154,4.8793,1.6154],\"confidence\":1},{\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1 Redmond way Suite\",\"boundingBox\":[0.8106,1.7033,2.1445,1.7033,2.1445,1.8342,0.8106,1.8342],\"words\":[{\"text\":\"1\",\"boundingBox\":[0.8106,1.708,0.8463,1.708,0.8463,1.8053,0.8106,1.8053],\"confidence\":1},{\"text\":\"Redmond\",\"boundingBox\":[0.923,1.7047,1.5018,1.7047,1.5018,1.8068,0.923,1.8068],\"confidence\":1},{\"text\":\"way\",\"boundingBox\":[1.5506,1.7309,1.7949,1.7309,1.7949,1.8342,1.5506,1.8342],\"confidence\":1},{\"text\":\"Suite\",\"boundingBox\":[1.8415,1.7033,2.1445,1.7033,2.1445,1.8078,1.8415,1.8078],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"1020 Enterprise Way\",\"boundingBox\":[5.2036,1.716,6.5436,1.716,6.5436,1.8459,5.2036,1.8459],\"words\":[{\"text\":\"1020\",\"boundingBox\":[5.2036,1.716,5.4935,1.716,5.4935,1.8185,5.2036,1.8185],\"confidence\":1},{\"text\":\"Enterprise\",\"boundingBox\":[5.5488,1.7164,6.2178,1.7164,6.2178,1.8441,5.5488,1.8441],\"confidence\":1},{\"text\":\"Way\",\"boundingBox\":[6.2618,1.7164,6.5436,1.7164,6.5436,1.8459,6.2618,1.8459],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6000 Redmond, WA\",\"boundingBox\":[0.8019,1.896,2.0384,1.896,2.0384,2.0171,0.8019,2.0171],\"words\":[{\"text\":\"6000\",\"boundingBox\":[0.8019,1.896,1.0991,1.896,1.0991,1.9994,0.8019,1.9994],\"confidence\":1},{\"text\":\"Redmond,\",\"boundingBox\":[1.1537,1.8964,1.7689,1.8964,1.7689,2.0171,1.1537,2.0171],\"confidence\":1},{\"text\":\"WA\",\"boundingBox\":[1.8196,1.8976,2.0384,1.8976,2.0384,1.9969,1.8196,1.9969],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.9047,6.6526,1.9047,6.6526,2.0359,5.196,2.0359],\"words\":[{\"text\":\"Sunnayvale,\",\"boundingBox\":[5.196,1.9047,5.9894,1.9047,5.9894,2.0359,5.196,2.0359],\"confidence\":1},{\"text\":\"CA\",\"boundingBox\":[6.0427,1.9047,6.2354,1.9047,6.2354,2.0085,6.0427,2.0085],\"confidence\":1},{\"text\":\"87659\",\"boundingBox\":[6.2801,1.906,6.6526,1.906,6.6526,2.0086,6.2801,2.0086],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"words\":[{\"text\":\"99243\",\"boundingBox\":[0.8025,2.0876,1.175,2.0876,1.175,2.1911,0.8025,2.1911],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Number\",\"boundingBox\":[0.5439,2.8733,1.5729,2.8733,1.5729,2.9754,0.5439,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[0.5439,2.8733,1.0098,2.8733,1.0098,2.9754,0.5439,2.9754],\"confidence\":1},{\"text\":\"Number\",\"boundingBox\":[1.0611,2.8743,1.5729,2.8743,1.5729,2.9754,1.0611,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Date\",\"boundingBox\":[1.9491,2.8733,2.7527,2.8733,2.7527,2.9754,1.9491,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[1.9491,2.8733,2.415,2.8733,2.415,2.9754,1.9491,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[2.4673,2.8743,2.7527,2.8743,2.7527,2.9754,2.4673,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3495,2.8733,4.4547,2.8733,4.4547,2.9754,3.3495,2.9754],\"words\":[{\"text\":\"Invoice\",\"boundingBox\":[3.3495,2.8733,3.8155,2.8733,3.8155,2.9754,3.3495,2.9754],\"confidence\":1},{\"text\":\"Due\",\"boundingBox\":[3.8677,2.8743,4.1149,2.8743,4.1149,2.9754,3.8677,2.9754],\"confidence\":1},{\"text\":\"Date\",\"boundingBox\":[4.1678,2.8743,4.4547,2.8743,4.4547,2.9754,4.1678,2.9754],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"words\":[{\"text\":\"Charges\",\"boundingBox\":[4.7468,2.8717,5.289,2.8717,5.289,3.0035,4.7468,3.0035],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"VAT ID\",\"boundingBox\":[6.141,2.873,6.5875,2.873,6.5875,2.9736,6.141,2.9736],\"words\":[{\"text\":\"VAT\",\"boundingBox\":[6.141,2.873,6.4147,2.873,6.4147,2.9736,6.141,2.9736],\"confidence\":1},{\"text\":\"ID\",\"boundingBox\":[6.4655,2.873,6.5875,2.873,6.5875,2.9736,6.4655,2.9736],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"words\":[{\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"words\":[{\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"words\":[{\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"words\":[{\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"words\":[{\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"elements\":[\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"elements\":[\"#/readResults/0/lines/9/words/0\",\"#/readResults/0/lines/9/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"elements\":[\"#/readResults/0/lines/10/words/0\",\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"elements\":[\"#/readResults/0/lines/12/words/0\",\"#/readResults/0/lines/12/words/1\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534],\"elements\":[\"#/readResults/0/lines/13/words/0\"]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534],\"elements\":[\"#/readResults/0/lines/14/words/0\"]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534],\"elements\":[\"#/readResults/0/lines/16/words/0\"]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534],\"elements\":[\"#/readResults/0/lines/17/words/0\"]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954,\"elements\":[\"#/readResults/0/lines/4/words/0\",\"#/readResults/0/lines/4/words/1\",\"#/readResults/0/lines/4/words/2\",\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\",\"#/readResults/0/lines/6/words/2\"]},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/2/words/2\"]},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783,\"elements\":[\"#/readResults/0/lines/16/words/0\"]},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287,\"elements\":[\"#/readResults/0/lines/14/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692,\"elements\":[\"#/readResults/0/lines/17/words/0\"]}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/17/words/0\"]}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\",\"#/readResults/0/lines/3/words/3\",\"#/readResults/0/lines/5/words/0\",\"#/readResults/0/lines/5/words/1\",\"#/readResults/0/lines/5/words/2\",\"#/readResults/0/lines/7/words/0\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981,\"elements\":[\"#/readResults/0/lines/0/words/0\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index 0af50bc15f49e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "b13696d3-6dc5-4f87-8ff8-66f8f5644576", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "b13696d3-6dc5-4f87-8ff8-66f8f5644576", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "b13696d3-6dc5-4f87-8ff8-66f8f5644576", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "b13696d3-6dc5-4f87-8ff8-66f8f5644576", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceInvalidSourceUrl[1].json deleted file mode 100644 index 623fa1f810412..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "76b0ffd3-7fc3-491d-b377-6da52f4a55d4", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "201", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9767415d-33d2-42af-9940-7892f093838e", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"9767415d-33d2-42af-9940-7892f093838e\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceSourceUrl[1].json deleted file mode 100644 index 25c0f51c713d0..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeInvoiceSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90f50c44-e6d7-4f70-891d-502d795542e6", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "225", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "164e8f2e-9cb0-43f1-a9a9-45b77a483ab3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/164e8f2e-9cb0-43f1-a9a9-45b77a483ab3", - "Date" : "Wed, 07 Jul 2021 06:29:11 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/164e8f2e-9cb0-43f1-a9a9-45b77a483ab3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "166b04af-af3b-484e-8656-948f951afe97" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f9697ebf-cb51-42bf-95e8-dd93c6aefef8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/164e8f2e-9cb0-43f1-a9a9-45b77a483ab3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "89a054d9-8fdc-485e-bb42-f41186ea012b" - }, - "Response" : { - "content-length" : "4180", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2a1e888c-1fa5-4093-a841-500c8ae45d14", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":3,\"columns\":5,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Invoice Number\",\"boundingBox\":[0.4992,2.7829,1.8978,2.79,1.8978,3.3181,0.5064,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Invoice Date\",\"boundingBox\":[1.8978,2.79,3.3036,2.79,3.3036,3.3181,1.8978,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Invoice Due Date\",\"boundingBox\":[3.3036,2.79,4.7022,2.79,4.7022,3.3181,3.3036,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Charges\",\"boundingBox\":[4.7022,2.79,6.1008,2.79,6.1008,3.3181,4.7022,3.3181],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":4,\"text\":\"VAT ID\",\"boundingBox\":[6.1008,2.79,7.4994,2.79,7.4994,3.3181,6.1008,3.3181],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"34278587\",\"boundingBox\":[0.5064,3.3181,1.8978,3.3181,1.8978,3.8534,0.5064,3.8534]},{\"rowIndex\":1,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"6/18/2017\",\"boundingBox\":[1.8978,3.3181,3.3036,3.3181,3.3036,3.8534,1.8978,3.8534]},{\"rowIndex\":1,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"6/24/2017\",\"boundingBox\":[3.3036,3.3181,4.7022,3.3181,4.7022,3.8534,3.3036,3.8534]},{\"rowIndex\":1,\"columnIndex\":3,\"rowSpan\":2,\"text\":\"$56,651.49\",\"boundingBox\":[4.7022,3.3181,6.1008,3.3181,6.1008,3.8534,4.7022,3.8534]},{\"rowIndex\":1,\"columnIndex\":4,\"rowSpan\":2,\"text\":\"PT\",\"boundingBox\":[6.1008,3.3181,7.4994,3.3181,7.4994,3.8534,6.1008,3.8534]}],\"boundingBox\":[0.4985,2.7802,7.4933,2.7816,7.4913,3.8459,0.4966,3.8447]}]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,1],\"fields\":{\"CustomerAddress\":{\"type\":\"string\",\"valueString\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"text\":\"1020 Enterprise Way Sunnayvale, CA 87659\",\"boundingBox\":[5.196,1.716,6.6526,1.716,6.6526,2.0359,5.196,2.0359],\"page\":1,\"confidence\":0.954},\"CustomerAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"CustomerName\":{\"type\":\"string\",\"valueString\":\"Microsoft\",\"text\":\"Microsoft\",\"boundingBox\":[5.2045,1.5114,5.8155,1.5114,5.8155,1.6151,5.2045,1.6151],\"page\":1,\"confidence\":0.981},\"DueDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-24\",\"text\":\"6/24/2017\",\"boundingBox\":[3.346,3.41,3.9514,3.41,3.9514,3.5144,3.346,3.5144],\"page\":1,\"confidence\":0.981},\"InvoiceDate\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.967},\"InvoiceId\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.973},\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":56651.49,\"text\":\"$56,651.49\",\"boundingBox\":[5.3871,3.4047,6.0702,3.4047,6.0702,3.5321,5.3871,3.5321],\"page\":1,\"confidence\":0.783},\"Date\":{\"type\":\"date\",\"valueDate\":\"2017-06-18\",\"text\":\"6/18/2017\",\"boundingBox\":[1.9455,3.41,2.551,3.41,2.551,3.5144,1.9455,3.5144],\"page\":1,\"confidence\":0.287},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"34278587\",\"text\":\"34278587\",\"boundingBox\":[0.5397,3.411,1.1457,3.411,1.1457,3.5144,0.5397,3.5144],\"page\":1,\"confidence\":0.646},\"Tax\":{\"type\":\"number\",\"text\":\"PT\",\"boundingBox\":[6.2285,3.4114,6.3919,3.4114,6.3919,3.5119,6.2285,3.5119],\"page\":1,\"confidence\":0.692}},\"text\":\"34278587 6/18/2017 6/24/2017 $56,651.49 PT\",\"boundingBox\":[0.5397,3.4047,6.3919,3.4047,6.3919,3.5321,0.5397,3.5321],\"page\":1,\"confidence\":0.399}]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"text\":\"1 Redmond way Suite 6000 Redmond, WA 99243\",\"boundingBox\":[0.8019,1.7033,2.1445,1.7033,2.1445,2.1911,0.8019,2.1911],\"page\":1,\"confidence\":0.953},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[0.5384,1.1583,1.4466,1.1583,1.4466,1.3534,0.5384,1.3534],\"page\":1,\"confidence\":0.981}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseCardData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseCardData[1].json deleted file mode 100644 index 01917f882d161..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseCardData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ea7bbb00-8828-4b31-90ab-0939e566e8fb", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "79", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1803a947-76be-4cbe-a80a-41ffa8d55e4a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/1803a947-76be-4cbe-a80a-41ffa8d55e4a", - "Date" : "Wed, 07 Jul 2021 06:29:04 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/1803a947-76be-4cbe-a80a-41ffa8d55e4a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "843edf81-84b1-488d-b4ae-90f01e8aaa37" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0033c947-0f1b-4263-93a8-adf94a7cb592", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/1803a947-76be-4cbe-a80a-41ffa8d55e4a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "200f80af-2b53-43c1-9828-70dfff29e6b6" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0b0318a3-8caf-4b84-8600-44de98844f47", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataIncludeFieldElements[1].json deleted file mode 100644 index c1a2a37a882ee..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "136cf747-f98d-4efd-928d-c1361967def0", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "117", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "57416173-c0b5-4251-b360-f3dd26f710f4", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/57416173-c0b5-4251-b360-f3dd26f710f4", - "Date" : "Wed, 07 Jul 2021 06:31:15 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/57416173-c0b5-4251-b360-f3dd26f710f4", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9db3128c-ac8a-443e-b178-6939a6f280f2" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "297bf579-419c-4006-a22a-79a7139714f5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:17Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/57416173-c0b5-4251-b360-f3dd26f710f4", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "401e97d4-f09f-4d14-add1-39a8b549ddc3" - }, - "Response" : { - "content-length" : "10406", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2ff7a76d-be5f-4e25-b6a3-ed6bc53b670a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:17Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\",\"lines\":[{\"text\":\"USA WASHINGTON\",\"boundingBox\":[17,25,232,22,233,47,17,49],\"words\":[{\"text\":\"USA\",\"boundingBox\":[18,34,42,31,41,48,18,49],\"confidence\":0.931},{\"text\":\"WASHINGTON\",\"boundingBox\":[45,30,218,25,218,48,44,48],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"WA\",\"boundingBox\":[17,24,39,25,39,37,18,36],\"words\":[{\"text\":\"WA\",\"boundingBox\":[18,24,37,25,36,37,17,36],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DRIVER LICENSE\",\"boundingBox\":[274,27,401,27,401,42,274,43],\"words\":[{\"text\":\"DRIVER\",\"boundingBox\":[275,27,329,28,328,43,275,43],\"confidence\":0.994},{\"text\":\"LICENSE\",\"boundingBox\":[333,28,398,28,397,43,333,43],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"FEDERAL LIMITS APPLY\",\"boundingBox\":[258,49,414,49,414,62,259,63],\"words\":[{\"text\":\"FEDERAL\",\"boundingBox\":[259,50,319,50,319,64,259,63],\"confidence\":0.994},{\"text\":\"LIMITS\",\"boundingBox\":[321,50,364,50,364,63,322,64],\"confidence\":0.996},{\"text\":\"APPLY\",\"boundingBox\":[367,50,411,49,411,63,367,63],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4d LIC#WDLABCD456DG 9CLASS\",\"boundingBox\":[150,67,366,67,365,84,150,84],\"words\":[{\"text\":\"4d\",\"boundingBox\":[151,70,159,70,160,85,152,85],\"confidence\":0.474},{\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"confidence\":0.968},{\"text\":\"9CLASS\",\"boundingBox\":[318,69,364,71,364,84,318,84],\"confidence\":0.716}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"DONORS\",\"boundingBox\":[376,69,431,69,431,83,377,84],\"words\":[{\"text\":\"DONORS\",\"boundingBox\":[380,70,431,69,432,83,381,84],\"confidence\":0.179}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 TALBOT\",\"boundingBox\":[149,85,212,85,213,99,149,99],\"words\":[{\"text\":\"1\",\"boundingBox\":[150,86,157,86,157,100,150,100],\"confidence\":0.965},{\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 LIAM R.\",\"boundingBox\":[150,101,215,101,215,116,150,116],\"words\":[{\"text\":\"2\",\"boundingBox\":[151,102,155,102,155,116,151,116],\"confidence\":0.994},{\"text\":\"LIAM\",\"boundingBox\":[158,102,190,102,190,116,158,116],\"confidence\":0.991},{\"text\":\"R.\",\"boundingBox\":[197,102,215,102,216,116,197,116],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"3 DOB 01/06/1958\",\"boundingBox\":[151,133,274,131,274,147,151,149],\"words\":[{\"text\":\"3\",\"boundingBox\":[151,135,156,135,156,149,152,149],\"confidence\":0.994},{\"text\":\"DOB\",\"boundingBox\":[159,134,184,133,184,149,159,149],\"confidence\":0.998},{\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4a ISS 01/06/2015\",\"boundingBox\":[313,133,435,131,435,147,313,149],\"words\":[{\"text\":\"4a\",\"boundingBox\":[314,135,324,135,325,149,314,149],\"confidence\":0.994},{\"text\":\"ISS\",\"boundingBox\":[327,134,345,134,345,149,328,149],\"confidence\":0.481},{\"text\":\"01/06/2015\",\"boundingBox\":[348,133,431,132,431,148,348,149],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8 123 STREET ADDRESS\",\"boundingBox\":[151,151,303,150,303,164,151,164],\"words\":[{\"text\":\"8\",\"boundingBox\":[151,151,156,151,156,165,152,165],\"confidence\":0.587},{\"text\":\"123\",\"boundingBox\":[158,151,180,151,181,165,159,165],\"confidence\":0.997},{\"text\":\"STREET\",\"boundingBox\":[183,151,234,151,235,164,184,165],\"confidence\":0.996},{\"text\":\"ADDRESS\",\"boundingBox\":[237,151,301,151,301,165,237,164],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"YOUR CITY WA 99999-1234\",\"boundingBox\":[157,163,327,163,327,176,157,176],\"words\":[{\"text\":\"YOUR\",\"boundingBox\":[158,164,193,164,194,177,159,177],\"confidence\":0.869},{\"text\":\"CITY\",\"boundingBox\":[198,164,229,164,229,177,198,177],\"confidence\":0.98},{\"text\":\"WA\",\"boundingBox\":[232,164,251,164,252,177,232,177],\"confidence\":0.997},{\"text\":\"99999-1234\",\"boundingBox\":[256,164,326,163,326,177,256,177],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"20 1234567XX1101\",\"boundingBox\":[10,173,10,81,21,81,21,173],\"words\":[{\"text\":\"20\",\"boundingBox\":[10,173,10,162,21,162,21,173],\"confidence\":0.999},{\"text\":\"1234567XX1101\",\"boundingBox\":[10,154,10,82,21,82,21,154],\"confidence\":0.939}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"15 SEX M\",\"boundingBox\":[185,190,240,189,240,201,185,202],\"words\":[{\"text\":\"15\",\"boundingBox\":[186,191,196,191,196,202,186,202],\"confidence\":0.994},{\"text\":\"SEX\",\"boundingBox\":[199,191,220,190,220,201,199,202],\"confidence\":0.998},{\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"16 HGT 5'-08\\\"\",\"boundingBox\":[185,202,265,199,266,212,185,215],\"words\":[{\"text\":\"16\",\"boundingBox\":[186,203,196,203,196,214,185,214],\"confidence\":0.994},{\"text\":\"HGT\",\"boundingBox\":[198,203,222,202,222,214,198,214],\"confidence\":0.998},{\"text\":\"5'-08\\\"\",\"boundingBox\":[226,202,263,200,263,213,226,214],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"18 EYES BLU\",\"boundingBox\":[293,189,368,188,368,200,293,202],\"words\":[{\"text\":\"18\",\"boundingBox\":[294,190,304,190,305,202,294,202],\"confidence\":0.994},{\"text\":\"EYES\",\"boundingBox\":[307,190,336,189,336,202,307,202],\"confidence\":0.993},{\"text\":\"BLU\",\"boundingBox\":[339,189,362,188,362,201,339,202],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"17 WGT 165 lb\",\"boundingBox\":[293,202,374,200,375,213,294,215],\"words\":[{\"text\":\"17\",\"boundingBox\":[294,203,305,203,305,215,294,215],\"confidence\":0.994},{\"text\":\"WGT\",\"boundingBox\":[307,203,334,202,334,214,307,215],\"confidence\":0.998},{\"text\":\"165\",\"boundingBox\":[336,202,357,201,357,214,336,214],\"confidence\":0.998},{\"text\":\"lb\",\"boundingBox\":[360,201,372,201,372,214,360,214],\"confidence\":0.408}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"12 RESTRICTIONS 9a END L\",\"boundingBox\":[185,216,345,214,346,227,185,229],\"words\":[{\"text\":\"12\",\"boundingBox\":[186,217,195,217,195,229,186,229],\"confidence\":0.994},{\"text\":\"RESTRICTIONS\",\"boundingBox\":[198,217,281,216,281,228,198,229],\"confidence\":0.994},{\"text\":\"9a\",\"boundingBox\":[292,216,305,216,305,228,292,228],\"confidence\":0.994},{\"text\":\"END\",\"boundingBox\":[307,216,330,215,330,228,307,228],\"confidence\":0.998},{\"text\":\"L\",\"boundingBox\":[335,215,341,215,341,228,335,228],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"B\",\"boundingBox\":[231,229,241,229,241,241,231,240],\"words\":[{\"text\":\"B\",\"boundingBox\":[231,229,239,229,238,241,231,240],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"4b EXP 08/12/2020\",\"boundingBox\":[293,230,417,228,418,243,293,245],\"words\":[{\"text\":\"4b\",\"boundingBox\":[294,232,305,231,305,245,294,245],\"confidence\":0.932},{\"text\":\"EXP\",\"boundingBox\":[308,231,329,230,329,245,308,245],\"confidence\":0.991},{\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"5 DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[152,261,355,260,355,273,152,274],\"words\":[{\"text\":\"5\",\"boundingBox\":[153,262,158,262,158,274,153,274],\"confidence\":0.986},{\"text\":\"DDWDLABCD456DG1234567XX1101\",\"boundingBox\":[161,262,355,261,356,274,161,274],\"confidence\":0.947}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Veteran\",\"boundingBox\":[389,258,437,259,436,271,389,270],\"words\":[{\"text\":\"Veteran\",\"boundingBox\":[390,259,434,260,434,271,390,271],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"REV 07/01/2018\",\"boundingBox\":[366,274,436,274,436,284,366,285],\"words\":[{\"text\":\"REV\",\"boundingBox\":[366,275,384,275,384,285,366,285],\"confidence\":0.994},{\"text\":\"07/01/2018\",\"boundingBox\":[386,275,435,275,434,285,386,285],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965,\"elements\":[\"#/readResults/0/lines/10/words/1\",\"#/readResults/0/lines/10/words/2\",\"#/readResults/0/lines/10/words/3\",\"#/readResults/0/lines/11/words/0\",\"#/readResults/0/lines/11/words/1\",\"#/readResults/0/lines/11/words/2\",\"#/readResults/0/lines/11/words/3\"]},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/8/words/2\"]},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/19/words/2\"]},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/1\"]},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/6/words/1\"]},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99,\"elements\":[\"#/readResults/0/lines/13/words/2\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 69a04297bdc54..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a25b03ad-50a9-4745-854a-ad106bc9b1de", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "83", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97b24ac7-9f72-49b0-8dd4-8540fa0eb11b", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/97b24ac7-9f72-49b0-8dd4-8540fa0eb11b", - "Date" : "Wed, 07 Jul 2021 06:32:12 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/97b24ac7-9f72-49b0-8dd4-8540fa0eb11b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9af0645c-1e89-489c-8ae4-7c76277199d5" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cd872b88-ae89-4006-8ca3-5e9bfb3309e6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/97b24ac7-9f72-49b0-8dd4-8540fa0eb11b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "133df37a-90a2-4634-b7e3-86145b676445" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4dc16407-e8c5-4e33-b71f-193ddd40fc43", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:13Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseSourceUrl[1].json deleted file mode 100644 index 87a62572188bd..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeLicenseSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7f2d2800-bad5-46f3-9615-422f36f820bb", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "263", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5f31f6b2-af2c-49aa-87f9-59a07389014a", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/5f31f6b2-af2c-49aa-87f9-59a07389014a", - "Date" : "Wed, 07 Jul 2021 06:30:03 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/5f31f6b2-af2c-49aa-87f9-59a07389014a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ec174042-6fc0-4b22-8044-7c0a767102ca" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92d81b19-c73d-489e-86a0-04d7a4e9b84d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:06Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/idDocument/analyzeResults/5f31f6b2-af2c-49aa-87f9-59a07389014a", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "05920ddd-a071-4b6b-9cda-5f079a7b21f0" - }, - "Response" : { - "content-length" : "1606", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d45af1fa-4dab-45e3-9fdc-72564ee677b6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:06Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.2823,\"width\":450,\"height\":294,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:idDocument:driverLicense\",\"docTypeConfidence\":0.995,\"pageRange\":[1,1],\"fields\":{\"Address\":{\"type\":\"string\",\"valueString\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"text\":\"123 STREET ADDRESS YOUR CITY WA 99999-1234\",\"boundingBox\":[158,151,326,151,326,177,158,177],\"page\":1,\"confidence\":0.965},\"CountryRegion\":{\"type\":\"countryRegion\",\"confidence\":0.99,\"valueCountryRegion\":\"USA\"},\"DateOfBirth\":{\"type\":\"date\",\"valueDate\":\"1958-01-06\",\"text\":\"01/06/1958\",\"boundingBox\":[187,133,272,132,272,148,187,149],\"page\":1,\"confidence\":0.99},\"DateOfExpiration\":{\"type\":\"date\",\"valueDate\":\"2020-08-12\",\"text\":\"08/12/2020\",\"boundingBox\":[332,230,414,228,414,244,332,245],\"page\":1,\"confidence\":0.99},\"DocumentNumber\":{\"type\":\"string\",\"valueString\":\"WDLABCD456DG\",\"text\":\"LIC#WDLABCD456DG\",\"boundingBox\":[162,70,307,68,307,84,163,85],\"page\":1,\"confidence\":0.987},\"FirstName\":{\"type\":\"string\",\"valueString\":\"LIAM R.\",\"text\":\"LIAM R.\",\"boundingBox\":[158,102,216,102,216,116,158,116],\"page\":1,\"confidence\":0.985},\"LastName\":{\"type\":\"string\",\"valueString\":\"TALBOT\",\"text\":\"TALBOT\",\"boundingBox\":[160,86,213,85,213,99,160,100],\"page\":1,\"confidence\":0.987},\"Region\":{\"type\":\"string\",\"valueString\":\"Washington\",\"confidence\":0.99},\"Sex\":{\"type\":\"string\",\"valueString\":\"M\",\"text\":\"M\",\"boundingBox\":[226,190,232,190,233,201,226,201],\"page\":1,\"confidence\":0.99}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCardUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCardUrl[1].json deleted file mode 100644 index 8504d71c771fe..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCardUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b34d8bd8-da43-4e15-884c-20f486e9d79e", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "61", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a7fbfb73-5e55-4dc7-a383-f9f8ec71dee1", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a7fbfb73-5e55-4dc7-a383-f9f8ec71dee1", - "Date" : "Wed, 07 Jul 2021 06:31:03 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a7fbfb73-5e55-4dc7-a383-f9f8ec71dee1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a505c343-4702-4b91-adb0-d59831acec8f" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7e0d5319-f589-44a5-8667-daf620517821", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/a7fbfb73-5e55-4dc7-a383-f9f8ec71dee1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "897b0881-a47e-4c4a-9662-49565880049f" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e88d764e-42d9-4dc8-840d-d4f666c5b5b4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:03Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:07Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCard[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCard[1].json deleted file mode 100644 index 06252e292ab17..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageBusinessCard[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5a8744ab-b6f7-495a-9c73-87b489927531", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "190", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c24ee9ec-bf0a-4652-9d0a-3c00d495bd12", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c24ee9ec-bf0a-4652-9d0a-3c00d495bd12", - "Date" : "Wed, 07 Jul 2021 06:32:26 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c24ee9ec-bf0a-4652-9d0a-3c00d495bd12", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "facbb7e9-c512-4c05-9eff-c625123ebc75" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b85446be-0122-4487-b21a-d082c6109544", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/c24ee9ec-bf0a-4652-9d0a-3c00d495bd12", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3326b785-655e-40ed-8e97-3b6e888bc81e" - }, - "Response" : { - "content-length" : "13798", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5eaa7aba-44b8-414a-a59a-649795a837da", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:28Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":7.2821,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7266,3.7442,2.9551,3.8771,2.9108,4.2205,1.6934,4.0765],\"words\":[{\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"SINGER\",\"boundingBox\":[1.7155,4.1541,3.3203,4.3424,3.276,4.6747,1.6823,4.4753],\"words\":[{\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Software Engineer\",\"boundingBox\":[1.5163,5.2397,3.6081,5.5166,3.5749,5.7492,1.4831,5.4723],\"words\":[{\"text\":\"Software\",\"boundingBox\":[1.5273,5.2508,2.5124,5.3726,2.4902,5.6163,1.5052,5.4834],\"confidence\":0.995},{\"text\":\"Engineer\",\"boundingBox\":[2.5677,5.3837,3.6081,5.5277,3.5749,5.7492,2.5345,5.6163],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"+1 (425) 779-3479 johnsinger@contoso.com\",\"boundingBox\":[1.4609,5.5055,6.1536,6.1148,6.1315,6.3474,1.4499,5.7382],\"words\":[{\"text\":\"+1\",\"boundingBox\":[1.4831,5.5166,1.7487,5.5498,1.7266,5.7825,1.4609,5.7492],\"confidence\":0.962},{\"text\":\"(425)\",\"boundingBox\":[1.793,5.5498,2.4017,5.6274,2.3796,5.8711,1.7708,5.7936],\"confidence\":0.996},{\"text\":\"779-3479\",\"boundingBox\":[2.446,5.6385,3.431,5.7603,3.4089,6.0151,2.4238,5.8822],\"confidence\":0.995},{\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4277,5.7825,4.1615,6.137,4.1283,6.3585,1.4056,6.0151],\"words\":[{\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"confidence\":0.949}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]},{\"page\":2,\"angle\":-16.9551,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6491,2.858,3.5859,2.4038,3.6413,2.6032,1.7044,3.0574],\"words\":[{\"text\":\"Dr.\",\"boundingBox\":[1.6602,2.8691,2.0254,2.7805,2.0697,2.9799,1.7044,3.0574],\"confidence\":0.994},{\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"confidence\":0.996},{\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Senior Researcher\",\"boundingBox\":[1.6934,3.0906,3.099,2.7694,3.1322,2.9134,1.7376,3.2457],\"words\":[{\"text\":\"Senior\",\"boundingBox\":[1.7155,3.1017,2.2135,2.9909,2.2467,3.1349,1.7598,3.2457],\"confidence\":0.996},{\"text\":\"Researcher\",\"boundingBox\":[2.2357,2.9799,3.11,2.7694,3.1322,2.9134,2.2799,3.1239],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7376,3.2568,3.5638,2.8137,3.597,2.9688,1.7708,3.4119],\"words\":[{\"text\":\"Cloud\",\"boundingBox\":[1.7376,3.2568,2.2025,3.1571,2.2357,3.3122,1.7708,3.423],\"confidence\":0.995},{\"text\":\"&\",\"boundingBox\":[2.2467,3.146,2.3464,3.1239,2.3796,3.279,2.291,3.3011],\"confidence\":0.996},{\"text\":\"Al\",\"boundingBox\":[2.4238,3.1017,2.5898,3.0574,2.623,3.2125,2.4681,3.2568],\"confidence\":0.86},{\"text\":\"Department\",\"boundingBox\":[2.623,3.0574,3.5638,2.8248,3.597,2.9577,2.6563,3.2014],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3717,2.4924,5.7441,2.1158,5.7663,2.2155,4.3939,2.6032],\"words\":[{\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"confidence\":0.987}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.4049,2.6032,5.8105,2.2155,5.8548,2.3263,4.4382,2.7362],\"words\":[{\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"confidence\":0.933}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"mob: +44 (0) 7911 123456\",\"boundingBox\":[4.6042,2.7583,5.9655,2.3484,5.9987,2.4592,4.6374,2.8802],\"words\":[{\"text\":\"mob:\",\"boundingBox\":[4.6152,2.7694,4.8919,2.6808,4.9251,2.8026,4.6484,2.8802],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9141,2.6808,5.1022,2.6143,5.1354,2.7362,4.9473,2.7915],\"confidence\":0.997},{\"text\":\"(0)\",\"boundingBox\":[5.1354,2.6143,5.2904,2.5589,5.3125,2.6808,5.1576,2.7251],\"confidence\":0.986},{\"text\":\"7911\",\"boundingBox\":[5.3014,2.5589,5.556,2.4814,5.5892,2.6032,5.3346,2.6697],\"confidence\":0.994},{\"text\":\"123456\",\"boundingBox\":[5.5781,2.4703,5.9434,2.3595,5.9766,2.4814,5.6003,2.5921],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"tel: +44 (0) 20 9876 5432\",\"boundingBox\":[4.7591,2.858,6.054,2.4592,6.0872,2.5811,4.8034,2.9799],\"words\":[{\"text\":\"tel:\",\"boundingBox\":[4.7702,2.858,4.9362,2.8137,4.9805,2.9355,4.8034,2.9799],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[4.9694,2.8026,5.1576,2.7472,5.2018,2.8691,5.0026,2.9245],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.1797,2.7362,5.3346,2.6918,5.3789,2.8137,5.224,2.858],\"confidence\":0.996},{\"text\":\"20\",\"boundingBox\":[5.3568,2.6808,5.4896,2.6475,5.5228,2.7694,5.401,2.8026],\"confidence\":0.988},{\"text\":\"9876\",\"boundingBox\":[5.5117,2.6365,5.7552,2.5589,5.7995,2.6808,5.556,2.7583],\"confidence\":0.989},{\"text\":\"5432\",\"boundingBox\":[5.7884,2.5478,6.043,2.4592,6.0872,2.5921,5.8216,2.6697],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"fax: +44 (0) 20 6789 2345\",\"boundingBox\":[4.8145,2.9909,6.1647,2.57,6.1979,2.7029,4.8587,3.1128],\"words\":[{\"text\":\"fax:\",\"boundingBox\":[4.8255,3.002,5.0358,2.9355,5.0801,3.0574,4.8587,3.1128],\"confidence\":0.994},{\"text\":\"+44\",\"boundingBox\":[5.0579,2.9245,5.2572,2.858,5.2904,2.9909,5.1022,3.0463],\"confidence\":0.998},{\"text\":\"(0)\",\"boundingBox\":[5.2793,2.858,5.4342,2.8026,5.4674,2.9355,5.3125,2.9799],\"confidence\":0.994},{\"text\":\"20\",\"boundingBox\":[5.4564,2.8026,5.5892,2.7583,5.6224,2.8912,5.5007,2.9245],\"confidence\":0.997},{\"text\":\"6789\",\"boundingBox\":[5.6113,2.7472,5.8659,2.6697,5.9102,2.7915,5.6556,2.8802],\"confidence\":0.99},{\"text\":\"2345\",\"boundingBox\":[5.888,2.6586,6.1426,2.5811,6.1868,2.7029,5.9323,2.7915],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0433,4.7148,3.4562,4.8255,3.8218,2.944,4.4199],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"2 Kingdom Street\",\"boundingBox\":[2.944,4.4421,4.2611,3.999,4.3164,4.1652,2.9993,4.6083],\"words\":[{\"text\":\"2\",\"boundingBox\":[2.9661,4.431,3.0547,4.4089,3.11,4.575,3.0215,4.6083],\"confidence\":0.997},{\"text\":\"Kingdom\",\"boundingBox\":[3.0879,4.3978,3.7298,4.1984,3.7852,4.3535,3.1432,4.5639],\"confidence\":0.996},{\"text\":\"Street\",\"boundingBox\":[3.8073,4.1762,4.2611,4.0101,4.3053,4.1541,3.8516,4.3313],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Paddington, London, W2 6BD\",\"boundingBox\":[3.0215,4.6415,5.1576,3.8993,5.2129,4.0655,3.0768,4.8187],\"words\":[{\"text\":\"Paddington,\",\"boundingBox\":[3.0326,4.6415,3.9622,4.3202,4.0176,4.4975,3.0879,4.8187],\"confidence\":0.994},{\"text\":\"London,\",\"boundingBox\":[3.9954,4.3092,4.582,4.1098,4.6374,4.2759,4.0508,4.4864],\"confidence\":0.995},{\"text\":\"W2\",\"boundingBox\":[4.6152,4.0987,4.8477,4.0211,4.8919,4.1762,4.6706,4.2649],\"confidence\":0.996},{\"text\":\"6BD\",\"boundingBox\":[4.8809,4.0101,5.1465,3.9104,5.1908,4.0655,4.9251,4.1652],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[1,1],\"fields\":{\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"JOHN\",\"text\":\"JOHN\",\"boundingBox\":[1.7376,3.7553,2.778,3.8661,2.7227,4.1984,1.6934,4.0876],\"page\":1,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"SINGER\",\"text\":\"SINGER\",\"boundingBox\":[1.7266,4.1541,3.1875,4.3313,3.1432,4.6747,1.6823,4.4753],\"page\":1,\"elements\":[\"#/readResults/0/lines/1/words/0\"]}},\"text\":\"JOHN SINGER\",\"boundingBox\":[1.7392,3.7322,3.2398,3.9256,3.1432,4.6747,1.6427,4.4813],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/0/words/0\",\"#/readResults/0/lines/1/words/0\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"johnsinger@contoso.com\",\"text\":\"johnsinger@contoso.com\",\"boundingBox\":[3.4753,5.7714,6.043,6.1259,6.0319,6.3364,3.4531,6.0151],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/3\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Software Engineer\",\"text\":\"Software Engineer\",\"boundingBox\":[1.5285,5.2417,3.6093,5.5186,3.5771,5.7609,1.4963,5.484],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]}]},\"OtherPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+14257793479\",\"text\":\"+1 (425) 779-3479\",\"boundingBox\":[1.4839,5.5104,3.4414,5.7598,3.4089,6.0151,1.4514,5.7657],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com\",\"text\":\"https://www.contoso.com\",\"boundingBox\":[1.4499,5.7936,4.0508,6.1591,4.0286,6.3474,1.4277,6.0262],\"page\":1,\"confidence\":0.995,\"elements\":[\"#/readResults/0/lines/4/words/0\"]}]}}},{\"docType\":\"prebuilt:businesscard\",\"pageRange\":[2,2],\"fields\":{\"Addresses\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"text\":\"2 Kingdom Street Paddington, London, W2 6BD\",\"boundingBox\":[2.9539,4.4353,5.0714,3.6954,5.2067,4.0826,3.0892,4.8224],\"page\":2,\"confidence\":0.98,\"elements\":[\"#/readResults/1/lines/9/words/0\",\"#/readResults/1/lines/9/words/1\",\"#/readResults/1/lines/9/words/2\",\"#/readResults/1/lines/10/words/0\",\"#/readResults/1/lines/10/words/1\",\"#/readResults/1/lines/10/words/2\",\"#/readResults/1/lines/10/words/3\"]}]},\"CompanyNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[2.8333,4.0655,4.6374,3.4894,4.7591,3.855,2.9661,4.4199],\"page\":2,\"confidence\":0.168,\"elements\":[\"#/readResults/1/lines/8/words/0\"]}]},\"ContactNames\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"FirstName\":{\"type\":\"string\",\"valueString\":\"Avery\",\"text\":\"Avery\",\"boundingBox\":[2.0697,2.7694,2.7891,2.6032,2.8444,2.8026,2.1139,2.9688],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/1\"]},\"LastName\":{\"type\":\"string\",\"valueString\":\"Smith\",\"text\":\"Smith\",\"boundingBox\":[2.8776,2.5811,3.5306,2.426,3.5859,2.6254,2.9219,2.7805],\"page\":2,\"elements\":[\"#/readResults/1/lines/0/words/2\"]}},\"text\":\"Dr. Avery Smith\",\"boundingBox\":[1.6571,2.8555,3.5397,2.4239,3.5875,2.6322,1.7048,3.0639],\"page\":2,\"confidence\":0.979,\"elements\":[\"#/readResults/1/lines/0/words/0\",\"#/readResults/1/lines/0/words/1\",\"#/readResults/1/lines/0/words/2\"]}]},\"Departments\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Cloud & Al Department\",\"text\":\"Cloud & Al Department\",\"boundingBox\":[1.7313,3.2549,3.5657,2.8244,3.6052,2.9926,1.7708,3.4232],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/2/words/0\",\"#/readResults/1/lines/2/words/1\",\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}]},\"Emails\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"avery.smith@contoso.com\",\"text\":\"avery.smith@contoso.com\",\"boundingBox\":[4.3828,2.4924,5.6888,2.1269,5.722,2.2377,4.416,2.6032],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/3/words/0\"]}]},\"Faxes\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 6789 2345\",\"boundingBox\":[5.0572,2.9224,6.1447,2.5721,6.1887,2.7089,5.1013,3.0592],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/7/words/1\",\"#/readResults/1/lines/7/words/2\",\"#/readResults/1/lines/7/words/3\",\"#/readResults/1/lines/7/words/4\",\"#/readResults/1/lines/7/words/5\"]}]},\"JobTitles\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"Senior Researcher\",\"text\":\"Senior Researcher\",\"boundingBox\":[1.7115,3.0841,3.11,2.7694,3.1469,2.9336,1.7485,3.2482],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/1/words/0\",\"#/readResults/1/lines/1/words/1\"]}]},\"MobilePhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 7911 123456\",\"boundingBox\":[4.9103,2.6681,5.9434,2.3595,5.9812,2.4861,4.9481,2.7947],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/5/words/1\",\"#/readResults/1/lines/5/words/2\",\"#/readResults/1/lines/5/words/3\",\"#/readResults/1/lines/5/words/4\"]}]},\"Websites\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"string\",\"valueString\":\"https://www.contoso.com/\",\"text\":\"https://www.contoso.com/\",\"boundingBox\":[4.416,2.6032,5.8105,2.2155,5.8438,2.3263,4.4492,2.7362],\"page\":2,\"confidence\":0.99,\"elements\":[\"#/readResults/1/lines/4/words/0\"]}]},\"WorkPhones\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"phoneNumber\",\"text\":\"+44 (0) 20 9876 5432\",\"boundingBox\":[4.9583,2.7698,6.0487,2.4576,6.0934,2.6138,5.003,2.926],\"page\":2,\"confidence\":0.989,\"elements\":[\"#/readResults/1/lines/6/words/1\",\"#/readResults/1/lines/6/words/2\",\"#/readResults/1/lines/6/words/3\",\"#/readResults/1/lines/6/words/4\",\"#/readResults/1/lines/6/words/5\"]}]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageInvoice[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageInvoice[1].json deleted file mode 100644 index 670a7c1325d42..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeMultipageInvoice[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cf58b636-5e44-4f32-ac23-4ddb97889b61", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "275", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "857e6bba-9355-4d02-bf92-3a8f7126c3d7", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/857e6bba-9355-4d02-bf92-3a8f7126c3d7", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/857e6bba-9355-4d02-bf92-3a8f7126c3d7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c68d029-2aba-4c6e-8c79-b870b8be26f9" - }, - "Response" : { - "content-length" : "42011", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a976e877-e4e9-4b0a-824c-b0cb7ceee4f0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:30Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1},{\"text\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1},{\"text\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1},{\"text\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1},{\"text\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1},{\"text\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1},{\"text\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1},{\"text\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1},{\"text\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1},{\"text\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1},{\"text\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"words\":[{\"text\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1},{\"text\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1},{\"text\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1},{\"text\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1},{\"text\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1},{\"text\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1},{\"text\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1},{\"text\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1},{\"text\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1},{\"text\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1},{\"text\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1},{\"text\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1},{\"text\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1},{\"text\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"words\":[{\"text\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1},{\"text\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1},{\"text\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1},{\"text\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1},{\"text\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1},{\"text\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1},{\"text\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1},{\"text\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1},{\"text\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1},{\"text\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1},{\"text\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1},{\"text\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1},{\"text\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"words\":[{\"text\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1},{\"text\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1},{\"text\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1},{\"text\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1},{\"text\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1},{\"text\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"words\":[{\"text\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1},{\"text\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1},{\"text\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"words\":[{\"text\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1},{\"text\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1},{\"text\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"words\":[{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"words\":[{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"words\":[{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"words\":[{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"words\":[{\"text\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"words\":[{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"words\":[{\"text\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"words\":[{\"text\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"words\":[{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"words\":[{\"text\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"words\":[{\"text\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"words\":[{\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"words\":[{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"words\":[{\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"words\":[{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"words\":[{\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"words\":[{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"words\":[{\"text\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}],\"selectionMarks\":[{\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1},{\"text\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"words\":[{\"text\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1},{\"text\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1},{\"text\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1},{\"text\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"words\":[{\"text\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1},{\"text\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"words\":[{\"text\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1},{\"text\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1},{\"text\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"words\":[{\"text\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1},{\"text\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1},{\"text\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":13,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Package\",\"boundingBox\":[0.9975,4.6436,2.6235,4.6436,2.6235,4.8578,0.9975,4.8578],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Included\",\"boundingBox\":[2.6235,4.6436,5.7489,4.6436,5.7489,4.8578,2.6235,4.8578],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.7489,4.6436,7.4948,4.6436,7.4948,4.8578,5.7489,4.8578],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Gold Sponsor\",\"boundingBox\":[0.9975,4.8578,2.6235,4.8578,2.6235,5.9286,0.9975,5.9222],\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,4.8578,5.7489,4.8578,5.7489,5.0914,2.6235,5.0914],\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$1,500\",\"boundingBox\":[5.7489,4.8578,7.4948,4.8578,7.4948,5.0914,5.7489,5.0914],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[2.6235,5.0914,5.7489,5.0914,5.7422,5.9286,2.6235,5.9286],\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"rowIndex\":2,\"columnIndex\":2,\"boundingBox\":[5.7489,5.0914,7.4948,5.0914,7.4948,5.9222,5.7422,5.9286],\"text\":\"\",\"elements\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Silver Sponsor\",\"boundingBox\":[0.9975,5.9222,2.6235,5.9286,2.6235,6.7788,0.9975,6.7788],\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,5.9286,5.7422,5.9286,5.7422,6.1623,2.6235,6.1558],\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":3,\"text\":\"$1,200\",\"boundingBox\":[5.7422,5.9286,7.4948,5.9222,7.4948,6.7788,5.7422,6.7788],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"Post-keynote thank you\",\"boundingBox\":[2.6235,6.1558,5.7422,6.1623,5.7422,6.383,2.6235,6.3765],\"elements\":[\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\"]},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"Logo on poster Half page ad in program guide\",\"boundingBox\":[2.6235,6.3765,5.7422,6.383,5.7422,6.7788,2.6235,6.7788],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\",\"#/readResults/0/selectionMarks/0\"]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Bronze Sponsor\",\"boundingBox\":[0.9975,6.7788,2.6235,6.7788,2.6235,7.629,0.9975,7.629],\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\"]},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,6.7788,5.7422,6.7788,5.7422,7.019,2.6235,7.019],\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\"]},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"$1,000\",\"boundingBox\":[5.7422,6.7788,7.4948,6.7788,7.4948,7.019,5.7422,7.019],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.019,5.7422,7.019,5.7422,7.629,2.6235,7.629],\"elements\":[\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":2,\"boundingBox\":[5.7422,7.019,7.4948,7.019,7.4948,7.629,5.7422,7.629],\"text\":\"\",\"elements\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Full Booth\",\"boundingBox\":[0.9975,7.629,2.6235,7.629,2.6235,8.2651,0.9908,8.2651],\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\"]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.629,5.7422,7.629,5.7422,8.2651,2.6235,8.2651],\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$600\",\"boundingBox\":[5.7422,7.629,7.4948,7.629,7.4948,8.2651,5.7422,8.2651],\"elements\":[\"#/readResults/0/lines/33/words/0\"]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Half Booth\",\"boundingBox\":[0.9908,8.2651,2.6235,8.2651,2.6235,8.9011,0.9908,8.9011],\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\"]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[2.6235,8.2651,5.7422,8.2651,5.7422,8.9011,2.6235,8.9011],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$350\",\"boundingBox\":[5.7422,8.2651,7.4948,8.2651,7.4948,8.9011,5.7422,8.9011],\"elements\":[\"#/readResults/0/lines/38/words/0\"]}],\"boundingBox\":[0.994,4.6469,7.4953,4.6454,7.4964,8.9061,0.9936,8.9066]}]},{\"page\":2,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"page\":1,\"confidence\":0.853,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"text\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994],\"page\":1,\"confidence\":0.752,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Gold Sponsor\",\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"page\":1,\"confidence\":0,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]}},\"text\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994],\"page\":1,\"confidence\":0.952,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"page\":1,\"confidence\":0.804,\"elements\":[\"#/readResults/0/lines/21/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"text\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678],\"page\":1,\"confidence\":0.668,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"page\":1,\"confidence\":0.005,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]}},\"text\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678],\"page\":1,\"confidence\":0.945,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\",\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"page\":1,\"confidence\":0.831,\"elements\":[\"#/readResults/0/lines/27/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"text\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863],\"page\":1,\"confidence\":0.663,\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Bronze\",\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"page\":1,\"confidence\":0.293,\"elements\":[\"#/readResults/0/lines/25/words/0\"]}},\"text\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863],\"page\":1,\"confidence\":0.93,\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\",\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/27/words/0\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"page\":1,\"confidence\":0.816,\"elements\":[\"#/readResults/0/lines/33/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213],\"page\":1,\"confidence\":0.779,\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Full\",\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"page\":1,\"confidence\":0.309,\"elements\":[\"#/readResults/0/lines/31/words/0\"]}},\"text\":\"Full Booth Full booth $600 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\",\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"page\":1,\"confidence\":0.857,\"elements\":[\"#/readResults/0/lines/38/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563],\"page\":1,\"confidence\":0.792,\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"page\":1,\"confidence\":0.342,\"elements\":[\"#/readResults/0/lines/36/words/0\"]}},\"text\":\"Half Booth Full booth $350 25% discount on program guide advertisements\",\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\",\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/38/words/0\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]}]},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"text\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518],\"page\":1,\"confidence\":0.851,\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\",\"#/readResults/0/lines/8/words/2\"]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"page\":1,\"confidence\":0.946,\"elements\":[\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"text\":\"Elm Conference Center in\",\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013],\"page\":1,\"confidence\":0.493,\"elements\":[\"#/readResults/0/lines/2/words/12\",\"#/readResults/0/lines/2/words/13\",\"#/readResults/0/lines/2/words/14\",\"#/readResults/0/lines/2/words/15\"]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013],\"page\":1,\"confidence\":0.463,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"text\":\"Southridge Video\",\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128],\"page\":2,\"confidence\":0.952,\"elements\":[\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/invoice/analyzeResults/857e6bba-9355-4d02-bf92-3a8f7126c3d7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b24cbdba-fbe2-4413-a820-d8ea7b56844e" - }, - "Response" : { - "content-length" : "42011", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5fa50df2-2e53-4cf9-b2a1-5f65bcf17fef", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:25Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:30Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Registration\",\"boundingBox\":[2.2268,1.5733,6.2379,1.5733,6.2379,2.005,2.2268,2.005],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[2.2268,1.5733,3.703,1.5733,3.703,1.9207,2.2268,1.9207],\"confidence\":1},{\"text\":\"Registration\",\"boundingBox\":[3.8661,1.5883,6.2379,1.5883,6.2379,2.005,3.8661,2.005],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd. Conference will be held on May 28-29, 2020 at the Elm Conference Center in\",\"boundingBox\":[1.0078,2.5846,7.0776,2.5846,7.0776,2.7293,1.0078,2.7293],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,2.5919,1.5548,2.5919,1.5548,2.7013,1.0078,2.7013],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,2.5856,1.843,2.5856,1.843,2.7013,1.6125,2.7013],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[1.8996,2.5846,2.6636,2.5846,2.6636,2.7013,1.8996,2.7013],\"confidence\":1},{\"text\":\"will\",\"boundingBox\":[2.7122,2.5852,2.9307,2.5852,2.9307,2.7003,2.7122,2.7003],\"confidence\":1},{\"text\":\"be\",\"boundingBox\":[2.9922,2.5852,3.1419,2.5852,3.1419,2.7013,2.9922,2.7013],\"confidence\":1},{\"text\":\"held\",\"boundingBox\":[3.1987,2.5852,3.4704,2.5852,3.4704,2.7013,3.1987,2.7013],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.53,2.62,3.6846,2.62,3.6846,2.7013,3.53,2.7013],\"confidence\":1},{\"text\":\"May\",\"boundingBox\":[3.7498,2.5934,4.0422,2.5934,4.0422,2.7293,3.7498,2.7293],\"confidence\":1},{\"text\":\"28-29,\",\"boundingBox\":[4.0877,2.5914,4.5042,2.5914,4.5042,2.7236,4.0877,2.7236],\"confidence\":1},{\"text\":\"2020\",\"boundingBox\":[4.5586,2.5914,4.884,2.5914,4.884,2.7017,4.5586,2.7017],\"confidence\":1},{\"text\":\"at\",\"boundingBox\":[4.9351,2.6014,5.0577,2.6014,5.0577,2.7013,4.9351,2.7013],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[5.1033,2.5852,5.3202,2.5852,5.3202,2.7013,5.1033,2.7013],\"confidence\":1},{\"text\":\"Elm\",\"boundingBox\":[5.3787,2.5852,5.6051,2.5852,5.6051,2.7003,5.3787,2.7003],\"confidence\":1},{\"text\":\"Conference\",\"boundingBox\":[5.6624,2.5846,6.4263,2.5846,6.4263,2.7013,5.6624,2.7013],\"confidence\":1},{\"text\":\"Center\",\"boundingBox\":[6.4796,2.5919,6.9234,2.5919,6.9234,2.7013,6.4796,2.7013],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.9765,2.5905,7.0776,2.5905,7.0776,2.7003,6.9765,2.7003],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Maple City, Massachusetts. The conference has sold out of its 1,500 tickets, with a 400 person\",\"boundingBox\":[1.014,2.8029,7.3457,2.8029,7.3457,2.9478,1.014,2.9478],\"words\":[{\"text\":\"Maple\",\"boundingBox\":[1.014,2.8036,1.4242,2.8036,1.4242,2.9478,1.014,2.9478],\"confidence\":1},{\"text\":\"City,\",\"boundingBox\":[1.4763,2.8089,1.7576,2.8089,1.7576,2.9478,1.4763,2.9478],\"confidence\":1},{\"text\":\"Massachusetts.\",\"boundingBox\":[1.8195,2.8036,2.8383,2.8036,2.8383,2.9197,1.8195,2.9197],\"confidence\":1},{\"text\":\"The\",\"boundingBox\":[2.8883,2.8036,3.1326,2.8036,3.1326,2.9197,2.8883,2.9197],\"confidence\":1},{\"text\":\"conference\",\"boundingBox\":[3.1842,2.8029,3.9301,2.8029,3.9301,2.9197,3.1842,2.9197],\"confidence\":1},{\"text\":\"has\",\"boundingBox\":[3.9871,2.8036,4.2019,2.8036,4.2019,2.9197,3.9871,2.9197],\"confidence\":1},{\"text\":\"sold\",\"boundingBox\":[4.2529,2.8036,4.5104,2.8036,4.5104,2.9197,4.2529,2.9197],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[4.5701,2.8197,4.7871,2.8197,4.7871,2.9197,4.5701,2.9197],\"confidence\":1},{\"text\":\"of\",\"boundingBox\":[4.8373,2.8029,4.9701,2.8029,4.9701,2.9197,4.8373,2.9197],\"confidence\":1},{\"text\":\"its\",\"boundingBox\":[5.0169,2.8089,5.1601,2.8089,5.1601,2.9197,5.0169,2.9197],\"confidence\":1},{\"text\":\"1,500\",\"boundingBox\":[5.2167,2.81,5.5766,2.81,5.5766,2.9418,5.2167,2.9418],\"confidence\":1},{\"text\":\"tickets,\",\"boundingBox\":[5.6227,2.8036,6.0928,2.8036,6.0928,2.9418,5.6227,2.9418],\"confidence\":1},{\"text\":\"with\",\"boundingBox\":[6.1461,2.8036,6.4308,2.8036,6.4308,2.9195,6.1461,2.9195],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[6.488,2.8383,6.548,2.8383,6.548,2.9197,6.488,2.9197],\"confidence\":1},{\"text\":\"400\",\"boundingBox\":[6.6016,2.81,6.8449,2.81,6.8449,2.9197,6.6016,2.9197],\"confidence\":1},{\"text\":\"person\",\"boundingBox\":[6.8998,2.8383,7.3457,2.8383,7.3457,2.9478,6.8998,2.9478],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"waitlist. Vendor applications are being accepted through Feb 28, 2020. Please fill in the form\",\"boundingBox\":[1.0043,3.0229,7.2482,3.0229,7.2482,3.1678,1.0043,3.1678],\"words\":[{\"text\":\"waitlist.\",\"boundingBox\":[1.0043,3.0236,1.5194,3.0236,1.5194,3.1397,1.0043,3.1397],\"confidence\":1},{\"text\":\"Vendor\",\"boundingBox\":[1.5733,3.0239,2.0654,3.0239,2.0654,3.1397,1.5733,3.1397],\"confidence\":1},{\"text\":\"applications\",\"boundingBox\":[2.1132,3.0236,2.9143,3.0236,2.9143,3.1678,2.1132,3.1678],\"confidence\":1},{\"text\":\"are\",\"boundingBox\":[2.9675,3.0583,3.1726,3.0583,3.1726,3.1397,2.9675,3.1397],\"confidence\":1},{\"text\":\"being\",\"boundingBox\":[3.2306,3.0236,3.5889,3.0236,3.5889,3.1678,3.2306,3.1678],\"confidence\":1},{\"text\":\"accepted\",\"boundingBox\":[3.6388,3.0239,4.2336,3.0239,4.2336,3.1678,3.6388,3.1678],\"confidence\":1},{\"text\":\"through\",\"boundingBox\":[4.2862,3.0236,4.8127,3.0236,4.8127,3.1678,4.2862,3.1678],\"confidence\":1},{\"text\":\"Feb\",\"boundingBox\":[4.8815,3.0236,5.1133,3.0236,5.1133,3.14,4.8815,3.14],\"confidence\":1},{\"text\":\"28,\",\"boundingBox\":[5.163,3.0297,5.361,3.0297,5.361,3.162,5.163,3.162],\"confidence\":1},{\"text\":\"2020.\",\"boundingBox\":[5.413,3.0297,5.7774,3.0297,5.7774,3.14,5.413,3.14],\"confidence\":1},{\"text\":\"Please\",\"boundingBox\":[5.8406,3.0236,6.2537,3.0236,6.2537,3.1397,5.8406,3.1397],\"confidence\":1},{\"text\":\"fill\",\"boundingBox\":[6.3022,3.0229,6.4539,3.0229,6.4539,3.1387,6.3022,3.1387],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[6.5131,3.0289,6.6158,3.0289,6.6158,3.1387,6.5131,3.1387],\"confidence\":1},{\"text\":\"the\",\"boundingBox\":[6.6673,3.0236,6.8842,3.0236,6.8842,3.1397,6.6673,3.1397],\"confidence\":1},{\"text\":\"form\",\"boundingBox\":[6.9317,3.0229,7.2482,3.0229,7.2482,3.1397,6.9317,3.1397],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"below, and attach a check made out to:\",\"boundingBox\":[1.0125,3.2436,3.6599,3.2436,3.6599,3.3818,1.0125,3.3818],\"words\":[{\"text\":\"below,\",\"boundingBox\":[1.0125,3.2436,1.4459,3.2436,1.4459,3.3818,1.0125,3.3818],\"confidence\":1},{\"text\":\"and\",\"boundingBox\":[1.5024,3.2439,1.7371,3.2439,1.7371,3.3597,1.5024,3.3597],\"confidence\":1},{\"text\":\"attach\",\"boundingBox\":[1.7968,3.2436,2.2047,3.2436,2.2047,3.3597,1.7968,3.3597],\"confidence\":1},{\"text\":\"a\",\"boundingBox\":[2.2619,3.2783,2.3219,3.2783,2.3219,3.3597,2.2619,3.3597],\"confidence\":1},{\"text\":\"check\",\"boundingBox\":[2.379,3.2436,2.7529,3.2436,2.7529,3.3597,2.379,3.3597],\"confidence\":1},{\"text\":\"made\",\"boundingBox\":[2.8076,3.2439,3.17,3.2439,3.17,3.3597,2.8076,3.3597],\"confidence\":1},{\"text\":\"out\",\"boundingBox\":[3.2251,3.2597,3.4421,3.2597,3.4421,3.3597,3.2251,3.3597],\"confidence\":1},{\"text\":\"to:\",\"boundingBox\":[3.4869,3.2597,3.6599,3.2597,3.6599,3.3597,3.4869,3.3597],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[1.0078,3.5802,1.5548,3.5802,1.5548,3.6897,1.0078,3.6897],\"confidence\":1},{\"text\":\"Ltd.\",\"boundingBox\":[1.6125,3.5739,1.843,3.5739,1.843,3.6897,1.6125,3.6897],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"2345 Dogwood Lane\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,3.9378,1.0093,3.9378],\"words\":[{\"text\":\"2345\",\"boundingBox\":[1.0093,3.8,1.3297,3.8,1.3297,3.9097,1.0093,3.9097],\"confidence\":1},{\"text\":\"Dogwood\",\"boundingBox\":[1.3899,3.7939,2.0149,3.7939,2.0149,3.9378,1.3899,3.9378],\"confidence\":1},{\"text\":\"Lane\",\"boundingBox\":[2.0788,3.8012,2.3768,3.8012,2.3768,3.9097,2.0788,3.9097],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Birch, Kansas 98123\",\"boundingBox\":[1.014,4.0136,2.3377,4.0136,2.3377,4.1518,1.014,4.1518],\"words\":[{\"text\":\"Birch,\",\"boundingBox\":[1.014,4.0136,1.3745,4.0136,1.3745,4.1518,1.014,4.1518],\"confidence\":1},{\"text\":\"Kansas\",\"boundingBox\":[1.4375,4.0212,1.8819,4.0212,1.8819,4.1297,1.4375,4.1297],\"confidence\":1},{\"text\":\"98123\",\"boundingBox\":[1.9318,4.02,2.3377,4.02,2.3377,4.1297,1.9318,4.1297],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"words\":[{\"text\":\"Rates:\",\"boundingBox\":[1.0204,4.4248,1.5303,4.4248,1.5303,4.5682,1.0204,4.5682],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"words\":[{\"text\":\"Package\",\"boundingBox\":[1.0923,4.6986,1.6232,4.6986,1.6232,4.8428,1.0923,4.8428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"words\":[{\"text\":\"Included\",\"boundingBox\":[2.713,4.6986,3.2707,4.6986,3.2707,4.8147,2.713,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"words\":[{\"text\":\"Price\",\"boundingBox\":[5.838,4.7039,6.1513,4.7039,6.1513,4.8147,5.838,4.8147],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"words\":[{\"text\":\"Gold\",\"boundingBox\":[1.0857,4.9086,1.3842,4.9086,1.3842,5.0247,1.0857,5.0247],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4423,4.915,1.9831,4.915,1.9831,5.0528,1.4423,5.0528],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,4.9169,3.8726,4.9169,3.8726,5.033,3.214,5.033],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,4.9169,3.4295,4.9169,3.4295,5.033,3.214,5.033],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,4.9169,3.8726,4.9169,3.8726,5.033,3.492,5.033],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"words\":[{\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Pre-keynote thank you\",\"boundingBox\":[3.214,5.1302,4.7267,5.1302,4.7267,5.2744,3.214,5.2744],\"words\":[{\"text\":\"Pre-keynote\",\"boundingBox\":[3.214,5.1302,4.0183,5.1302,4.0183,5.2744,3.214,5.2744],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.0665,5.1302,4.4475,5.1302,4.4475,5.2463,4.0665,5.2463],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.4903,5.165,4.7267,5.165,4.7267,5.2744,4.4903,5.2744],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,5.3495,4.2093,5.3495,4.2093,5.4861,3.214,5.4861],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,5.3495,3.5163,5.3495,3.5163,5.4861,3.214,5.4861],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,5.3767,3.7244,5.3767,3.7244,5.458,3.5686,5.458],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,5.358,4.2093,5.358,4.2093,5.4861,3.7888,5.4861],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full page ad in program guide\",\"boundingBox\":[3.214,5.5552,5.201,5.5552,5.201,5.6994,3.214,5.6994],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.5552,3.4295,5.5552,3.4295,5.6713,3.214,5.6713],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.492,5.59,3.7989,5.59,3.7989,5.6994,3.492,5.6994],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8519,5.5556,3.9991,5.5556,3.9991,5.6713,3.8519,5.6713],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0599,5.5605,4.1626,5.5605,4.1626,5.6703,4.0599,5.6703],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2248,5.59,4.7839,5.59,4.7839,5.6994,4.2248,5.6994],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8367,5.5556,5.201,5.5556,5.201,5.6994,4.8367,5.6994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"words\":[{\"text\":\"Silver\",\"boundingBox\":[1.0842,5.9786,1.4443,5.9786,1.4443,6.0947,1.0842,6.0947],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.4904,5.985,2.0339,5.985,2.0339,6.1228,1.4904,6.1228],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,5.9869,3.8726,5.9869,3.8726,6.103,3.214,6.103],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,5.9869,3.4295,5.9869,3.4295,6.103,3.214,6.103],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,5.9869,3.8726,5.9869,3.8726,6.103,3.492,6.103],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"words\":[{\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Post-keynote thank you\",\"boundingBox\":[3.214,6.1986,4.7938,6.1986,4.7938,6.3428,3.214,6.3428],\"words\":[{\"text\":\"Post-keynote\",\"boundingBox\":[3.214,6.1986,4.0878,6.1986,4.0878,6.3428,3.214,6.3428],\"confidence\":1},{\"text\":\"thank\",\"boundingBox\":[4.1348,6.1986,4.5158,6.1986,4.5158,6.3147,4.1348,6.3147],\"confidence\":1},{\"text\":\"you\",\"boundingBox\":[4.5586,6.2333,4.7938,6.2333,4.7938,6.3428,4.5586,6.3428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,6.4179,4.2093,6.4179,4.2093,6.5544,3.214,6.5544],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,6.4179,3.5163,6.4179,3.5163,6.5544,3.214,6.5544],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,6.445,3.7244,6.445,3.7244,6.5263,3.5686,6.5263],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,6.4264,4.2093,6.4264,4.2093,6.5544,3.7888,6.5544],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half page ad in program guide\",\"boundingBox\":[3.214,6.6229,5.2314,6.6229,5.2314,6.7678,3.214,6.7678],\"words\":[{\"text\":\"Half\",\"boundingBox\":[3.214,6.6229,3.4739,6.6229,3.4739,6.7397,3.214,6.7397],\"confidence\":1},{\"text\":\"page\",\"boundingBox\":[3.5224,6.6583,3.8326,6.6583,3.8326,6.7678,3.5224,6.7678],\"confidence\":1},{\"text\":\"ad\",\"boundingBox\":[3.8843,6.6239,4.0315,6.6239,4.0315,6.7397,3.8843,6.7397],\"confidence\":1},{\"text\":\"in\",\"boundingBox\":[4.0923,6.6289,4.195,6.6289,4.195,6.7387,4.0923,6.7387],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.2563,6.6583,4.8148,6.6583,4.8148,6.7678,4.2563,6.7678],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.8695,6.6239,5.2314,6.6239,5.2314,6.7678,4.8695,6.7678],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Bronze Sponsor\",\"boundingBox\":[1.0923,6.84,2.1362,6.84,2.1362,6.9778,1.0923,6.9778],\"words\":[{\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"confidence\":1},{\"text\":\"Sponsor\",\"boundingBox\":[1.5951,6.84,2.1362,6.84,2.1362,6.9778,1.5951,6.9778],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,6.8419,3.8726,6.8419,3.8726,6.958,3.214,6.958],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,6.8419,3.4295,6.8419,3.4295,6.958,3.214,6.958],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,6.8419,3.8726,6.8419,3.8726,6.958,3.492,6.958],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"words\":[{\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Logo on poster\",\"boundingBox\":[3.214,7.0629,4.2093,7.0629,4.2093,7.1994,3.214,7.1994],\"words\":[{\"text\":\"Logo\",\"boundingBox\":[3.214,7.0629,3.5163,7.0629,3.5163,7.1994,3.214,7.1994],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[3.5686,7.09,3.7244,7.09,3.7244,7.1713,3.5686,7.1713],\"confidence\":1},{\"text\":\"poster\",\"boundingBox\":[3.7888,7.0714,4.2093,7.0714,4.2093,7.1994,3.7888,7.1994],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.2672,5.3419,7.2672,5.3419,7.4111,3.2082,7.4111],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.2717,3.4817,7.2717,3.4817,7.3845,3.2082,7.3845],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.2672,4.1018,7.2672,4.1018,7.383,3.533,7.383],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.3017,4.307,7.3017,4.307,7.383,4.1512,7.383],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.3017,4.9253,7.3017,4.9253,7.4111,4.3682,7.4111],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.2672,5.3419,7.2672,5.3419,7.4111,4.981,7.4111],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,7.4706,4.2429,7.4706,4.2429,7.5863,3.2075,7.5863],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full Booth\",\"boundingBox\":[1.0923,7.6819,1.7537,7.6819,1.7537,7.798,1.0923,7.798],\"words\":[{\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.3718,7.6819,1.7537,7.6819,1.7537,7.798,1.3718,7.798],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,7.6902,3.8726,7.6902,3.8726,7.8063,3.214,7.8063],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,7.6902,3.4295,7.6902,3.4295,7.8063,3.214,7.8063],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,7.6902,3.8726,7.6902,3.8726,7.8063,3.492,7.8063],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"words\":[{\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"50% discount on program guide\",\"boundingBox\":[3.2082,7.9022,5.3419,7.9022,5.3419,8.0461,3.2082,8.0461],\"words\":[{\"text\":\"50%\",\"boundingBox\":[3.2082,7.9067,3.4817,7.9067,3.4817,8.0195,3.2082,8.0195],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,7.9022,4.1018,7.9022,4.1018,8.018,3.533,8.018],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,7.9367,4.307,7.9367,4.307,8.018,4.1512,8.018],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,7.9367,4.9253,7.9367,4.9253,8.0461,4.3682,8.0461],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,7.9022,5.3419,7.9022,5.3419,8.0461,4.981,8.0461],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.1056,4.2429,8.1056,4.2429,8.2213,3.2075,8.2213],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Half Booth\",\"boundingBox\":[1.0923,8.3162,1.7854,8.3162,1.7854,8.433,1.0923,8.433],\"words\":[{\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"confidence\":1},{\"text\":\"Booth\",\"boundingBox\":[1.4022,8.3169,1.7854,8.3169,1.7854,8.433,1.4022,8.433],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Full booth\",\"boundingBox\":[3.214,8.3252,3.8726,8.3252,3.8726,8.4413,3.214,8.4413],\"words\":[{\"text\":\"Full\",\"boundingBox\":[3.214,8.3252,3.4295,8.3252,3.4295,8.4413,3.214,8.4413],\"confidence\":1},{\"text\":\"booth\",\"boundingBox\":[3.492,8.3252,3.8726,8.3252,3.8726,8.4413,3.492,8.4413],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"words\":[{\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"25% discount on program guide\",\"boundingBox\":[3.2093,8.5372,5.3419,8.5372,5.3419,8.6811,3.2093,8.6811],\"words\":[{\"text\":\"25%\",\"boundingBox\":[3.2093,8.5417,3.4817,8.5417,3.4817,8.6545,3.2093,8.6545],\"confidence\":1},{\"text\":\"discount\",\"boundingBox\":[3.533,8.5372,4.1018,8.5372,4.1018,8.653,3.533,8.653],\"confidence\":1},{\"text\":\"on\",\"boundingBox\":[4.1512,8.5717,4.307,8.5717,4.307,8.653,4.1512,8.653],\"confidence\":1},{\"text\":\"program\",\"boundingBox\":[4.3682,8.5717,4.9253,8.5717,4.9253,8.6811,4.3682,8.6811],\"confidence\":1},{\"text\":\"guide\",\"boundingBox\":[4.981,8.5372,5.3419,8.5372,5.3419,8.6811,4.981,8.6811],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"words\":[{\"text\":\"advertisements\",\"boundingBox\":[3.2075,8.7406,4.2429,8.7406,4.2429,8.8563,3.2075,8.8563],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}],\"selectionMarks\":[{\"boundingBox\":[2.9426,6.645,3.0304,6.645,3.0304,6.7283,2.9426,6.7283],\"confidence\":0.223,\"state\":\"unselected\"}]},{\"page\":2,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[{\"text\":\"Vendor #:121\",\"boundingBox\":[6.1276,1.0667,7.4833,1.0667,7.4833,1.2403,6.1276,1.2403],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[6.1276,1.0667,6.8657,1.0667,6.8657,1.2403,6.1276,1.2403],\"confidence\":1},{\"text\":\"#:121\",\"boundingBox\":[6.9307,1.0759,7.4833,1.0759,7.4833,1.2391,6.9307,1.2391],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Vendor Details:\",\"boundingBox\":[1.0044,2.1771,2.35,2.1771,2.35,2.3315,1.0044,2.3315],\"words\":[{\"text\":\"Vendor\",\"boundingBox\":[1.0044,2.1778,1.6496,2.1778,1.6496,2.3315,1.0044,2.3315],\"confidence\":1},{\"text\":\"Details:\",\"boundingBox\":[1.7239,2.1771,2.35,2.1771,2.35,2.3315,1.7239,2.3315],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Company Name: Southridge Video\",\"boundingBox\":[1.0065,2.7686,3.3477,2.7686,3.3477,2.9128,1.0065,2.9128],\"words\":[{\"text\":\"Company\",\"boundingBox\":[1.0065,2.7749,1.651,2.7749,1.651,2.9126,1.0065,2.9126],\"confidence\":1},{\"text\":\"Name:\",\"boundingBox\":[1.7019,2.7764,2.1376,2.7764,2.1376,2.885,1.7019,2.885],\"confidence\":1},{\"text\":\"Southridge\",\"boundingBox\":[2.1925,2.7686,2.9184,2.7686,2.9184,2.9128,2.1925,2.9128],\"confidence\":1},{\"text\":\"Video\",\"boundingBox\":[2.9691,2.7689,3.3477,2.7689,3.3477,2.8847,2.9691,2.8847],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Contact: Jamie@southridgevideo.com\",\"boundingBox\":[1.0065,3.0986,3.5766,3.0986,3.5766,3.2428,1.0065,3.2428],\"words\":[{\"text\":\"Contact:\",\"boundingBox\":[1.0065,3.1049,1.5706,3.1049,1.5706,3.215,1.0065,3.215],\"confidence\":1},{\"text\":\"Jamie@southridgevideo.com\",\"boundingBox\":[1.6205,3.0986,3.5766,3.0986,3.5766,3.2428,1.6205,3.2428],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Preferred Package: Gold\",\"boundingBox\":[1.0115,3.4296,2.6542,3.4296,2.6542,3.5744,1.0115,3.5744],\"words\":[{\"text\":\"Preferred\",\"boundingBox\":[1.0115,3.4296,1.6499,3.4296,1.6499,3.5467,1.0115,3.5467],\"confidence\":1},{\"text\":\"Package:\",\"boundingBox\":[1.7092,3.4302,2.2978,3.4302,2.2978,3.5744,1.7092,3.5744],\"confidence\":1},{\"text\":\"Gold\",\"boundingBox\":[2.3557,3.4302,2.6542,3.4302,2.6542,3.5463,2.3557,3.5463],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}},{\"text\":\"Special Requests: N/a\",\"boundingBox\":[1.0052,3.7537,2.4783,3.7537,2.4783,3.9043,1.0052,3.9043],\"words\":[{\"text\":\"Special\",\"boundingBox\":[1.0052,3.7602,1.475,3.7602,1.475,3.9043,1.0052,3.9043],\"confidence\":1},{\"text\":\"Requests:\",\"boundingBox\":[1.5342,3.7684,2.1899,3.7684,2.1899,3.9043,1.5342,3.9043],\"confidence\":1},{\"text\":\"N/a\",\"boundingBox\":[2.254,3.7537,2.4783,3.7537,2.4783,3.8976,2.254,3.8976],\"confidence\":1}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":1}}}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":13,\"columns\":3,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Package\",\"boundingBox\":[0.9975,4.6436,2.6235,4.6436,2.6235,4.8578,0.9975,4.8578],\"elements\":[\"#/readResults/0/lines/10/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Included\",\"boundingBox\":[2.6235,4.6436,5.7489,4.6436,5.7489,4.8578,2.6235,4.8578],\"elements\":[\"#/readResults/0/lines/11/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Price\",\"boundingBox\":[5.7489,4.6436,7.4948,4.6436,7.4948,4.8578,5.7489,4.8578],\"elements\":[\"#/readResults/0/lines/12/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Gold Sponsor\",\"boundingBox\":[0.9975,4.8578,2.6235,4.8578,2.6235,5.9286,0.9975,5.9222],\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,4.8578,5.7489,4.8578,5.7489,5.0914,2.6235,5.0914],\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"$1,500\",\"boundingBox\":[5.7489,4.8578,7.4948,4.8578,7.4948,5.0914,5.7489,5.0914],\"elements\":[\"#/readResults/0/lines/15/words/0\"]},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[2.6235,5.0914,5.7489,5.0914,5.7422,5.9286,2.6235,5.9286],\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"rowIndex\":2,\"columnIndex\":2,\"boundingBox\":[5.7489,5.0914,7.4948,5.0914,7.4948,5.9222,5.7422,5.9286],\"text\":\"\",\"elements\":[]},{\"rowIndex\":3,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Silver Sponsor\",\"boundingBox\":[0.9975,5.9222,2.6235,5.9286,2.6235,6.7788,0.9975,6.7788],\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,5.9286,5.7422,5.9286,5.7422,6.1623,2.6235,6.1558],\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},{\"rowIndex\":3,\"columnIndex\":2,\"rowSpan\":3,\"text\":\"$1,200\",\"boundingBox\":[5.7422,5.9286,7.4948,5.9222,7.4948,6.7788,5.7422,6.7788],\"elements\":[\"#/readResults/0/lines/21/words/0\"]},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"Post-keynote thank you\",\"boundingBox\":[2.6235,6.1558,5.7422,6.1623,5.7422,6.383,2.6235,6.3765],\"elements\":[\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\"]},{\"rowIndex\":5,\"columnIndex\":1,\"text\":\"Logo on poster Half page ad in program guide\",\"boundingBox\":[2.6235,6.3765,5.7422,6.383,5.7422,6.7788,2.6235,6.7788],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\",\"#/readResults/0/selectionMarks/0\"]},{\"rowIndex\":6,\"columnIndex\":0,\"rowSpan\":3,\"text\":\"Bronze Sponsor\",\"boundingBox\":[0.9975,6.7788,2.6235,6.7788,2.6235,7.629,0.9975,7.629],\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\"]},{\"rowIndex\":6,\"columnIndex\":1,\"text\":\"Full booth\",\"boundingBox\":[2.6235,6.7788,5.7422,6.7788,5.7422,7.019,2.6235,7.019],\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\"]},{\"rowIndex\":6,\"columnIndex\":2,\"text\":\"$1,000\",\"boundingBox\":[5.7422,6.7788,7.4948,6.7788,7.4948,7.019,5.7422,7.019],\"elements\":[\"#/readResults/0/lines/27/words/0\"]},{\"rowIndex\":7,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.019,5.7422,7.019,5.7422,7.629,2.6235,7.629],\"elements\":[\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"rowIndex\":7,\"columnIndex\":2,\"rowSpan\":2,\"boundingBox\":[5.7422,7.019,7.4948,7.019,7.4948,7.629,5.7422,7.629],\"text\":\"\",\"elements\":[]},{\"rowIndex\":9,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Full Booth\",\"boundingBox\":[0.9975,7.629,2.6235,7.629,2.6235,8.2651,0.9908,8.2651],\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\"]},{\"rowIndex\":9,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[2.6235,7.629,5.7422,7.629,5.7422,8.2651,2.6235,8.2651],\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"rowIndex\":9,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$600\",\"boundingBox\":[5.7422,7.629,7.4948,7.629,7.4948,8.2651,5.7422,8.2651],\"elements\":[\"#/readResults/0/lines/33/words/0\"]},{\"rowIndex\":11,\"columnIndex\":0,\"rowSpan\":2,\"text\":\"Half Booth\",\"boundingBox\":[0.9908,8.2651,2.6235,8.2651,2.6235,8.9011,0.9908,8.9011],\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\"]},{\"rowIndex\":11,\"columnIndex\":1,\"rowSpan\":2,\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[2.6235,8.2651,5.7422,8.2651,5.7422,8.9011,2.6235,8.9011],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},{\"rowIndex\":11,\"columnIndex\":2,\"rowSpan\":2,\"text\":\"$350\",\"boundingBox\":[5.7422,8.2651,7.4948,8.2651,7.4948,8.9011,5.7422,8.9011],\"elements\":[\"#/readResults/0/lines/38/words/0\"]}],\"boundingBox\":[0.994,4.6469,7.4953,4.6454,7.4964,8.9061,0.9936,8.9066]}]},{\"page\":2,\"tables\":[]}],\"documentResults\":[{\"docType\":\"prebuilt:invoice\",\"pageRange\":[1,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1500,\"text\":\"$1,500\",\"boundingBox\":[5.8328,4.8977,6.2829,4.8977,6.2829,5.0468,5.8328,5.0468],\"page\":1,\"confidence\":0.853,\"elements\":[\"#/readResults/0/lines/15/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"text\":\"Full booth Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[3.214,4.9169,5.201,4.9169,5.201,5.6994,3.214,5.6994],\"page\":1,\"confidence\":0.752,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Gold Sponsor\",\"text\":\"Gold Sponsor\",\"boundingBox\":[1.0857,4.9086,1.9831,4.9086,1.9831,5.0528,1.0857,5.0528],\"page\":1,\"confidence\":0,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\"]}},\"text\":\"Gold Sponsor Full booth $1,500 Pre-keynote thank you Logo on poster Full page ad in program guide\",\"boundingBox\":[1.0857,4.8977,6.2829,4.8977,6.2829,5.6994,1.0857,5.6994],\"page\":1,\"confidence\":0.952,\"elements\":[\"#/readResults/0/lines/13/words/0\",\"#/readResults/0/lines/13/words/1\",\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\",\"#/readResults/0/lines/15/words/0\",\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\",\"#/readResults/0/lines/16/words/2\",\"#/readResults/0/lines/17/words/0\",\"#/readResults/0/lines/17/words/1\",\"#/readResults/0/lines/17/words/2\",\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\",\"#/readResults/0/lines/18/words/2\",\"#/readResults/0/lines/18/words/3\",\"#/readResults/0/lines/18/words/4\",\"#/readResults/0/lines/18/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1200,\"text\":\"$1,200\",\"boundingBox\":[5.8328,5.9677,6.2829,5.9677,6.2829,6.1168,5.8328,6.1168],\"page\":1,\"confidence\":0.804,\"elements\":[\"#/readResults/0/lines/21/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"text\":\"Full booth Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[3.214,5.9869,5.2314,5.9869,5.2314,6.7678,3.214,6.7678],\"page\":1,\"confidence\":0.668,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Silver Sponsor\",\"text\":\"Silver Sponsor\",\"boundingBox\":[1.0842,5.9786,2.0339,5.9786,2.0339,6.1228,1.0842,6.1228],\"page\":1,\"confidence\":0.005,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]}},\"text\":\"Silver Sponsor Full booth $1,200 Post-keynote thank you Logo on poster Half page ad in program guide\",\"boundingBox\":[1.0842,5.9677,6.2829,5.9677,6.2829,6.7678,1.0842,6.7678],\"page\":1,\"confidence\":0.945,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\",\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\",\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/22/words/0\",\"#/readResults/0/lines/22/words/1\",\"#/readResults/0/lines/22/words/2\",\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\",\"#/readResults/0/lines/23/words/2\",\"#/readResults/0/lines/24/words/0\",\"#/readResults/0/lines/24/words/1\",\"#/readResults/0/lines/24/words/2\",\"#/readResults/0/lines/24/words/3\",\"#/readResults/0/lines/24/words/4\",\"#/readResults/0/lines/24/words/5\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":1000,\"text\":\"$1,000\",\"boundingBox\":[5.8328,6.8227,6.2829,6.8227,6.2829,6.9718,5.8328,6.9718],\"page\":1,\"confidence\":0.831,\"elements\":[\"#/readResults/0/lines/27/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"text\":\"Full booth Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,6.8419,5.3419,6.8419,5.3419,7.5863,3.2075,7.5863],\"page\":1,\"confidence\":0.663,\"elements\":[\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Bronze\",\"text\":\"Bronze\",\"boundingBox\":[1.0923,6.8417,1.545,6.8417,1.545,6.9497,1.0923,6.9497],\"page\":1,\"confidence\":0.293,\"elements\":[\"#/readResults/0/lines/25/words/0\"]}},\"text\":\"Bronze Sponsor Full booth $1,000 Logo on poster 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,6.8227,6.2829,6.8227,6.2829,7.5863,1.0923,7.5863],\"page\":1,\"confidence\":0.93,\"elements\":[\"#/readResults/0/lines/25/words/0\",\"#/readResults/0/lines/25/words/1\",\"#/readResults/0/lines/26/words/0\",\"#/readResults/0/lines/26/words/1\",\"#/readResults/0/lines/27/words/0\",\"#/readResults/0/lines/28/words/0\",\"#/readResults/0/lines/28/words/1\",\"#/readResults/0/lines/28/words/2\",\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\",\"#/readResults/0/lines/29/words/2\",\"#/readResults/0/lines/29/words/3\",\"#/readResults/0/lines/29/words/4\",\"#/readResults/0/lines/30/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":600,\"text\":\"$600\",\"boundingBox\":[5.8328,7.6711,6.1586,7.6711,6.1586,7.8165,5.8328,7.8165],\"page\":1,\"confidence\":0.816,\"elements\":[\"#/readResults/0/lines/33/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 50% discount on program guide advertisements\",\"text\":\"Full booth 50% discount on program guide advertisements\",\"boundingBox\":[3.2075,7.6902,5.3419,7.6902,5.3419,8.2213,3.2075,8.2213],\"page\":1,\"confidence\":0.779,\"elements\":[\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Full\",\"text\":\"Full\",\"boundingBox\":[1.0923,7.6819,1.3079,7.6819,1.3079,7.798,1.0923,7.798],\"page\":1,\"confidence\":0.309,\"elements\":[\"#/readResults/0/lines/31/words/0\"]}},\"text\":\"Full Booth Full booth $600 50% discount on program guide advertisements\",\"boundingBox\":[1.0923,7.6711,6.1586,7.6711,6.1586,8.2213,1.0923,8.2213],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/31/words/0\",\"#/readResults/0/lines/31/words/1\",\"#/readResults/0/lines/32/words/0\",\"#/readResults/0/lines/32/words/1\",\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/34/words/0\",\"#/readResults/0/lines/34/words/1\",\"#/readResults/0/lines/34/words/2\",\"#/readResults/0/lines/34/words/3\",\"#/readResults/0/lines/34/words/4\",\"#/readResults/0/lines/35/words/0\"]},{\"type\":\"object\",\"valueObject\":{\"Amount\":{\"type\":\"number\",\"valueNumber\":350,\"text\":\"$350\",\"boundingBox\":[5.8328,8.3061,6.1586,8.3061,6.1586,8.4515,5.8328,8.4515],\"page\":1,\"confidence\":0.857,\"elements\":[\"#/readResults/0/lines/38/words/0\"]},\"Description\":{\"type\":\"string\",\"valueString\":\"Full booth 25% discount on program guide advertisements\",\"text\":\"Full booth 25% discount on program guide advertisements\",\"boundingBox\":[3.2075,8.3252,5.3419,8.3252,5.3419,8.8563,3.2075,8.8563],\"page\":1,\"confidence\":0.792,\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]},\"ProductCode\":{\"type\":\"string\",\"valueString\":\"Half\",\"text\":\"Half\",\"boundingBox\":[1.0923,8.3162,1.3522,8.3162,1.3522,8.433,1.0923,8.433],\"page\":1,\"confidence\":0.342,\"elements\":[\"#/readResults/0/lines/36/words/0\"]}},\"text\":\"Half Booth Full booth $350 25% discount on program guide advertisements\",\"boundingBox\":[1.0923,8.3061,6.1586,8.3061,6.1586,8.8563,1.0923,8.8563],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/36/words/0\",\"#/readResults/0/lines/36/words/1\",\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/38/words/0\",\"#/readResults/0/lines/39/words/0\",\"#/readResults/0/lines/39/words/1\",\"#/readResults/0/lines/39/words/2\",\"#/readResults/0/lines/39/words/3\",\"#/readResults/0/lines/39/words/4\",\"#/readResults/0/lines/40/words/0\"]}]},\"RemittanceAddress\":{\"type\":\"string\",\"valueString\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"text\":\"2345 Dogwood Lane Birch, Kansas 98123\",\"boundingBox\":[1.0093,3.7939,2.3768,3.7939,2.3768,4.1518,1.0093,4.1518],\"page\":1,\"confidence\":0.851,\"elements\":[\"#/readResults/0/lines/7/words/0\",\"#/readResults/0/lines/7/words/1\",\"#/readResults/0/lines/7/words/2\",\"#/readResults/0/lines/8/words/0\",\"#/readResults/0/lines/8/words/1\",\"#/readResults/0/lines/8/words/2\"]},\"RemittanceAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,3.5739,1.843,3.5739,1.843,3.6897,1.0078,3.6897],\"page\":1,\"confidence\":0.946,\"elements\":[\"#/readResults/0/lines/6/words/0\",\"#/readResults/0/lines/6/words/1\"]},\"VendorAddress\":{\"type\":\"string\",\"valueString\":\"Elm Conference Center in\",\"text\":\"Elm Conference Center in\",\"boundingBox\":[5.3787,2.5846,7.0776,2.5846,7.0776,2.7013,5.3787,2.7013],\"page\":1,\"confidence\":0.493,\"elements\":[\"#/readResults/0/lines/2/words/12\",\"#/readResults/0/lines/2/words/13\",\"#/readResults/0/lines/2/words/14\",\"#/readResults/0/lines/2/words/15\"]},\"VendorAddressRecipient\":{\"type\":\"string\",\"valueString\":\"Contoso Ltd.\",\"text\":\"Contoso Ltd.\",\"boundingBox\":[1.0078,2.5856,1.843,2.5856,1.843,2.7013,1.0078,2.7013],\"page\":1,\"confidence\":0.463,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\"]},\"VendorName\":{\"type\":\"string\",\"valueString\":\"Southridge Video\",\"text\":\"Southridge Video\",\"boundingBox\":[2.1925,2.7686,3.3477,2.7686,3.3477,2.9128,2.1925,2.9128],\"page\":2,\"confidence\":0.952,\"elements\":[\"#/readResults/1/lines/2/words/2\",\"#/readResults/1/lines/2/words/3\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:30 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataIncludeFieldElements[1].json deleted file mode 100644 index 7e75046186202..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataIncludeFieldElements[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "67cc6484-0c53-4069-b2e2-b61d29acce26", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "211", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1ac1acbe-a0b9-4e97-993f-4a0b836ecb89", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1ac1acbe-a0b9-4e97-993f-4a0b836ecb89", - "Date" : "Wed, 07 Jul 2021 06:31:37 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1ac1acbe-a0b9-4e97-993f-4a0b836ecb89", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cfb31d20-0ba1-4559-ba4a-6ffae2b9a381" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3173d254-f157-4c5b-98f8-989b437af5ae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:38Z\"}", - "Date" : "Wed, 07 Jul 2021 06:31:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1ac1acbe-a0b9-4e97-993f-4a0b836ecb89", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9adbfa5a-eae3-471b-9625-a915f4455c96" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0a946cd4-3061-422e-9bd0-d72d76f86eba", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/1ac1acbe-a0b9-4e97-993f-4a0b836ecb89", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cb0b9ffe-6a7a-4e55-aa0c-a5e81b84e8ec" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ac8678b5-4e45-4a9d-89ac-35b5e80605c4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:37Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:45Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataNullData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataNullData[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataNullData[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithBlankPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithBlankPdf[1].json deleted file mode 100644 index 9dbe14ba9ca7e..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithBlankPdf[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f67ec693-3d23-4652-bf61-6748e2c704dd", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3257118a-7dd1-49fe-9cb6-d4d17b0eda10", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3257118a-7dd1-49fe-9cb6-d4d17b0eda10", - "Date" : "Wed, 07 Jul 2021 06:31:48 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3257118a-7dd1-49fe-9cb6-d4d17b0eda10", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "be63cf5e-d3ac-431d-97a6-10f6fe3472fb" - }, - "Response" : { - "content-length" : "300", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c7083b3-383f-4c78-86bd-e013d5149637", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/3257118a-7dd1-49fe-9cb6-d4d17b0eda10", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a3e0ecf9-ae8e-47a0-8908-55f133430dcc" - }, - "Response" : { - "content-length" : "300", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3842f570-a249-4dcd-8220-8b03fb573410", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:48Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json deleted file mode 100644 index 638ab144a265b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithContentTypeAutoDetection[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8d013837-aa3b-40f5-b49c-bbbabac2f268", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "212", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7a801528-1124-48e7-81dc-c24e41da1545", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7a801528-1124-48e7-81dc-c24e41da1545", - "Date" : "Wed, 07 Jul 2021 06:31:33 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7a801528-1124-48e7-81dc-c24e41da1545", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "adbe4e0f-bff0-44d5-84e0-b04f79aa2bc7" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c2cc541-910f-4fb5-b196-48206b52dee1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:36Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/7a801528-1124-48e7-81dc-c24e41da1545", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc5cec13-5efe-4054-ab7a-4410448a8507" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ea57f675-0a45-46e7-95ef-60fc46fffa15", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:36Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithPngFile[1].json deleted file mode 100644 index 8063fcd498afc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptDataWithPngFile[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d04aabb5-3ef9-4fe5-8fdf-7b813c40c4ea", - "Content-Type" : "image/png" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "500", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ff8b5a0f-fb1b-455c-ae9f-82d4f446bb6e", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ff8b5a0f-fb1b-455c-ae9f-82d4f446bb6e", - "Date" : "Wed, 07 Jul 2021 06:32:50 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ff8b5a0f-fb1b-455c-ae9f-82d4f446bb6e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7912cc58-1621-4aae-98aa-7d62f0f2f7b4" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5caf4881-a8e7-42e1-8446-5404d2116227", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:32:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:51Z\"}", - "Date" : "Wed, 07 Jul 2021 06:32:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ff8b5a0f-fb1b-455c-ae9f-82d4f446bb6e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51f724d6-4ef3-45ff-8cb5-79887f3e7785" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "53", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "457d1294-1d84-4811-9740-75838f7ec92e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:33:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ff8b5a0f-fb1b-455c-ae9f-82d4f446bb6e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ee63d258-9a7b-4312-b5dd-661e580e79dc" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1b6fd6e7-f15b-48e1-87ac-90fa853430f7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:56Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:33:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptData[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptData[1].json deleted file mode 100644 index dcb29dc63e138..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptData[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f6a0cc41-bcab-4b84-927b-e83043c98f1b", - "Content-Type" : "image/jpeg" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "197", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d45e041-2a09-4264-b237-c9d6a0b332e2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/0d45e041-2a09-4264-b237-c9d6a0b332e2", - "Date" : "Wed, 07 Jul 2021 06:31:53 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/0d45e041-2a09-4264-b237-c9d6a0b332e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8f175d1c-04b9-488f-ba00-2a56f17b4ebd" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6e0b7ffd-0bb7-4c69-b67a-2af2c8c2d661", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/0d45e041-2a09-4264-b237-c9d6a0b332e2", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "87d70c11-6c75-4d53-99ef-9353e61d6e35" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6ab391aa-98b9-4c68-9baf-38bfad96cb49", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:31:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:31:59Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:31:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDamagedPdf[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDamagedPdf[1].json deleted file mode 100644 index 8c611f5beec0f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDamagedPdf[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6d427353-dfb1-4fe6-b466-9df84ae1701f", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "161", - "x-envoy-upstream-service-time" : "4", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6d187fba-c3d4-4785-87d0-145c0597c3cd", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"BadArgument\",\"innerError\":{\"requestId\":\"6d187fba-c3d4-4785-87d0-145c0597c3cd\"},\"message\":\"Bad or unrecognizable request JSON or binary file.\"}}", - "Date" : "Wed, 07 Jul 2021 06:30:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDataMultiPage[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDataMultiPage[1].json deleted file mode 100644 index f966bd0bf5a5b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromDataMultiPage[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "55e7c272-9474-49ec-89d9-5c6637370dc7", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "89", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ccaf4edd-e5fa-41e6-9751-769cc40b8fe3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ccaf4edd-e5fa-41e6-9751-769cc40b8fe3", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ccaf4edd-e5fa-41e6-9751-769cc40b8fe3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "168ce362-cb98-40e9-b27f-b755090706cc" - }, - "Response" : { - "content-length" : "106", - "x-envoy-upstream-service-time" : "13", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "30e7778a-b681-4186-8f8b-d3aede8ba186", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"running\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:11Z\"}", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ccaf4edd-e5fa-41e6-9751-769cc40b8fe3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1cd3e092-964d-4079-a917-4d06df092049" - }, - "Response" : { - "content-length" : "5775", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3c95a619-6327-4f32-839c-ddefb0d107a0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.5617,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":2,\"angle\":0.4374,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"page\":1,\"confidence\":0.835},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"page\":1,\"confidence\":0.968},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"page\":1,\"confidence\":0.979}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[1.8594,6.5025,3.2207,6.5025,3.2207,6.7684,1.8594,6.7684],\"page\":1,\"confidence\":0.921},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"page\":1,\"confidence\":0.968},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"page\":1,\"confidence\":0.925}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.8916,3.024,3.5384,3.3306,3.4348,3.8865,1.7881,3.58],\"page\":1,\"confidence\":0.967},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"page\":1,\"confidence\":0.967},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"page\":1,\"confidence\":0.986},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.989},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9251,7.9648,4.2611,7.9648],\"page\":1,\"confidence\":0.724},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[4.3745,8.0029,4.9488,8.044,4.9227,8.4085,4.3484,8.3674],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.623,\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"page\":1,\"confidence\":0.948},\"Total\":{\"type\":\"number\",\"valueNumber\":14.52,\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"page\":1,\"confidence\":0.971},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"page\":1,\"confidence\":0.985},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"page\":1,\"confidence\":0.982}}},{\"docType\":\"prebuilt:receipt\",\"pageRange\":[2,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[2.0919,5.6538,3.0438,5.6743,3.0391,5.8917,2.0873,5.8711],\"page\":2,\"confidence\":0.848},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"page\":2,\"confidence\":0.961},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"$ 999.00\",\"boundingBox\":[3.8004,6.3191,4.4224,6.3711,4.4011,6.6251,3.7792,6.5731],\"page\":2,\"confidence\":0.935}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"page\":2,\"confidence\":0.479},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"page\":2,\"confidence\":0.961},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.4049,7.289,3.8737,7.289],\"page\":2,\"confidence\":0.935}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.9397,3.0667,3.2678,3.0789,3.2631,3.5902,1.935,3.578],\"page\":2,\"confidence\":0.975},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"page\":2,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"page\":2,\"confidence\":0.988},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7543,4.416,7.7543,4.416,7.9869,3.752,7.9869],\"page\":2,\"confidence\":0.813},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.3939,8.0977,4.3939,8.3192,3.8073,8.3192],\"page\":2,\"confidence\":0.986},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3944,8.8228,4.3743,9.0446,3.7096,8.9841],\"page\":2,\"confidence\":0.973},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"page\":2,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"page\":2,\"confidence\":0.986}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/ccaf4edd-e5fa-41e6-9751-769cc40b8fe3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3f8e753d-d150-43b8-b67c-96ea860bf88e" - }, - "Response" : { - "content-length" : "5775", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "73629ac8-03b5-4a71-aafb-c6bf70a86079", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:18Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.5617,\"width\":8.5,\"height\":11,\"unit\":\"inch\"},{\"page\":2,\"angle\":0.4374,\"width\":8.5,\"height\":11,\"unit\":\"inch\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[1.8926,5.7492,2.9883,5.7936,2.9772,6.0705,1.8926,6.0373],\"page\":1,\"confidence\":0.835},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6934,5.7382,1.8372,5.7492,1.8372,6.0373,1.6934,6.0262],\"page\":1,\"confidence\":0.968},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[4.3053,5.7382,4.8034,5.716,4.8145,5.9597,4.3164,5.9929],\"page\":1,\"confidence\":0.979}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[1.8594,6.5025,3.2207,6.5025,3.2207,6.7684,1.8594,6.7684],\"page\":1,\"confidence\":0.921},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.6602,6.4914,1.804,6.4914,1.804,6.7684,1.6602,6.7684],\"page\":1,\"confidence\":0.968},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[4.3828,6.8459,4.7923,6.8348,4.8034,7.1229,4.3939,7.1339],\"page\":1,\"confidence\":0.925}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.8916,3.024,3.5384,3.3306,3.4348,3.8865,1.7881,3.58],\"page\":1,\"confidence\":0.967},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9147,2.6918,2.5677,2.8691,2.5124,3.0685,1.8704,2.8912],\"page\":1,\"confidence\":0.967},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[1.8151,3.999,2.9661,4.1541,2.9329,4.3756,1.793,4.2205],\"page\":1,\"confidence\":0.986},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.989},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[4.2611,7.6546,4.9251,7.6546,4.9251,7.9648,4.2611,7.9648],\"page\":1,\"confidence\":0.724},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[4.3745,8.0029,4.9488,8.044,4.9227,8.4085,4.3484,8.3674],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.623,\"text\":\"1.623\",\"boundingBox\":[4.2168,8.4079,4.8698,8.4079,4.8698,8.7845,4.2168,8.7845],\"page\":1,\"confidence\":0.948},\"Total\":{\"type\":\"number\",\"valueNumber\":14.52,\"text\":\"$14.52\",\"boundingBox\":[4.1061,8.8731,5.1243,8.9174,5.1022,9.283,4.084,9.2387],\"page\":1,\"confidence\":0.971},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.7819,4.6636,2.5456,4.7301,2.5234,4.996,1.7598,4.9406],\"page\":1,\"confidence\":0.985},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.6009,4.7412,3.0436,4.7744,3.0215,5.0181,2.5677,4.996],\"page\":1,\"confidence\":0.982}}},{\"docType\":\"prebuilt:receipt\",\"pageRange\":[2,2],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[2.0919,5.6538,3.0438,5.6743,3.0391,5.8917,2.0873,5.8711],\"page\":2,\"confidence\":0.848},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9811,5.6606,2.0475,5.6606,2.0475,5.8711,1.9811,5.8711],\"page\":2,\"confidence\":0.961},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"$ 999.00\",\"boundingBox\":[3.8004,6.3191,4.4224,6.3711,4.4011,6.6251,3.7792,6.5731],\"page\":2,\"confidence\":0.935}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[2.0475,7.0453,2.8887,7.0342,2.8997,7.2447,2.0586,7.2669],\"page\":2,\"confidence\":0.479},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[1.9368,7.0453,2.0033,7.0453,2.0143,7.2669,1.9479,7.2669],\"page\":2,\"confidence\":0.961},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[3.8737,7.0675,4.4049,7.0675,4.4049,7.289,3.8737,7.289],\"page\":2,\"confidence\":0.935}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[1.9397,3.0667,3.2678,3.0789,3.2631,3.5902,1.935,3.578],\"page\":2,\"confidence\":0.975},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[1.9701,2.7694,2.5234,2.8026,2.5013,2.9688,1.959,2.9466],\"page\":2,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[1.8926,3.9879,2.8665,4.0211,2.8665,4.2205,1.8926,4.1984],\"page\":2,\"confidence\":0.988},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"$ 1098.99\",\"boundingBox\":[3.752,7.7543,4.416,7.7543,4.416,7.9869,3.752,7.9869],\"page\":2,\"confidence\":0.813},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[3.8073,8.0977,4.3939,8.0977,4.3939,8.3192,3.8073,8.3192],\"page\":2,\"confidence\":0.986},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[3.7298,8.7623,4.3944,8.8228,4.3743,9.0446,3.7096,8.9841],\"page\":2,\"confidence\":0.973},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[1.8815,4.6526,2.4792,4.6636,2.4792,4.8741,1.8926,4.8741],\"page\":2,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[2.5234,4.6636,2.9108,4.6636,2.8997,4.8741,2.5234,4.8741],\"page\":2,\"confidence\":0.986}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json deleted file mode 100644 index 3e4dc267ad4a4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlIncludeFieldElements[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "824fcf65-a085-468e-bc43-3b91d69423c8", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "189", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e1311ef8-a984-4eef-8d5c-3990e5f43e26", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/e1311ef8-a984-4eef-8d5c-3990e5f43e26", - "Date" : "Wed, 07 Jul 2021 06:30:34 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/e1311ef8-a984-4eef-8d5c-3990e5f43e26", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "027856a7-90e7-4069-a42c-8d01493e6726" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b2ade834-e976-41ad-bc01-97e5e4d0c05b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/e1311ef8-a984-4eef-8d5c-3990e5f43e26", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "676b3865-9b09-41cc-ba35-8ab388c6cda1" - }, - "Response" : { - "content-length" : "10449", - "x-envoy-upstream-service-time" : "52", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "60ad558f-0649-4a09-8442-d65892afacc9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:30:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:39Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[306,569,519,624,502,686,290,632],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"confidence\":0.879}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[625,512,1089,465,1096,561,631,607],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[625,512,1072,468,1078,564,631,607],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[301,677,697,759,681,835,284,750],\"words\":[{\"text\":\"123\",\"boundingBox\":[301,677,378,692,361,766,284,751],\"confidence\":0.994},{\"text\":\"Main\",\"boundingBox\":[392,694,519,721,502,794,376,768],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[533,724,694,763,676,835,516,798],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[284,784,823,855,814,925,275,868],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[291,785,548,829,539,905,278,854],\"confidence\":0.931},{\"text\":\"WA\",\"boundingBox\":[561,831,643,841,635,916,553,907],\"confidence\":0.997},{\"text\":\"98052\",\"boundingBox\":[657,842,822,855,817,925,649,917],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"987-654-3210\",\"boundingBox\":[270,999,655,1049,646,1125,264,1075],\"words\":[{\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[258,1224,683,1259,676,1341,255,1309],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"confidence\":0.986},{\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[252,1347,860,1378,859,1449,249,1425],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[258,1348,408,1358,404,1432,253,1419],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[422,1359,703,1373,701,1447,418,1433],\"confidence\":0.93},{\"text\":\"Paul\",\"boundingBox\":[717,1373,858,1378,859,1449,716,1448],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Cappuccino\",\"boundingBox\":[244,1581,660,1597,658,1688,241,1675],\"words\":[{\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"confidence\":0.991},{\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"confidence\":0.187}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$2.20\",\"boundingBox\":[1106,1580,1264,1574,1268,1656,1108,1662],\"words\":[{\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 BACON & EGGS\",\"boundingBox\":[226,1838,740,1839,740,1924,226,1923],\"words\":[{\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"confidence\":0.996},{\"text\":\"BACON\",\"boundingBox\":[293,1839,497,1840,497,1923,293,1924],\"confidence\":0.996},{\"text\":\"&\",\"boundingBox\":[514,1840,554,1840,553,1923,514,1923],\"confidence\":0.994},{\"text\":\"EGGS\",\"boundingBox\":[571,1840,737,1841,736,1924,570,1923],\"confidence\":0.993}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1976,758,1974,759,2061,343,2063],\"words\":[{\"text\":\"Sunny-side-up\",\"boundingBox\":[343,1977,757,1975,755,2063,346,2064],\"confidence\":0.986}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1253,1948,1255,2041,1137,2041],\"words\":[{\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"confidence\":0.972}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[218,2143,291,2140,292,2158,218,2161],\"words\":[{\"text\":\"---\",\"boundingBox\":[220,2143,291,2141,292,2158,219,2161],\"confidence\":0.802}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"-----\",\"boundingBox\":[277,2142,461,2136,461,2155,278,2161],\"words\":[{\"text\":\"-----\",\"boundingBox\":[287,2142,434,2137,435,2156,288,2161],\"confidence\":0.741}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.357}}},{\"text\":\"--\",\"boundingBox\":[1252,2129,1319,2127,1320,2143,1252,2146],\"words\":[{\"text\":\"--\",\"boundingBox\":[1261,2130,1303,2128,1302,2145,1260,2145],\"confidence\":0.952}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[434,2232,768,2222,770,2312,437,2322],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[434,2234,769,2222,770,2313,442,2322],\"confidence\":0.837}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 11.70\",\"boundingBox\":[1082,2228,1309,2228,1309,2313,1084,2312],\"words\":[{\"text\":\"$\",\"boundingBox\":[1082,2228,1120,2228,1120,2313,1082,2312],\"confidence\":0.994},{\"text\":\"11.70\",\"boundingBox\":[1137,2228,1306,2228,1306,2313,1137,2313],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[433,2367,563,2363,565,2458,435,2462],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[433,2367,559,2363,562,2458,435,2462],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.17\",\"boundingBox\":[1125,2353,1306,2362,1304,2451,1121,2444],\"words\":[{\"text\":\"$\",\"boundingBox\":[1125,2353,1166,2355,1162,2446,1121,2444],\"confidence\":0.994},{\"text\":\"1.17\",\"boundingBox\":[1184,2356,1307,2361,1303,2452,1180,2446],\"confidence\":0.988}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tip\",\"boundingBox\":[439,2502,545,2506,541,2606,435,2602],\"words\":[{\"text\":\"Tip\",\"boundingBox\":[438,2502,545,2506,541,2606,435,2602],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1.63\",\"boundingBox\":[1038,2483,1271,2489,1269,2583,1032,2577],\"words\":[{\"text\":\"$\",\"boundingBox\":[1034,2483,1064,2483,1062,2578,1032,2577],\"confidence\":0.997},{\"text\":\"1.63\",\"boundingBox\":[1083,2483,1268,2488,1266,2583,1081,2578],\"confidence\":0.748}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.531}}},{\"text\":\"Total\",\"boundingBox\":[431,2651,607,2646,610,2739,435,2745],\"words\":[{\"text\":\"Total\",\"boundingBox\":[431,2651,605,2646,608,2739,433,2745],\"confidence\":0.979}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$14.50\",\"boundingBox\":[1034,2623,1381,2642,1374,2757,1027,2740],\"words\":[{\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"confidence\":0.781}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558,\"elements\":[\"#/readResults/0/lines/7/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/7/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972,\"elements\":[\"#/readResults/0/lines/8/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977,\"elements\":[\"#/readResults/0/lines/11/words/0\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/0/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/16/words/0\",\"#/readResults/0/lines/16/words/1\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/18/words/0\",\"#/readResults/0/lines/18/words/1\"]},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941,\"elements\":[\"#/readResults/0/lines/20/words/0\",\"#/readResults/0/lines/20/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978,\"elements\":[\"#/readResults/0/lines/22/words/0\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:30:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json deleted file mode 100644 index f1c265fb8bc12..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptFromUrlWithEncodedBlankSpaceSourceUrl[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3e9b534-9ddb-4104-918c-9e5ff1283f84", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3e9b534-9ddb-4104-918c-9e5ff1283f84", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3e9b534-9ddb-4104-918c-9e5ff1283f84", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0-beta.4 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3e9b534-9ddb-4104-918c-9e5ff1283f84", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.util.concurrent.TimeoutException", - "ErrorMessage" : "Channel response timed out after 60000 milliseconds." - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptInvalidSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptInvalidSourceUrl[1].json deleted file mode 100644 index e6548c043952f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptInvalidSourceUrl[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "72de6956-6b2d-499f-a5ea-e2a06032af2d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "144", - "x-envoy-upstream-service-time" : "201", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "65af0ea2-145f-4ed4-83c3-a78eefa5f658", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"InvalidImageURL\",\"innerError\":{\"requestId\":\"65af0ea2-145f-4ed4-83c3-a78eefa5f658\"},\"message\":\"Image URL is badly formatted.\"}}", - "Date" : "Wed, 07 Jul 2021 06:32:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrlWithPngFile[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrlWithPngFile[1].json deleted file mode 100644 index 45d1f8d7bbc18..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrlWithPngFile[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b6a2337e-195a-493c-a37a-83e51494730d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "568", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "027f2dc4-b3fc-45c2-a870-0100d33d2fa8", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/027f2dc4-b3fc-45c2-a870-0100d33d2fa8", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/027f2dc4-b3fc-45c2-a870-0100d33d2fa8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0a22eff-915b-4b3e-9cfe-f08f36c7b7a3" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8628e266-a2ee-4257-bd2e-84e1715e36e8", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/027f2dc4-b3fc-45c2-a870-0100d33d2fa8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a548ede2-f34d-4f6d-aa14-96422000dc45" - }, - "Response" : { - "content-length" : "10439", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "80c49fef-51e9-4d9f-928a-23c988ea208b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:56Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:01Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":-0.0752,\"width\":1688,\"height\":3000,\"unit\":\"pixel\",\"lines\":[{\"text\":\"Contoso\",\"boundingBox\":[612,287,1052,277,1055,384,614,397],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[613,288,1040,278,1044,385,614,398],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Contoso\",\"boundingBox\":[322,590,503,599,500,654,319,644],\"words\":[{\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"confidence\":0.822}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123 Main Street\",\"boundingBox\":[317,688,647,691,646,756,317,753],\"words\":[{\"text\":\"123\",\"boundingBox\":[319,688,378,691,376,755,317,753],\"confidence\":0.958},{\"text\":\"Main\",\"boundingBox\":[391,691,493,694,492,756,389,756],\"confidence\":0.994},{\"text\":\"Street\",\"boundingBox\":[506,694,644,695,644,754,505,756],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Redmond, WA 98052\",\"boundingBox\":[307,795,752,793,752,857,307,859],\"words\":[{\"text\":\"Redmond,\",\"boundingBox\":[313,796,519,796,517,859,311,858],\"confidence\":0.984},{\"text\":\"WA\",\"boundingBox\":[531,796,596,796,594,859,529,859],\"confidence\":0.998},{\"text\":\"98052\",\"boundingBox\":[608,795,751,793,749,854,606,859],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,623,1008,622,1070,303,1063],\"words\":[{\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"confidence\":0.967}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"6/10/2019 13:59\",\"boundingBox\":[299,1221,631,1222,631,1291,299,1290],\"words\":[{\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"confidence\":0.991},{\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sales Associate: Paul\",\"boundingBox\":[299,1335,772,1335,772,1398,299,1396],\"words\":[{\"text\":\"Sales\",\"boundingBox\":[299,1335,406,1337,407,1397,301,1396],\"confidence\":0.994},{\"text\":\"Associate:\",\"boundingBox\":[417,1337,647,1337,648,1399,418,1397],\"confidence\":0.994},{\"text\":\"Paul\",\"boundingBox\":[659,1337,771,1335,771,1399,659,1399],\"confidence\":0.991}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---\",\"boundingBox\":[306,1470,370,1469,370,1488,306,1489],\"words\":[{\"text\":\"---\",\"boundingBox\":[307,1471,356,1470,357,1489,307,1490],\"confidence\":0.924}],\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.491}}},{\"text\":\"-----\",\"boundingBox\":[1021,1474,1112,1473,1112,1490,1021,1491],\"words\":[{\"text\":\"-----\",\"boundingBox\":[1021,1475,1103,1474,1102,1491,1021,1491],\"confidence\":0.109}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 Surface Pro 6\",\"boundingBox\":[327,1558,679,1560,678,1624,326,1622],\"words\":[{\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"confidence\":0.996},{\"text\":\"Surface\",\"boundingBox\":[364,1559,540,1561,539,1624,364,1623],\"confidence\":0.996},{\"text\":\"Pro\",\"boundingBox\":[552,1561,625,1562,624,1624,551,1624],\"confidence\":0.997},{\"text\":\"6\",\"boundingBox\":[638,1562,675,1563,674,1624,637,1624],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"256GB/Intel Core i5 /\",\"boundingBox\":[366,1666,850,1668,849,1746,366,1744],\"words\":[{\"text\":\"256GB/Intel\",\"boundingBox\":[367,1667,643,1669,641,1746,366,1744],\"confidence\":0.755},{\"text\":\"Core\",\"boundingBox\":[658,1669,754,1669,752,1747,656,1746],\"confidence\":0.986},{\"text\":\"i5\",\"boundingBox\":[769,1669,804,1669,802,1747,767,1747],\"confidence\":0.986},{\"text\":\"/\",\"boundingBox\":[819,1669,851,1669,848,1747,817,1747],\"confidence\":0.96}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"8GB RAM (Black)\",\"boundingBox\":[357,1779,738,1779,738,1858,357,1859],\"words\":[{\"text\":\"8GB\",\"boundingBox\":[363,1779,443,1779,442,1860,362,1860],\"confidence\":0.968},{\"text\":\"RAM\",\"boundingBox\":[459,1779,555,1779,554,1859,458,1860],\"confidence\":0.997},{\"text\":\"(Black)\",\"boundingBox\":[571,1779,738,1780,737,1860,570,1859],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"999.00\",\"boundingBox\":[967,1792,1136,1797,1134,1858,967,1855],\"words\":[{\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1 SurfacePen\",\"boundingBox\":[314,2017,626,2013,627,2078,316,2084],\"words\":[{\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"confidence\":0.996},{\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 99.99\",\"boundingBox\":[963,2026,1129,2025,1128,2092,963,2092],\"words\":[{\"text\":\"$\",\"boundingBox\":[963,2025,988,2025,989,2092,963,2092],\"confidence\":0.994},{\"text\":\"99.99\",\"boundingBox\":[1002,2025,1128,2025,1128,2092,1002,2092],\"confidence\":0.996}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"---------\",\"boundingBox\":[279,2166,491,2157,492,2176,279,2186],\"words\":[{\"text\":\"---------\",\"boundingBox\":[280,2167,490,2157,490,2177,280,2186],\"confidence\":0.859}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Sub-Total\",\"boundingBox\":[464,2243,697,2244,696,2310,464,2307],\"words\":[{\"text\":\"Sub-Total\",\"boundingBox\":[468,2243,697,2244,694,2311,468,2306],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"1098.99\",\"boundingBox\":[952,2255,1141,2251,1140,2325,951,2330],\"words\":[{\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"confidence\":0.994}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Tax\",\"boundingBox\":[564,2349,662,2347,662,2423,564,2425],\"words\":[{\"text\":\"Tax\",\"boundingBox\":[566,2349,657,2347,659,2422,568,2424],\"confidence\":0.997}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 104.40\",\"boundingBox\":[940,2371,1131,2368,1129,2433,942,2439],\"words\":[{\"text\":\"$\",\"boundingBox\":[940,2371,961,2370,962,2438,941,2439],\"confidence\":0.994},{\"text\":\"104.40\",\"boundingBox\":[974,2370,1130,2368,1131,2434,976,2438],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"Total\",\"boundingBox\":[538,2592,669,2590,669,2650,541,2654],\"words\":[{\"text\":\"Total\",\"boundingBox\":[541,2592,666,2590,667,2651,542,2654],\"confidence\":0.777}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}},{\"text\":\"$ 1203.39\",\"boundingBox\":[914,2591,1124,2610,1117,2676,910,2653],\"words\":[{\"text\":\"$\",\"boundingBox\":[914,2591,938,2593,934,2658,911,2655],\"confidence\":0.994},{\"text\":\"1203.39\",\"boundingBox\":[951,2594,1123,2612,1116,2676,947,2659],\"confidence\":0.995}],\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}}}]}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Surface Pro 6\",\"text\":\"Surface Pro 6\",\"boundingBox\":[364,1559,675,1561.7,674.5,1625.7,363.5,1623],\"page\":1,\"confidence\":0.914,\"elements\":[\"#/readResults/0/lines/9/words/1\",\"#/readResults/0/lines/9/words/2\",\"#/readResults/0/lines/9/words/3\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[327,1558,352,1559,351,1623,327,1623],\"page\":1,\"confidence\":0.971,\"elements\":[\"#/readResults/0/lines/9/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":999,\"text\":\"999.00\",\"boundingBox\":[974,1792,1135,1796,1133,1859,973,1855],\"page\":1,\"confidence\":0.983,\"elements\":[\"#/readResults/0/lines/12/words/0\"]}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"SurfacePen\",\"text\":\"SurfacePen\",\"boundingBox\":[349,2017,624,2013,624,2079,350,2084],\"page\":1,\"confidence\":0.718,\"elements\":[\"#/readResults/0/lines/13/words/1\"]},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[315,2018,336,2018,337,2084,316,2085],\"page\":1,\"confidence\":0.976,\"elements\":[\"#/readResults/0/lines/13/words/0\"]},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":99.99,\"text\":\"$ 99.99\",\"boundingBox\":[963,2025,1128,2025,1128,2092,963,2092],\"page\":1,\"confidence\":0.967,\"elements\":[\"#/readResults/0/lines/14/words/0\",\"#/readResults/0/lines/14/words/1\"]}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[311.4,688,751.3,689,750.8,859.6,311,858.5],\"page\":1,\"confidence\":0.975,\"elements\":[\"#/readResults/0/lines/2/words/0\",\"#/readResults/0/lines/2/words/1\",\"#/readResults/0/lines/2/words/2\",\"#/readResults/0/lines/3/words/0\",\"#/readResults/0/lines/3/words/1\",\"#/readResults/0/lines/3/words/2\"]},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[324,590,501,601,498,654,320,645],\"page\":1,\"confidence\":0.974,\"elements\":[\"#/readResults/0/lines/1/words/0\"]},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"text\":\"123-456-7890\",\"boundingBox\":[303,1003,621,1009,619,1071,303,1064],\"page\":1,\"confidence\":0.988,\"elements\":[\"#/readResults/0/lines/4/words/0\"]},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":1098.99,\"text\":\"1098.99\",\"boundingBox\":[963,2255,1137,2251,1138,2325,965,2329],\"page\":1,\"confidence\":0.982,\"elements\":[\"#/readResults/0/lines/17/words/0\"]},\"Tax\":{\"type\":\"number\",\"valueNumber\":104.4,\"text\":\"$ 104.40\",\"boundingBox\":[939.7,2370.4,1130,2366.7,1131.3,2435.3,941,2439],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/19/words/0\",\"#/readResults/0/lines/19/words/1\"]},\"Total\":{\"type\":\"number\",\"valueNumber\":1203.39,\"text\":\"$ 1203.39\",\"boundingBox\":[914.1,2589.8,1123,2612,1116,2677.4,907.2,2655.1],\"page\":1,\"confidence\":0.957,\"elements\":[\"#/readResults/0/lines/21/words/0\",\"#/readResults/0/lines/21/words/1\"]},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[299,1221,497,1222,496,1292,299,1292],\"page\":1,\"confidence\":0.987,\"elements\":[\"#/readResults/0/lines/5/words/0\"]},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[511,1223,628,1224,625,1292,509,1292],\"page\":1,\"confidence\":0.985,\"elements\":[\"#/readResults/0/lines/5/words/1\"]}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrl[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrl[1].json deleted file mode 100644 index 7efadd966e0ae..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormRecognizerClientTest.recognizeReceiptSourceUrl[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyze?includeTextDetails=false", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "497e4ae7-1c34-4d02-9db3-d11148fa9392", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "167", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d0e5cb53-3834-4550-aed4-f0488c72cdc3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/d0e5cb53-3834-4550-aed4-f0488c72cdc3", - "Date" : "Wed, 07 Jul 2021 06:32:10 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/d0e5cb53-3834-4550-aed4-f0488c72cdc3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6cce4968-50a0-4f68-93c0-54b3424f520e" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "39083b72-e89e-4616-b379-da25ba73fe6f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/d0e5cb53-3834-4550-aed4-f0488c72cdc3", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0f17d5a2-88d2-4633-a3b7-a15ab17d97b3" - }, - "Response" : { - "content-length" : "2836", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9ec906c3-e1b2-4f86-8482-8d80b7ee7f53", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:32:11Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:32:15Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0.1273,\"width\":1688,\"height\":3000,\"unit\":\"pixel\"}],\"documentResults\":[{\"docType\":\"prebuilt:receipt\",\"pageRange\":[1,1],\"fields\":{\"Items\":{\"type\":\"array\",\"valueArray\":[{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"Cappuccino\",\"text\":\"Cappuccino\",\"boundingBox\":[304,1585,658,1598,657,1688,302,1679],\"page\":1,\"confidence\":0.558},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[244,1581,286,1584,283,1678,241,1675],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":2.2,\"text\":\"$2.20\",\"boundingBox\":[1106,1579,1260,1574,1263,1656,1108,1662],\"page\":1,\"confidence\":0.972}}},{\"type\":\"object\",\"valueObject\":{\"Name\":{\"type\":\"string\",\"valueString\":\"BACON & EGGS\",\"text\":\"BACON & EGGS\",\"boundingBox\":[293,1839,737,1839,737,1924,293,1924],\"page\":1,\"confidence\":0.906},\"Quantity\":{\"type\":\"number\",\"valueNumber\":1,\"text\":\"1\",\"boundingBox\":[227,1839,275,1839,275,1924,226,1924],\"page\":1,\"confidence\":0.936},\"TotalPrice\":{\"type\":\"number\",\"valueNumber\":9.5,\"text\":\"$9.5\",\"boundingBox\":[1134,1948,1252,1948,1252,2041,1134,2041],\"page\":1,\"confidence\":0.977}}}]},\"MerchantAddress\":{\"type\":\"string\",\"valueString\":\"123 Main Street Redmond, WA 98052\",\"text\":\"123 Main Street Redmond, WA 98052\",\"boundingBox\":[298.6,675.8,844.8,782.2,810.6,957.9,264.4,851.5],\"page\":1,\"confidence\":0.974},\"MerchantName\":{\"type\":\"string\",\"valueString\":\"Contoso\",\"text\":\"Contoso\",\"boundingBox\":[308,570,515,627,500,685,290,634],\"page\":1,\"confidence\":0.974},\"MerchantPhoneNumber\":{\"type\":\"phoneNumber\",\"valuePhoneNumber\":\"+19876543210\",\"text\":\"987-654-3210\",\"boundingBox\":[274,1000,651,1049,643,1125,268,1076],\"page\":1,\"confidence\":0.987},\"ReceiptType\":{\"type\":\"string\",\"valueString\":\"Itemized\",\"confidence\":0.99},\"Subtotal\":{\"type\":\"number\",\"valueNumber\":11.7,\"text\":\"$ 11.70\",\"boundingBox\":[1082,2225.1,1307.1,2228,1306,2315.4,1080.9,2312.5],\"page\":1,\"confidence\":0.967},\"Tax\":{\"type\":\"number\",\"valueNumber\":1.17,\"text\":\"$ 1.17\",\"boundingBox\":[1125,2352.1,1307.4,2361,1303,2452.9,1120.6,2444],\"page\":1,\"confidence\":0.985},\"Tip\":{\"type\":\"number\",\"valueNumber\":1.63,\"text\":\"$ 1.63\",\"boundingBox\":[1034,2481.7,1268.6,2488,1266,2583.5,1031.5,2577.2],\"page\":1,\"confidence\":0.941},\"Total\":{\"type\":\"number\",\"valueNumber\":14.5,\"text\":\"$14.50\",\"boundingBox\":[1033,2623,1374,2641,1368,2757,1027,2740],\"page\":1,\"confidence\":0.978},\"TransactionDate\":{\"type\":\"date\",\"valueDate\":\"2019-06-10\",\"text\":\"6/10/2019\",\"boundingBox\":[259,1224,514,1247,509,1331,255,1312],\"page\":1,\"confidence\":0.987},\"TransactionTime\":{\"type\":\"time\",\"valueTime\":\"13:59:00\",\"text\":\"13:59\",\"boundingBox\":[531,1248,681,1262,675,1341,526,1333],\"page\":1,\"confidence\":0.985}}}]}}", - "Date" : "Wed, 07 Jul 2021 06:32:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyIncorrectRegion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyIncorrectRegion[1].json deleted file mode 100644 index 1b2da4378b59c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyIncorrectRegion[1].json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "863aed48-744b-410b-a978-497778ee4c61", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1114", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3e48db8e-a08d-4cd3-a2e3-971a827e71a3", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 17:50:04 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "98e17871-6997-4df1-bcc1-f2eb2bfc413e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c4dd0c40-9d3b-4f65-90cc-738d384b8453", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"9d72146d-3ee4-4027-a0cc-affbc795f48a\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:50:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:50:04Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:50:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "de9742b0-031e-446e-b93a-9c6ca5249993" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "191dce3b-0684-49fd-bb1c-b6243a0dda7c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"9d72146d-3ee4-4027-a0cc-affbc795f48a\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:50:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:50:04Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:50:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "335db6c7-52da-4d27-a40c-80fa0d16d2be" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "caa76020-fa37-49e9-972b-028776b7f184", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"9d72146d-3ee4-4027-a0cc-affbc795f48a\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:50:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:50:19Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:50:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5b20e449-a166-4892-a84b-5429de067d7b" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f50a8588-f8a7-409f-88f5-1f5f913860a1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"9d72146d-3ee4-4027-a0cc-affbc795f48a\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:50:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:50:19Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:50:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0ce2f8ce-6fab-4c82-a1b0-065651842787" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "270", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0785949e-34e2-4c8e-88f8-5aa07f3ef536", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"20bc11a0-e4db-4d2e-ad78-b47681e9ddea\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625766622}", - "Date" : "Wed, 07 Jul 2021 17:50:21 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/20bc11a0-e4db-4d2e-ad78-b47681e9ddea" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fb9941e4-a565-4fed-a55e-20ac6f6013de", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "204", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "428fd7f5-dfe6-415f-86cf-7b645f71bc41", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a/copyresults/fea74e52-d288-4f7e-bd83-264a556a4598", - "Date" : "Wed, 07 Jul 2021 17:50:22 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/9d72146d-3ee4-4027-a0cc-affbc795f48a/copyResults/fea74e52-d288-4f7e-bd83-264a556a4598", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "40cefde4-d2d9-42c2-9bed-dd88cd013779" - }, - "Response" : { - "content-length" : "399", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ca16d32e-4746-463f-bc9a-ff701948b679", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"failed\",\"createdDateTime\":\"2021-07-07T17:50:26.4259502Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:50:26.4259519Z\",\"copyResult\":{\"modelId\":\"20bc11a0-e4db-4d2e-ad78-b47681e9ddea\",\"errors\":[{\"code\":\"2024\",\"innerError\":{\"requestId\":\"ca16d32e-4746-463f-bc9a-ff701948b679\"},\"message\":\"Could not retrieve authorization metadata. If this issue persists use a different target model to copy into.\"}]}}", - "Date" : "Wed, 07 Jul 2021 17:50:27 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2024" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyInvalidRegion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyInvalidRegion[1].json deleted file mode 100644 index c5b39265b6d3b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopyInvalidRegion[1].json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9384fdb1-806a-4011-8c0b-f86a72380408", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "759", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97076b08-27e9-488d-ad94-e657a1291bea", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 17:52:31 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9ff32230-155c-4bf9-95cc-d8ba31243243" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3e8abff1-8adb-45db-87d0-b210705cbe3a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1e6de055-9fb0-4416-9ca2-7634b2a85ef1\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:52:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:52:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:52:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "56a37443-8405-4dab-b9a3-d624084d62a5" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0b07c318-f7f9-4aba-8888-892659b8e769", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1e6de055-9fb0-4416-9ca2-7634b2a85ef1\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:52:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:52:32Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:52:42 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7f606a32-68cb-4e11-9fb4-124dff2a7766" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "105", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "85e30ab9-d61f-4d26-b9e5-6f3da19beddc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1e6de055-9fb0-4416-9ca2-7634b2a85ef1\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:52:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:52:44Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:52:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15c5feb7-11c8-43f2-bede-b9961def7722" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "166", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e769431e-5f01-4aec-94bd-4b6eb843e012", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1e6de055-9fb0-4416-9ca2-7634b2a85ef1\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:52:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:52:44Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:52:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "603b10e5-e2de-4fa2-8be3-b2fcb427b735" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "412", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9731c1cb-6cbb-4a30-9f5c-f3d99b946b98", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"fd7da58a-a35b-4fcb-a4b2-94da2e1c5143\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625766769}", - "Date" : "Wed, 07 Jul 2021 17:52:49 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fd7da58a-a35b-4fcb-a4b2-94da2e1c5143" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e6de055-9fb0-4416-9ca2-7634b2a85ef1/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cb7a0f6c-f41f-4971-b7b5-f92d5a6b19cc", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "126", - "x-envoy-upstream-service-time" : "3", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "910bed5c-298d-4b42-b300-9ba43540d5dd", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1002\",\"message\":\"Copy request is invalid. Field 'TargetResourceRegion' must be a valid Azure region name.\"}}", - "Date" : "Wed, 07 Jul 2021 17:52:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopy[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopy[1].json deleted file mode 100644 index e805b43d2dca7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCopy[1].json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0489aaa8-56b8-4a20-86d5-dc1ab1108397", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "433", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6d46518b-5c60-4f49-a6e0-d88787c2e498", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:19 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "606f8513-10d0-4e80-bba1-b11aa95ae2c8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4c5f3dd2-658d-4bee-9636-7d247f716860", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d78c6682-529a-4b3d-b977-8156b626fb00\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:19Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d849c592-0596-4250-aea7-919befc4ab57" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "719b13d9-5c39-414f-b723-37f7510ffc09", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d78c6682-529a-4b3d-b977-8156b626fb00\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:19Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2b350709-26ab-49e5-9062-2a1bf53779ba" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9ea4a855-3459-4d03-8c22-e20f52b57e21", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d78c6682-529a-4b3d-b977-8156b626fb00\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:19Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7cbfca92-aad0-4a5c-9fd1-4351fc4b3bed" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "699fb39b-0844-48a8-b632-1bc56b7d1514", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d78c6682-529a-4b3d-b977-8156b626fb00\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b900274a-6f8f-4554-a64a-cd00680a9cc2" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2cb53354-51f4-4871-853c-094447836025", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d78c6682-529a-4b3d-b977-8156b626fb00\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:19Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2a1cc4a6-f265-4c92-b085-ac3359507f73" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "270", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0d6b1b41-70b1-456d-a313-3e11e2ca6a5b", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"1e3f13a1-8c40-4ed8-abba-e98c7ebd1976\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625725780}", - "Date" : "Wed, 07 Jul 2021 06:29:40 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1e3f13a1-8c40-4ed8-abba-e98c7ebd1976" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3de1eabb-2a4c-4ac0-bb91-2d37dfe9108b", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "52", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4f848641-7315-4351-ac53-3df566410fc2", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00/copyresults/fd717875-e1de-472c-bc93-e18162683dcb", - "Date" : "Wed, 07 Jul 2021 06:29:40 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00/copyResults/fd717875-e1de-472c-bc93-e18162683dcb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c2f43fd-2342-4ff2-a12c-cfa4993da66d" - }, - "Response" : { - "content-length" : "188", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c7fac271-dadb-43bc-8a1d-eda5e534d447", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:42.9465581Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:42.9465601Z\",\"copyResult\":{\"modelId\":\"1e3f13a1-8c40-4ed8-abba-e98c7ebd1976\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d78c6682-529a-4b3d-b977-8156b626fb00/copyResults/fd717875-e1de-472c-bc93-e18162683dcb", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ddccba38-5947-4f8f-abaa-700c8d715dc1" - }, - "Response" : { - "content-length" : "188", - "x-envoy-upstream-service-time" : "12", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1056cfe3-373c-4cfc-b78c-182512bfd424", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:42.9465581Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:42.9465601Z\",\"copyResult\":{\"modelId\":\"1e3f13a1-8c40-4ed8-abba-e98c7ebd1976\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedDuplicateModels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedDuplicateModels[1].json deleted file mode 100644 index eebc96b4533bc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedDuplicateModels[1].json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b13d4675-f859-4877-b828-e1307c35f0d5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "406", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92e99875-a11d-4972-a332-cb8c0f82f0e4", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:27 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6fd0de39-f474-4420-8775-cfba6264447e" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6fd0de39-f474-4420-8775-cfba6264447e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5bed902d-621c-4476-b05e-81ae406251d1" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "221da0bc-040c-4f6d-988c-a76357e85886", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6fd0de39-f474-4420-8775-cfba6264447e\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:31Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6fd0de39-f474-4420-8775-cfba6264447e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f51e5ddf-73d8-4d37-a543-21489c130f84" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a5b31fd7-f8c3-474b-9642-f2c3e2b65ca3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6fd0de39-f474-4420-8775-cfba6264447e\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:28Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:31Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9f1af49b-42ac-419b-97cd-3afac16e797d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4e96220b-b754-430f-8307-711fd432ad8f", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Parameter 'ModelIds' is either null or has less than two unique models.\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6fd0de39-f474-4420-8775-cfba6264447e", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c9e0913c-97f4-4e97-a2d7-5ecc0de28d36" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc732e04-9576-4de1-a3c4-03c16fb7a9ba", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:33 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModelWithOptions[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModelWithOptions[1].json deleted file mode 100644 index 331a259171ac4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModelWithOptions[1].json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "61bc6ab9-141d-4905-b1cc-2cd5fee8bd19", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "418", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "23937f35-a39e-4703-bf36-ab1334636a0a", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:12 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/236f77eb-81d8-444d-a74e-a0d104297bf7" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/236f77eb-81d8-444d-a74e-a0d104297bf7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "76738573-6c77-4f62-8296-75457e2a5235" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "14", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4f98dc00-a87a-45ca-817d-ab49d85479e6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"236f77eb-81d8-444d-a74e-a0d104297bf7\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:15Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/236f77eb-81d8-444d-a74e-a0d104297bf7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "19cb9b0f-e051-4ac4-9df2-62d680c63f44" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "171d649f-4d31-4735-8698-6dcd587be470", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"236f77eb-81d8-444d-a74e-a0d104297bf7\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:12Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:15Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "42e2c5ad-7a42-415a-b19a-44f92c702ad9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "399", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8ebb82fd-e1a2-4bb5-a7ba-64effdc5923a", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2335d5c1-90b6-4fa2-bd3e-1003d08883de" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2335d5c1-90b6-4fa2-bd3e-1003d08883de?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6e50f5d2-b9ee-4d92-a4fc-2e4522936073" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "15e72ed4-4706-4349-bd99-5fbbb2091d1f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2335d5c1-90b6-4fa2-bd3e-1003d08883de\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:21Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2335d5c1-90b6-4fa2-bd3e-1003d08883de?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "963e341e-cd6e-4003-b8a9-53d80f646065" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f2f9c844-87fd-439c-97cc-c974d4d625db", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2335d5c1-90b6-4fa2-bd3e-1003d08883de\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:21Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "72026a0c-27d5-4a54-848f-8b90a46c3bd8", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "377", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5b6c6f40-36f5-4404-b5a0-e0c630730465", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:23 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd3f3f36-ea73-4c70-8e2e-50c3457243de" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd3f3f36-ea73-4c70-8e2e-50c3457243de?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7ccb60ca-3946-4350-abec-9055a456e09d" - }, - "Response" : { - "content-length" : "2416", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6bcf9d53-d967-4a32-b9bf-7e600fb00d04", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cd3f3f36-ea73-4c70-8e2e-50c3457243de\",\"modelName\":\"composedModelDisplayName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:24Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"236f77eb-81d8-444d-a74e-a0d104297bf7\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"2335d5c1-90b6-4fa2-bd3e-1003d08883de\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd3f3f36-ea73-4c70-8e2e-50c3457243de?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dada6de0-da29-4d49-aa41-bf988e7055d6" - }, - "Response" : { - "content-length" : "2416", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a05a369f-96ae-4b22-bfec-0b985baa6bef", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cd3f3f36-ea73-4c70-8e2e-50c3457243de\",\"modelName\":\"composedModelDisplayName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:24Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"236f77eb-81d8-444d-a74e-a0d104297bf7\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"2335d5c1-90b6-4fa2-bd3e-1003d08883de\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:29:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/236f77eb-81d8-444d-a74e-a0d104297bf7", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1942d4e7-0e86-4deb-92ce-7abb9058bc83" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6468d715-3d4d-4fa3-a73b-f18008ed4399", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2335d5c1-90b6-4fa2-bd3e-1003d08883de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4977dab9-dfbf-406f-889a-cc57a812ce13" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5579ce79-b4f4-4f25-82de-83b6f3d986b7", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cd3f3f36-ea73-4c70-8e2e-50c3457243de", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4b559d40-0f91-497f-bc7b-a40fdbe80be7" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6c4770fc-e5a0-43a4-bb3f-607dd2b43bd5", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModel[1].json deleted file mode 100644 index d6d8365ffd715..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedModel[1].json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "53bdefbe-cf33-421a-8a65-dfbb6aa13f0f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "400", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2cb18478-ff29-44fb-8c46-26da76b26564", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:08 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2c1d66a0-b786-400e-87d7-fbdbb41be0a0" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2c1d66a0-b786-400e-87d7-fbdbb41be0a0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90661ac0-abf3-4589-918e-720e8146a264" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "572e6b9c-67b4-4ba3-a8ac-6d94fb755359", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2c1d66a0-b786-400e-87d7-fbdbb41be0a0\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2c1d66a0-b786-400e-87d7-fbdbb41be0a0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3ad9466c-0af0-4f76-8055-c4d5220bbc16" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97fe3ace-258f-41bf-80a2-65e0488ed967", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"2c1d66a0-b786-400e-87d7-fbdbb41be0a0\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8453d7b1-022e-483f-917c-77cdf3ad9900", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "400", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0c39bf64-a3a1-499f-83c8-0a3252cbea9c", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:14 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3a6cb740-de43-4460-b3f4-c3682b593127" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3a6cb740-de43-4460-b3f4-c3682b593127?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "46a7b95d-f9c1-4dff-bb7e-b29688776146" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8257e60c-b97c-46ef-b78e-5171ca823169", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3a6cb740-de43-4460-b3f4-c3682b593127\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:17Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3a6cb740-de43-4460-b3f4-c3682b593127?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5ae71400-1185-4ff1-abf2-20a1b7dc49a0" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a8b039bf-4624-4e2e-819d-d9cf4cc51842", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3a6cb740-de43-4460-b3f4-c3682b593127\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:14Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:17Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "09a19aab-3674-4dc1-8f84-9b2296af32ed", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "439", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "af632b64-ceef-4aca-be97-7fd31b0044c6", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:20 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/42b933a9-1104-42c1-a967-dc54c5ba7991" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/42b933a9-1104-42c1-a967-dc54c5ba7991?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "971e7ae9-142c-46d1-ac57-1d02376231ee" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "779738c2-2e44-4a7c-8426-8aed42ee7dc6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"42b933a9-1104-42c1-a967-dc54c5ba7991\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:21Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"2c1d66a0-b786-400e-87d7-fbdbb41be0a0\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"3a6cb740-de43-4460-b3f4-c3682b593127\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/42b933a9-1104-42c1-a967-dc54c5ba7991?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d47c934d-e62a-453f-ab63-80880e6427ac" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7f5c0898-97ac-4e5f-a3d9-3410f4c9ad78", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"42b933a9-1104-42c1-a967-dc54c5ba7991\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:20Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:21Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"2c1d66a0-b786-400e-87d7-fbdbb41be0a0\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"3a6cb740-de43-4460-b3f4-c3682b593127\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/2c1d66a0-b786-400e-87d7-fbdbb41be0a0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "192b1fd7-83d1-4b0c-8399-a0a5f367ec8f" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f699ea82-151b-4ad8-a88b-05f90403d5ab", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3a6cb740-de43-4460-b3f4-c3682b593127", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b533f4c8-43f3-4080-a737-708b49ca21aa" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "18a7e480-0b1b-44d1-a7b1-85012a4f5ca5", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/42b933a9-1104-42c1-a967-dc54c5ba7991", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9d84ec4d-3332-48f2-915d-253bd69d1276" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3d5b8fd4-23aa-410a-a236-280082c91f17", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:25 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedUnlabeledModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedUnlabeledModel[1].json deleted file mode 100644 index cd215a4f7957b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginCreateComposedUnlabeledModel[1].json +++ /dev/null @@ -1,261 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bc1c5e7a-18f6-4ee6-9ce1-e3a3830ddd97", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "431", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b65526f9-cfdb-4eab-9dcb-1a0578ccda30", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d8dd427f-3f0c-4240-b4c7-b604914e2d37" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fe7a10a6-7f82-4549-a64d-c49350da01d0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b086ffa2-dba0-4e72-be3a-eb9612ada4d8\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:02Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "78577ba8-d476-4dcf-8dd3-46fb85c8e41c" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e969bfbe-ecd8-4302-baa8-0d14ed11b8ec", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b086ffa2-dba0-4e72-be3a-eb9612ada4d8\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:02Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:12 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "11c7d942-602d-4800-aded-4d6bb1293aa2" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b2bb9fea-7f56-4a27-89ad-88d74c6d35eb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b086ffa2-dba0-4e72-be3a-eb9612ada4d8\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:17Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b93579fa-ceba-49f7-8c8c-6ec9accc7bc2" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8e80f70c-db29-44b4-a5bd-2a3bd36c4bd5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b086ffa2-dba0-4e72-be3a-eb9612ada4d8\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:02Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:17Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0f303e0a-f890-48ee-a078-aa785135afa0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "416", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6c17c8ff-60c2-4f62-8348-2695c7066e49", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:17 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66c4a654-5d0e-49a9-8652-b689c441f73e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "15", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6373be4d-1856-450a-81ea-fb36f1c78d85", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"580ab76e-1fba-479e-b75f-036304b8c0cd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:23 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3b2829a8-9e28-4824-9aa3-631e2421c06d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6821f6e6-982c-4e2b-83f1-dee26dc14de3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"580ab76e-1fba-479e-b75f-036304b8c0cd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:18Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0cb8eb66-3e70-49b3-9f33-85b8d5e02388" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "438ce535-5e69-40e1-9ee0-961242009331", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"580ab76e-1fba-479e-b75f-036304b8c0cd\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:32Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:33 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f366910d-9594-4547-92f6-f235bde8804e" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "40e2b44d-66c5-4f81-b4a5-90b49736e17b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"580ab76e-1fba-479e-b75f-036304b8c0cd\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:18Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:32Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5123f8ef-29f1-4e86-b809-86cc2cfe2b66", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "156", - "x-envoy-upstream-service-time" : "56", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8c8ea819-e536-4392-8439-d1225a78b3a2", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready or has incompatible API version, Model Id: b086ffa2-dba0-4e72-be3a-eb9612ada4d8\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b086ffa2-dba0-4e72-be3a-eb9612ada4d8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b247d4c8-ea1a-4cac-9ebf-b9794001a27b" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "40", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7ea05383-3832-43a0-8f91-91e273ef8e40", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/580ab76e-1fba-479e-b75f-036304b8c0cd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ebc6224f-4b34-4613-80a6-17c23916e98c" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "39", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "805ddf0f-5e20-4326-9bf0-4810ba4883dd", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:34 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingLabeledModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingLabeledModelName[1].json deleted file mode 100644 index f5f3391af0615..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingLabeledModelName[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88d43ed7-16d2-4520-9afe-be138d386529", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "406", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "09b9a3e7-dd6d-4716-b967-cdff8455d630", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4869288-6306-46a5-bb63-71455cdd40cf" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4869288-6306-46a5-bb63-71455cdd40cf?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "976fe6cc-6399-41de-9f81-f5bf6791a40e" - }, - "Response" : { - "content-length" : "1282", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2a7c4627-03e2-41db-891f-8d888dd155b3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c4869288-6306-46a5-bb63-71455cdd40cf\",\"modelName\":\"model trained with labels\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4869288-6306-46a5-bb63-71455cdd40cf?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4013d019-064d-4a7b-8dd2-2c614f7208fb" - }, - "Response" : { - "content-length" : "1282", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c209dc47-c0bc-4479-94a1-4183ac391b01", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c4869288-6306-46a5-bb63-71455cdd40cf\",\"modelName\":\"model trained with labels\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c4869288-6306-46a5-bb63-71455cdd40cf?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b7b7c950-b388-4683-8403-5e749fc30f50" - }, - "Response" : { - "content-length" : "1282", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8832e471-39f5-46cd-a52b-eee90970be74", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c4869288-6306-46a5-bb63-71455cdd40cf\",\"modelName\":\"model trained with labels\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingNullInput[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingNullInput[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingNullInput[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingUnlabeledModelName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingUnlabeledModelName[1].json deleted file mode 100644 index 34c6ebe137e1c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingUnlabeledModelName[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "40571218-1277-4fec-8d0f-ffce69115ab9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "412", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "319cc3d6-dde6-4623-ad23-21e739ad91ee", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:46 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c6f4b11a-b779-495b-91af-1ec2999f1c46" - }, - "Response" : { - "content-length" : "201", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "86dedbaa-c092-434e-a711-5c9dc4659a3c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"170f15ea-0387-45d3-b28d-b3e1c2eb7575\",\"modelName\":\"modelDisplayName\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:46Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "87ccf034-cc58-4b07-8893-916763d3e56f" - }, - "Response" : { - "content-length" : "201", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "990ec59a-861b-47d2-ab2e-aed1b1c0a3d7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"170f15ea-0387-45d3-b28d-b3e1c2eb7575\",\"modelName\":\"modelDisplayName\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:46Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1610fee4-e146-42e1-84eb-d9e021842a60" - }, - "Response" : { - "content-length" : "943", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d1aa8c0d-b590-43c6-bd14-00ee9c45e28d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"170f15ea-0387-45d3-b28d-b3e1c2eb7575\",\"modelName\":\"modelDisplayName\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88c07d60-8d55-4883-b091-f71c639b9fa2" - }, - "Response" : { - "content-length" : "943", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "735acfaa-c2ca-424d-bf1e-c441163e0d88", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"170f15ea-0387-45d3-b28d-b3e1c2eb7575\",\"modelName\":\"modelDisplayName\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/170f15ea-0387-45d3-b28d-b3e1c2eb7575?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "afffd878-8eaa-402a-bc7c-afc4c21b4ad2" - }, - "Response" : { - "content-length" : "943", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9427e95b-4673-459c-9ba9-ef447bcf369c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"170f15ea-0387-45d3-b28d-b3e1c2eb7575\",\"modelName\":\"modelDisplayName\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:46Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:30:00Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:30:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json deleted file mode 100644 index 113db8a8a6ab4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b7d714b8-b593-432d-b00b-4de33890f745", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "438", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b7bec0d6-43fc-4533-8212-f928a343be11", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:29 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/38d0a5c4-57ba-4770-b3ce-724aa6c88651" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/38d0a5c4-57ba-4770-b3ce-724aa6c88651?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "710de7dd-ca88-48cc-b342-ab3ee7721c33" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9af88dfa-fcd8-4be8-9425-18e5fdfdc984", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"38d0a5c4-57ba-4770-b3ce-724aa6c88651\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:33Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/38d0a5c4-57ba-4770-b3ce-724aa6c88651?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "19c8531b-15e8-444c-9fd3-f5c5081d280b" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1edafce2-3fd1-4e11-9a72-a34f65cd8370", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"38d0a5c4-57ba-4770-b3ce-724aa6c88651\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:30Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:33Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json deleted file mode 100644 index a24fd61f873cd..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9c07336-2a68-4ff8-bd87-94b06d73d745", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "678", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "40ea0d3c-f104-4d21-a898-f603af2ccdb6", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:38 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/701004d3-45bf-46cb-8d7a-eefe257e307b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/701004d3-45bf-46cb-8d7a-eefe257e307b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ef8add56-c387-4b94-927a-4ab1a4bc31f8" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fd96c760-461f-4601-9ec8-3bc1c108e527", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"701004d3-45bf-46cb-8d7a-eefe257e307b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:41Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/701004d3-45bf-46cb-8d7a-eefe257e307b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e765f711-ffd4-45a3-bd50-10b6f6e851de" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3916e5f5-e180-4544-8def-d8fc35fa4b48", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"701004d3-45bf-46cb-8d7a-eefe257e307b\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:41Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json deleted file mode 100644 index 9fb1627cd402f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "35d6ef24-6bde-493c-a823-09912e4a9016", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "446", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f0d62893-8160-4ba7-9632-d6770aca2f94", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b5c30e6f-b78b-4260-b072-85d2939a09b1" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b5c30e6f-b78b-4260-b072-85d2939a09b1?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6a349733-4172-46d4-92bf-5b7da33c3da3" - }, - "Response" : { - "content-length" : "403", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cc3b2004-ed3b-4b6f-90ed-4bc75a6a4fd7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b5c30e6f-b78b-4260-b072-85d2939a09b1\",\"status\":\"invalid\",\"createdDateTime\":\"2021-07-07T06:29:45Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:46Z\"},\"keys\":{\"clusters\":{}},\"trainResult\":{\"trainingDocuments\":[],\"errors\":[{\"code\":\"2014\",\"message\":\"No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements.\"}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:50 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2014" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json deleted file mode 100644 index a391a34416573..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6cfeb4f5-b734-4fec-9e14-ac833149979a", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "393", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "382e98f6-8369-4c92-9eb8-57a2292e5044", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:33 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d128e1b2-b0e5-4757-905b-24ff9104684c" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d128e1b2-b0e5-4757-905b-24ff9104684c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e84ed292-348b-4d15-840e-85cbb7f2e579" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8ee9c97f-1150-4856-966b-aa41d09aea8c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d128e1b2-b0e5-4757-905b-24ff9104684c\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:34Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d128e1b2-b0e5-4757-905b-24ff9104684c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7c4c4653-bba8-478c-ba48-629fc3d94d4e" - }, - "Response" : { - "content-length" : "489", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a540e0b6-8c1d-49a0-8784-d7058178f666", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d128e1b2-b0e5-4757-905b-24ff9104684c\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:42Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Name:\",\"Phone:\",\"Purchase Order #:\",\"Quantity\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"subfolder/Form_6.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d128e1b2-b0e5-4757-905b-24ff9104684c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5481b03-4cb2-45e4-8f9d-f9e8d6680104" - }, - "Response" : { - "content-length" : "489", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fc162757-32be-48a7-b9b7-df3f5835a536", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"d128e1b2-b0e5-4757-905b-24ff9104684c\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:42Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Name:\",\"Phone:\",\"Purchase Order #:\",\"Quantity\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"subfolder/Form_6.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json deleted file mode 100644 index 3eddbc822c4c8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "929a5d08-2428-4143-b370-2d204fc97d83", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "697", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f10aff61-9931-4ee2-82b0-59d80a7b97ed", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:49 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ecc56e36-e287-4763-be6c-71bc3e65d2b5" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f9382df9-6e0e-4612-b96c-1a6dbdb6e346", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "701ad1cb-a11d-4b33-8dac-e4a5ada37fdd" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "204", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9235496e-a592-44a5-8b29-0a9ff5f55a6f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "85aa3b39-1a9b-49e7-add4-b47b9f700aea" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "03623c95-0112-4e3a-8a0f-4c9e0a7f9036", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "94a22045-1e7c-4b03-8a78-e124c91fb0f5" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "48af2438-2510-44d1-99e2-eac49f572b9a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:49Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "181cf393-0495-4c35-a620-be9b3f332fba" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2157bd44-275b-48f3-8a61-4d926a18a716", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:10Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "93a8a65a-16f5-43fe-8ab2-fd962526924a" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6140148e-c8bb-4027-9720-7f39b2ba2f38", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1a3d0dd4-ee6d-4835-a21b-a79e59bbbbcd\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:49Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:10Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json deleted file mode 100644 index 06e7c78abfeae..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3c953dc5-0454-46b3-924e-a8ec59062250", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "444", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "631506e9-a105-487f-9bbc-d91ac7777498", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:35 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "464217e8-1212-4d9b-86ea-4d9e938252f8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9c537372-4cda-46af-b892-b1f55aa504c2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"913a1552-ff5f-4afa-8ce6-0907d4f3b16e\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:40 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a7c0e1bb-5ec4-4205-b09e-26f6d9a3d672" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9118b8b5-22c1-417d-906f-3a4a9f5e163d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"913a1552-ff5f-4afa-8ce6-0907d4f3b16e\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:45 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3186d5c4-bc7d-48e3-a263-b93258a075de" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "008da5cb-e3a3-4350-ba17-64712e47b9e4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"913a1552-ff5f-4afa-8ce6-0907d4f3b16e\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:35Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c098d1ab-f9c6-4226-89db-b4530b38160d" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e504437-c1f5-4b67-a932-43bcec25c4b9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"913a1552-ff5f-4afa-8ce6-0907d4f3b16e\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:52Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/913a1552-ff5f-4afa-8ce6-0907d4f3b16e?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8e6e9a19-9751-4c3e-8a5b-1aa864f503c5" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c682d2d7-a4b2-485a-84a5-18e162c08b41", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"913a1552-ff5f-4afa-8ce6-0907d4f3b16e\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:35Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:52Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json deleted file mode 100644 index fcca206fa1562..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "999b1f46-4feb-40d5-812d-fde64c51e0c0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "433", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d9e2907f-7f99-478e-bf97-2d0c65e77c8a", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:26 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/33c7aeb4-5715-4e28-9872-259d44d1fc1d" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/33c7aeb4-5715-4e28-9872-259d44d1fc1d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "403ae258-b816-42bf-afe1-d6a87c4f51aa" - }, - "Response" : { - "content-length" : "403", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f93df803-32a8-47dc-8147-e7609b7aeabd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"33c7aeb4-5715-4e28-9872-259d44d1fc1d\",\"status\":\"invalid\",\"createdDateTime\":\"2021-07-07T06:29:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:27Z\"},\"keys\":{\"clusters\":{}},\"trainResult\":{\"trainingDocuments\":[],\"errors\":[{\"code\":\"2014\",\"message\":\"No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements.\"}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:32 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2014" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json deleted file mode 100644 index ce4811dcf573a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "16cf6288-f086-4828-b49d-f6e5f87c4115", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "406", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "306062f8-2c4c-41be-9524-43314599b4f3", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:56 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ab5409fe-8cf9-41cd-a69a-a6fd905a7245" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ab5409fe-8cf9-41cd-a69a-a6fd905a7245?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "de4dcbe0-cf65-4efc-8c00-1425b4540318" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b652c422-6db6-405b-9e20-64172e924cb7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ab5409fe-8cf9-41cd-a69a-a6fd905a7245\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:57Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:57Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ab5409fe-8cf9-41cd-a69a-a6fd905a7245?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6fbf730-e258-49a7-bb6b-95845d652523" - }, - "Response" : { - "content-length" : "489", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2b20e480-0c3d-429a-835a-208bea164c93", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ab5409fe-8cf9-41cd-a69a-a6fd905a7245\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:57Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Name:\",\"Phone:\",\"Purchase Order #:\",\"Quantity\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"subfolder/Form_6.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ab5409fe-8cf9-41cd-a69a-a6fd905a7245?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ae1215ab-7e07-4e09-bb47-1355d6e7f732" - }, - "Response" : { - "content-length" : "489", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8d2c1b30-9069-4d44-80db-62b844695540", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ab5409fe-8cf9-41cd-a69a-a6fd905a7245\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:57Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Name:\",\"Phone:\",\"Purchase Order #:\",\"Quantity\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"subfolder/Form_6.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:07 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.copyAuthorization[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.copyAuthorization[1].json deleted file mode 100644 index c4e928b99d204..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.copyAuthorization[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e291ebce-5a60-4d9c-805e-d4f30a1d2e38" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "253", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "51df17a9-711d-43e3-906f-ef6ba0686557", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"dc978f73-3108-45a5-a59e-918162a383a0\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625725778}", - "Date" : "Wed, 07 Jul 2021 06:29:37 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/dc978f73-3108-45a5-a59e-918162a383a0" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelInvalidModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelInvalidModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelInvalidModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json deleted file mode 100644 index dab4a8d844518..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9322e922-265f-43c5-9d5d-af507383ccf1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "430", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "85bf53c8-c223-47d6-89d8-4eb910b63d9e", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:50 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "52d86020-7fdc-4608-8286-5798e567f345" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "76ca8904-747a-499d-b72b-65eb082a3a5c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"69a9f2c4-3f68-496c-8b74-abec7ba52aa0\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9b91626d-4d27-4971-91d6-c00b9b154dbc" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9d6a2aeb-a4ce-4ae0-aedc-4749ad953cd2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"69a9f2c4-3f68-496c-8b74-abec7ba52aa0\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "28e5222e-2ccf-44c0-95c6-e52d4f136e5c" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0bd0029c-ba8c-43e6-8756-9beb6096a742", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"69a9f2c4-3f68-496c-8b74-abec7ba52aa0\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dcc8138f-d0cf-4952-8a0d-5e6ead9240e5" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "75d3cd30-5242-40f0-b8dc-2d68e0dc11e2", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"69a9f2c4-3f68-496c-8b74-abec7ba52aa0\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "08b9899e-9462-47fa-9aa5-974cc743e1b1" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5040886a-1536-4eae-92f3-23ce9d3872fe", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:29:05 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/69a9f2c4-3f68-496c-8b74-abec7ba52aa0?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ebc1f9bf-bfce-4595-b106-9f206d075272" - }, - "Response" : { - "content-length" : "101", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2d9c3f89-be4b-4edb-8644-6dc1c1f19ace", - "retry-after" : "0", - "StatusCode" : "404", - "Body" : "{\"error\":{\"code\":\"1022\",\"message\":\"Model with 'id=69a9f2c4-3f68-496c-8b74-abec7ba52aa0' not found.\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponse[1].json deleted file mode 100644 index 742b540cb0acb..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.deleteModelValidModelIdWithResponse[1].json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0c69c1df-4b77-4766-8d80-3d9c75bb2be9", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "410", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c620b504-488d-4ab8-8324-9f5232409299", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c8b231ce-8c94-40c2-9e08-2de16b86d4ee" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c8b231ce-8c94-40c2-9e08-2de16b86d4ee?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "90be5901-ba88-4e74-814a-7d1760590772" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ed896d84-79d2-49b4-b8e6-30998a6e4255", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c8b231ce-8c94-40c2-9e08-2de16b86d4ee\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:18Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c8b231ce-8c94-40c2-9e08-2de16b86d4ee?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "39d78e51-f9ae-4c68-b542-d1a1da40e49a" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b4b96a36-ef93-4686-9f80-eab5e8208514", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"c8b231ce-8c94-40c2-9e08-2de16b86d4ee\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:15Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:18Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c8b231ce-8c94-40c2-9e08-2de16b86d4ee", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ba5cc724-6ec4-4a09-b9aa-be93e27b5148" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8fbf5b00-99a8-4502-b1d5-c2cd660a77fb", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/c8b231ce-8c94-40c2-9e08-2de16b86d4ee?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a5d93592-2487-4b18-8219-cba33fb1ead4" - }, - "Response" : { - "content-length" : "101", - "x-envoy-upstream-service-time" : "43", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c7979b70-4e66-4e34-bae9-b791af23704c", - "retry-after" : "0", - "StatusCode" : "404", - "Body" : "{\"error\":{\"code\":\"1022\",\"message\":\"Model with 'id=c8b231ce-8c94-40c2-9e08-2de16b86d4ee' not found.\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelInvalidModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelInvalidModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelInvalidModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelLabeled[1].json deleted file mode 100644 index 94c2f6680b860..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelLabeled[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5bdc289b-3fc4-450d-a896-cac401078fd0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1066", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cf786298-43b7-4d6d-91f6-04e4cc8ae97f", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:42 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/81be55f8-82f4-48f4-ac79-80fd8985b585" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/81be55f8-82f4-48f4-ac79-80fd8985b585?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "325bf3e5-f5c1-4074-b585-44118363745d" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "151", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c44d55ef-194c-4f8b-b253-d095b70f29d6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"81be55f8-82f4-48f4-ac79-80fd8985b585\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:46Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/81be55f8-82f4-48f4-ac79-80fd8985b585?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c3c25291-12a9-4d9f-a265-ab3222e95211" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dc9c8453-b393-4170-af8e-f0ecc7ab180c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"81be55f8-82f4-48f4-ac79-80fd8985b585\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:46Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelNullModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelNullModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelUnlabeled[1].json deleted file mode 100644 index 5d10dcfa0f46d..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelUnlabeled[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8c86bc91-bdd2-4559-aaf9-0d893df3ffe7", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "384", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d63eb9cb-49c7-400f-afcc-7471666b4b2d", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:06 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6c06935-d80f-4ae5-9031-98c15e08c021" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bf691d97-3cd1-40fd-bcb8-f7340585b583", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1c9c568c-8db0-4fa6-ba7d-79214c968a24\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4addcfb6-a136-47de-91df-b57584311d37" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "89005b04-5937-413d-9178-31dfec4d5fde", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1c9c568c-8db0-4fa6-ba7d-79214c968a24\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "94176c51-1445-4d6c-8ce1-1240b0a4190e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3b3e1fba-885c-4c06-bf8f-228c848b59ea", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1c9c568c-8db0-4fa6-ba7d-79214c968a24\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "933cecdf-ada2-4a66-b898-47281e3e5291" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "429ec1e9-7819-4828-9e7d-9a1327fab1e4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1c9c568c-8db0-4fa6-ba7d-79214c968a24\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1c9c568c-8db0-4fa6-ba7d-79214c968a24?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5e26f329-992f-4eeb-a315-c4d636adf640" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f0d8eb69-194d-47e8-a6b2-369e725fb1a4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1c9c568c-8db0-4fa6-ba7d-79214c968a24\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelWithResponse[1].json deleted file mode 100644 index 085d54ea9da21..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getCustomModelWithResponse[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f34a1273-df17-4322-bde6-79eaad962ff0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "437", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "413f9847-9b6f-4280-b9f1-09fe02f0cd14", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:29:36 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a1c1d74d-30b1-425d-8fba-2c92eda49583" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e35eb29c-f212-4000-b3ff-9fa98587f39e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e90dcbcd-b816-463d-a5b7-257068dfe9a9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:36Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:41 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "18049146-b874-4a21-a096-a5d8cc8ef395" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7875c422-8715-42cf-bde3-17bc7cf74f98", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e90dcbcd-b816-463d-a5b7-257068dfe9a9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:36Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3a89bd3-e466-4a80-b1ce-4950dd33fbc0" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1c573403-113b-461e-a1bd-0913e2f8b849", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e90dcbcd-b816-463d-a5b7-257068dfe9a9\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:29:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:36Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6285a6b-3f24-4f6e-a351-5b958afcbdcf" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bf97ea99-4297-4d55-9896-b78451ff132a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e90dcbcd-b816-463d-a5b7-257068dfe9a9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:55Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e90dcbcd-b816-463d-a5b7-257068dfe9a9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bdab8258-ec35-426b-a760-f9891c438744" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9cee4ac2-45cd-4a32-804d-f28efb5d63f6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e90dcbcd-b816-463d-a5b7-257068dfe9a9\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:29:36Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:55Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getFormRecognizerClientAndValidate[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getFormRecognizerClientAndValidate[1].json deleted file mode 100644 index 57874b78dd800..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.getFormRecognizerClientAndValidate[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9ef21950-cf36-4cb6-8928-bc0f23fb790d", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "119", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "94e27cea-9ee6-4e89-85c2-6c7bcbe3b3a5", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/94e27cea-9ee6-4e89-85c2-6c7bcbe3b3a5", - "Date" : "Wed, 07 Jul 2021 06:29:32 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/94e27cea-9ee6-4e89-85c2-6c7bcbe3b3a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "84abdbc7-9713-48fa-b4ac-77fa2abcf5e5" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ae912747-6c54-4789-b0c8-d65ca883540c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:36Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:36 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/94e27cea-9ee6-4e89-85c2-6c7bcbe3b3a5", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ed1c1663-4a79-42bb-87d1-161d5a71c993" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "644f3095-4377-404f-b920-06fad2d848d4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:29:32Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:36Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:29:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountPropertiesWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountPropertiesWithResponse[1].json deleted file mode 100644 index 4e27baf047af7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountPropertiesWithResponse[1].json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "341d5bb2-33a8-41fb-a4e3-be92f59c5728" - }, - "Response" : { - "content-length" : "84", - "x-envoy-upstream-service-time" : "67", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a5694c58-70f2-4863-9a9f-e591ecdaa703", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":465,\"limit\":20000,\"lastUpdatedDateTime\":\"2021-05-11T22:59:18Z\"}}", - "Date" : "Tue, 11 May 2021 22:59:18 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountProperties[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountProperties[1].json deleted file mode 100644 index 792a1bff8edbe..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingAsyncClientTest.validGetAccountProperties[1].json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "4198bdc2-8b2f-40ac-8f24-8e90ceea05cf" - }, - "Response" : { - "content-length" : "84", - "x-envoy-upstream-service-time" : "50", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7cce2959-ed0c-414b-829e-e46342fcf185", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":465,\"limit\":20000,\"lastUpdatedDateTime\":\"2021-05-11T22:57:09Z\"}}", - "Date" : "Tue, 11 May 2021 22:57:08 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderDefaultPipeline[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderDefaultPipeline[1].json deleted file mode 100644 index 971527561e65f..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderDefaultPipeline[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "15b30552-4451-4df7-b620-270a9e544186", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "121", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "61b3b8df-fa9a-412f-88aa-b9dc170b9c9f", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/61b3b8df-fa9a-412f-88aa-b9dc170b9c9f", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/61b3b8df-fa9a-412f-88aa-b9dc170b9c9f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ece0433e-1e34-4de2-8159-a14b921a0261" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "53", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5e4cfa4d-c5b6-4069-b344-80a1d7054022", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/61b3b8df-fa9a-412f-88aa-b9dc170b9c9f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c5f4ab1c-b18b-438f-a12f-fdcb3e2ea86b" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "177dd1b1-22f3-444c-8023-cb4508ac2a60", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:53Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:55Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidEndpoint[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidEndpoint[1].json deleted file mode 100644 index 89bdf07c68486..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidEndpoint[1].json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b4e1364-cc98-4e82-a108-ec7cd3209baf", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b4e1364-cc98-4e82-a108-ec7cd3209baf", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b4e1364-cc98-4e82-a108-ec7cd3209baf", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "8b4e1364-cc98-4e82-a108-ec7cd3209baf", - "Content-Type" : "application/json" - }, - "Response" : null, - "Exception" : { - "ClassName" : "java.net.UnknownHostException", - "ErrorMessage" : "failed to resolve 'notreal.azure.com' after 6 queries " - } - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidKeyCredential[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidKeyCredential[1].json deleted file mode 100644 index cf043d702a899..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderInvalidKeyCredential[1].json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b001d83c-c2ef-4e3f-a5e6-5e18eddfcdf9" - }, - "Response" : { - "content-length" : "224", - "apim-request-id" : "5074a480-af4e-4144-951d-5ff14bc9e404", - "retry-after" : "0", - "StatusCode" : "401", - "Body" : "{\"error\":{\"code\":\"401\",\"message\":\"Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource.\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderNullServiceVersion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderNullServiceVersion[1].json deleted file mode 100644 index 30bba653183a5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderNullServiceVersion[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "be79b402-4a7d-4cbf-9144-9a71ff51cf9d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "350", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "470d366d-ec93-40c3-a56d-338c9584eb13", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/470d366d-ec93-40c3-a56d-338c9584eb13", - "Date" : "Wed, 07 Jul 2021 06:27:40 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/470d366d-ec93-40c3-a56d-338c9584eb13", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "f13b3054-5e6b-4b28-9fce-2d35036f7bab" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "07b52905-ba96-40f9-b6d7-a4edd477875f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:41Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:43Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/470d366d-ec93-40c3-a56d-338c9584eb13", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "75908d74-a87a-454f-9cb4-aa47f1c58405" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "204", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "56d72e15-e7a4-443d-971e-21020bbe6301", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:41Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:43Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:46 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToInvalidKey[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToInvalidKey[1].json deleted file mode 100644 index d2d517480789b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToInvalidKey[1].json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7e1d904e-c274-4618-a1b8-06ea5762b348" - }, - "Response" : { - "content-length" : "224", - "apim-request-id" : "ae351179-66a1-4a03-bfdc-ed508f83de03", - "retry-after" : "0", - "StatusCode" : "401", - "Body" : "{\"error\":{\"code\":\"401\",\"message\":\"Access denied due to invalid subscription key or wrong API endpoint. Make sure to provide a valid key for an active subscription and use a correct regional API endpoint for your resource.\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToValidKey[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToValidKey[1].json deleted file mode 100644 index 3d36780aa87b9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientBuilderTest.trainingClientBuilderRotateToValidKey[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "69f0c4fa-bd9b-453f-a9f6-caee43239fb0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "105", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "faec6e1f-ab64-4922-9b80-1df1bb223575", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/faec6e1f-ab64-4922-9b80-1df1bb223575", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/faec6e1f-ab64-4922-9b80-1df1bb223575", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c40b8251-8de6-4419-8651-1ce83809d6bd" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "106", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bb3c0ab-8b0a-4def-b5cb-254a0871c163", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:51 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/faec6e1f-ab64-4922-9b80-1df1bb223575", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "eded43d3-26a4-46a4-88c3-cbe55d13b21c" - }, - "Response" : { - "content-length" : "24828", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "37b2f9a5-7228-42d7-9b06-b5efa2e835a6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:27:47Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:50Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":1700,\"height\":2200,\"unit\":\"pixel\",\"lines\":[{\"boundingBox\":[136,139,351,138,351,166,136,166],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[137,140,259,139,259,167,137,167],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[265,139,350,139,350,167,265,167],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[620,205,1074,204,1075,265,620,266],\"text\":\"Hero Limited\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[621,208,773,206,772,266,620,266],\"text\":\"Hero\",\"confidence\":0.994},{\"boundingBox\":[797,205,1062,205,1061,266,796,266],\"text\":\"Limited\",\"confidence\":0.996}]},{\"boundingBox\":[1112,321,1554,321,1554,369,1112,369],\"text\":\"Purchase Order\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1113,322,1367,321,1367,370,1113,368],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1386,321,1550,321,1549,370,1386,370],\"text\":\"Order\",\"confidence\":0.996}]},{\"boundingBox\":[163,352,528,350,528,376,163,379],\"text\":\"Company Phone: 555-348-6512\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[163,353,272,351,273,379,164,378],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[277,351,360,351,361,378,278,379],\"text\":\"Phone:\",\"confidence\":0.992},{\"boundingBox\":[365,351,525,351,525,374,366,378],\"text\":\"555-348-6512\",\"confidence\":0.994}]},{\"boundingBox\":[166,393,533,393,533,418,166,418],\"text\":\"Website: www.herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,394,268,393,268,418,167,417],\"text\":\"Website:\",\"confidence\":0.995},{\"boundingBox\":[273,393,524,393,524,418,273,418],\"text\":\"www.herolimited.com\",\"confidence\":0.982}]},{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[165,435,237,435,237,460,165,460],\"text\":\"Email:\",\"confidence\":0.994}]},{\"boundingBox\":[1024,419,1317,420,1317,448,1024,448],\"text\":\"Dated As: 12/20/2020\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1025,421,1104,420,1104,448,1025,448],\"text\":\"Dated\",\"confidence\":0.994},{\"boundingBox\":[1112,420,1158,420,1158,448,1112,448],\"text\":\"As:\",\"confidence\":0.998},{\"boundingBox\":[1163,420,1310,421,1310,449,1163,448],\"text\":\"12/20/2020\",\"confidence\":0.986}]},{\"boundingBox\":[164,479,482,478,483,502,164,503],\"text\":\"accounts@herolimited.com\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,481,471,479,470,503,165,503],\"text\":\"accounts@herolimited.com\",\"confidence\":0.965}]},{\"boundingBox\":[1023,461,1376,461,1376,489,1023,488],\"text\":\"Purchase Order #: 948284\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1023,461,1149,461,1150,489,1023,488],\"text\":\"Purchase\",\"confidence\":0.995},{\"boundingBox\":[1155,461,1238,461,1238,489,1155,489],\"text\":\"Order\",\"confidence\":0.996},{\"boundingBox\":[1243,461,1273,461,1273,489,1243,489],\"text\":\"#:\",\"confidence\":0.964},{\"boundingBox\":[1278,461,1371,462,1372,489,1279,489],\"text\":\"948284\",\"confidence\":0.996}]},{\"boundingBox\":[167,547,397,546,397,591,167,592],\"text\":\"Shipped To\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,547,328,547,328,592,168,592],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[341,547,392,547,391,591,340,592],\"text\":\"To\",\"confidence\":0.994}]},{\"boundingBox\":[159,609,520,609,520,638,159,638],\"text\":\"Vendor Name: Hillary Swank\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,611,252,610,251,638,160,637],\"text\":\"Vendor\",\"confidence\":0.996},{\"boundingBox\":[257,610,344,609,344,639,257,638],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[349,609,431,609,431,639,349,639],\"text\":\"Hillary\",\"confidence\":0.996},{\"boundingBox\":[436,609,520,610,519,639,436,639],\"text\":\"Swank\",\"confidence\":0.996}]},{\"boundingBox\":[159,647,629,646,629,677,160,679],\"text\":\"Company Name: Higgly Wiggly Books\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[160,649,278,647,279,678,161,676],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[283,647,369,647,369,679,284,678],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[375,647,453,646,453,679,375,679],\"text\":\"Higgly\",\"confidence\":0.996},{\"boundingBox\":[459,646,544,646,544,678,458,679],\"text\":\"Wiggly\",\"confidence\":0.996},{\"boundingBox\":[550,646,629,646,628,676,549,678],\"text\":\"Books\",\"confidence\":0.996}]},{\"boundingBox\":[160,684,526,684,526,712,160,711],\"text\":\"Address: 938 NE Burner Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[161,685,270,685,269,712,160,711],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[275,685,321,685,320,713,275,712],\"text\":\"938\",\"confidence\":0.998},{\"boundingBox\":[327,685,363,685,362,713,326,713],\"text\":\"NE\",\"confidence\":0.996},{\"boundingBox\":[368,685,455,685,454,713,367,713],\"text\":\"Burner\",\"confidence\":0.996},{\"boundingBox\":[460,685,523,685,522,713,459,713],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[279,722,566,721,566,750,279,751],\"text\":\"Boulder City, CO 92848\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[279,722,371,722,372,751,280,750],\"text\":\"Boulder\",\"confidence\":0.996},{\"boundingBox\":[376,722,433,722,433,751,377,751],\"text\":\"City,\",\"confidence\":0.996},{\"boundingBox\":[438,722,474,722,474,751,438,751],\"text\":\"CO\",\"confidence\":0.997},{\"boundingBox\":[483,722,561,722,560,749,483,751],\"text\":\"92848\",\"confidence\":0.996}]},{\"boundingBox\":[612,721,885,721,885,747,612,748],\"text\":\"Phone: 938-294-2949\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[613,722,704,722,704,749,613,749],\"text\":\"Phone:\",\"confidence\":0.994},{\"boundingBox\":[709,722,882,722,882,748,709,749],\"text\":\"938-294-2949\",\"confidence\":0.994}]},{\"boundingBox\":[167,784,453,784,453,829,167,830],\"text\":\"Shipped From\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[167,784,328,785,329,830,169,830],\"text\":\"Shipped\",\"confidence\":0.996},{\"boundingBox\":[338,785,435,785,434,827,338,830],\"text\":\"From\",\"confidence\":0.994}]},{\"boundingBox\":[165,852,445,851,445,878,165,879],\"text\":\"Name: Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,853,248,853,248,879,166,879],\"text\":\"Name:\",\"confidence\":0.986},{\"boundingBox\":[253,853,337,852,337,880,253,879],\"text\":\"Bernie\",\"confidence\":0.996},{\"boundingBox\":[342,852,445,852,445,879,342,880],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[164,889,629,889,629,919,164,919],\"text\":\"Company Name: Jupiter Book Supply\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[164,890,282,890,283,919,165,919],\"text\":\"Company\",\"confidence\":0.996},{\"boundingBox\":[288,890,373,889,374,919,289,919],\"text\":\"Name:\",\"confidence\":0.996},{\"boundingBox\":[379,889,467,889,467,919,380,919],\"text\":\"Jupiter\",\"confidence\":0.996},{\"boundingBox\":[473,889,538,889,538,920,473,919],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[543,889,630,890,629,920,543,920],\"text\":\"Supply\",\"confidence\":0.996}]},{\"boundingBox\":[165,925,521,926,521,953,165,952],\"text\":\"Address: 383 N Kinnick Road\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[166,926,275,925,274,953,166,953],\"text\":\"Address:\",\"confidence\":0.994},{\"boundingBox\":[280,925,325,925,324,953,280,953],\"text\":\"383\",\"confidence\":0.998},{\"boundingBox\":[330,925,345,926,345,953,330,953],\"text\":\"N\",\"confidence\":0.995},{\"boundingBox\":[358,926,448,926,447,954,357,953],\"text\":\"Kinnick\",\"confidence\":0.995},{\"boundingBox\":[453,926,516,927,516,954,452,954],\"text\":\"Road\",\"confidence\":0.994}]},{\"boundingBox\":[280,963,514,962,514,990,281,991],\"text\":\"Seattle, WA 38383\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[282,965,376,964,377,991,284,991],\"text\":\"Seattle,\",\"confidence\":0.994},{\"boundingBox\":[382,964,425,964,425,991,383,991],\"text\":\"WA\",\"confidence\":0.998},{\"boundingBox\":[435,964,513,962,514,990,436,991],\"text\":\"38383\",\"confidence\":0.996}]},{\"boundingBox\":[760,963,1032,963,1032,989,760,990],\"text\":\"Phone: 932-299-0292\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[760,964,849,964,848,990,760,990],\"text\":\"Phone:\",\"confidence\":0.996},{\"boundingBox\":[854,964,1028,963,1027,990,854,990],\"text\":\"932-299-0292\",\"confidence\":0.994}]},{\"boundingBox\":[446,1047,558,1047,558,1077,446,1077],\"text\":\"Details\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[447,1048,557,1048,557,1077,446,1078],\"text\":\"Details\",\"confidence\":0.994}]},{\"boundingBox\":[885,1047,1034,1047,1034,1083,886,1083],\"text\":\"Quantity\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[886,1048,1030,1047,1030,1084,886,1084],\"text\":\"Quantity\",\"confidence\":0.994}]},{\"boundingBox\":[1111,1047,1270,1047,1269,1078,1111,1077],\"text\":\"Unit Price\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1112,1047,1179,1047,1178,1078,1111,1078],\"text\":\"Unit\",\"confidence\":0.994},{\"boundingBox\":[1185,1047,1267,1048,1266,1078,1184,1078],\"text\":\"Price\",\"confidence\":0.996}]},{\"boundingBox\":[1382,1047,1468,1047,1467,1077,1382,1077],\"text\":\"Total\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1384,1047,1468,1047,1468,1077,1384,1077],\"text\":\"Total\",\"confidence\":0.996}]},{\"boundingBox\":[172,1093,279,1095,279,1123,172,1121],\"text\":\"Bindings\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[172,1094,278,1097,278,1123,173,1122],\"text\":\"Bindings\",\"confidence\":0.995}]},{\"boundingBox\":[859,1094,893,1094,893,1119,859,1119],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1094,888,1094,888,1119,860,1119],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1240,1096,1295,1094,1294,1118,1241,1118],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1095,1291,1094,1291,1117,1240,1118],\"text\":\"1.00\",\"confidence\":0.994}]},{\"boundingBox\":[1458,1095,1530,1095,1530,1119,1458,1119],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1096,1527,1095,1526,1120,1460,1119],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[169,1135,332,1134,333,1160,169,1161],\"text\":\"Covers Small\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1136,255,1136,254,1161,170,1161],\"text\":\"Covers\",\"confidence\":0.994},{\"boundingBox\":[260,1136,333,1135,332,1161,259,1161],\"text\":\"Small\",\"confidence\":0.996}]},{\"boundingBox\":[859,1135,894,1135,891,1160,860,1160],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[860,1135,888,1135,888,1160,860,1160],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1135,1295,1135,1294,1159,1239,1160],\"text\":\"1.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1135,1291,1135,1291,1160,1240,1160],\"text\":\"1.00\",\"confidence\":0.993}]},{\"boundingBox\":[1458,1135,1530,1135,1530,1159,1459,1160],\"text\":\"20.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1459,1135,1527,1135,1527,1160,1459,1160],\"text\":\"20.00\",\"confidence\":0.996}]},{\"boundingBox\":[173,1178,403,1177,403,1205,173,1206],\"text\":\"Feather Bookmark\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1180,266,1179,266,1206,174,1206],\"text\":\"Feather\",\"confidence\":0.996},{\"boundingBox\":[271,1179,399,1178,400,1206,271,1206],\"text\":\"Bookmark\",\"confidence\":0.995}]},{\"boundingBox\":[860,1179,892,1179,891,1204,860,1203],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1179,889,1179,889,1204,861,1203],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1179,1295,1178,1295,1203,1239,1204],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1179,1291,1178,1291,1203,1240,1204],\"text\":\"5.00\",\"confidence\":0.993}]},{\"boundingBox\":[1442,1180,1530,1180,1530,1203,1443,1204],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1443,1181,1525,1180,1525,1204,1443,1205],\"text\":\"100.00\",\"confidence\":0.994}]},{\"boundingBox\":[169,1223,429,1222,430,1249,169,1253],\"text\":\"Copper Swirl Marker\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[170,1223,259,1222,258,1253,170,1253],\"text\":\"Copper\",\"confidence\":0.996},{\"boundingBox\":[265,1222,328,1222,327,1251,264,1252],\"text\":\"Swirl\",\"confidence\":0.996},{\"boundingBox\":[334,1222,429,1223,428,1248,333,1251],\"text\":\"Marker\",\"confidence\":0.996}]},{\"boundingBox\":[860,1223,893,1223,893,1247,860,1247],\"text\":\"20\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[861,1223,888,1223,888,1247,861,1247],\"text\":\"20\",\"confidence\":0.999}]},{\"boundingBox\":[1239,1221,1294,1222,1294,1246,1239,1247],\"text\":\"5.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1240,1221,1292,1221,1292,1247,1240,1247],\"text\":\"5.00\",\"confidence\":0.986}]},{\"boundingBox\":[1443,1223,1530,1222,1530,1246,1444,1247],\"text\":\"100.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1444,1224,1526,1223,1525,1247,1444,1248],\"text\":\"100.00\",\"confidence\":0.062}]},{\"boundingBox\":[1146,1573,1296,1573,1296,1600,1146,1600],\"text\":\"SUBTOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1148,1575,1294,1575,1293,1600,1148,1600],\"text\":\"SUBTOTAL\",\"confidence\":0.995}]},{\"boundingBox\":[1426,1571,1530,1571,1530,1597,1426,1598],\"text\":\"$140.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1428,1572,1528,1572,1528,1597,1428,1599],\"text\":\"$140.00\",\"confidence\":0.995}]},{\"boundingBox\":[1236,1618,1296,1618,1295,1643,1236,1643],\"text\":\"TAX\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1237,1618,1290,1618,1290,1643,1237,1643],\"text\":\"TAX\",\"confidence\":0.997}]},{\"boundingBox\":[1458,1615,1529,1615,1528,1641,1458,1643],\"text\":\"$4.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1458,1615,1529,1615,1529,1642,1458,1643],\"text\":\"$4.00\",\"confidence\":0.992}]},{\"boundingBox\":[484,1670,764,1670,764,1707,484,1706],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"handwriting\",\"confidence\":0.785}},\"words\":[{\"boundingBox\":[484,1671,595,1671,595,1706,484,1706],\"text\":\"Bernie\",\"confidence\":0.993},{\"boundingBox\":[602,1671,761,1670,762,1708,602,1706],\"text\":\"Sanders\",\"confidence\":0.990}]},{\"boundingBox\":[1203,1673,1297,1673,1297,1698,1204,1699],\"text\":\"TOTAL\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1204,1674,1295,1673,1295,1699,1205,1699],\"text\":\"TOTAL\",\"confidence\":0.994}]},{\"boundingBox\":[1427,1670,1529,1669,1530,1696,1427,1697],\"text\":\"$144.00\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[1427,1671,1526,1669,1527,1697,1429,1698],\"text\":\"$144.00\",\"confidence\":0.983}]},{\"boundingBox\":[542,1718,718,1719,718,1742,542,1741],\"text\":\"Bernie Sanders\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[542,1719,616,1719,617,1742,544,1742],\"text\":\"Bernie\",\"confidence\":0.994},{\"boundingBox\":[621,1719,716,1719,716,1743,622,1742],\"text\":\"Sanders\",\"confidence\":0.996}]},{\"boundingBox\":[577,1753,681,1755,681,1778,577,1776],\"text\":\"Manager\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[577,1754,681,1756,680,1778,578,1776],\"text\":\"Manager\",\"confidence\":0.994}]},{\"boundingBox\":[172,1796,478,1796,478,1832,172,1831],\"text\":\"Additional Notes:\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[173,1796,354,1796,353,1832,173,1831],\"text\":\"Additional\",\"confidence\":0.993},{\"boundingBox\":[361,1796,479,1797,478,1833,360,1832],\"text\":\"Notes:\",\"confidence\":0.996}]},{\"boundingBox\":[174,1879,707,1880,707,1911,174,1908],\"text\":\"Do not Jostle Box. Unpack carefully. Enjoy.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[175,1881,204,1881,204,1907,175,1907],\"text\":\"Do\",\"confidence\":0.994},{\"boundingBox\":[209,1881,254,1880,254,1908,209,1907],\"text\":\"not\",\"confidence\":0.997},{\"boundingBox\":[259,1880,332,1880,332,1909,259,1908],\"text\":\"Jostle\",\"confidence\":0.996},{\"boundingBox\":[338,1880,399,1880,399,1909,338,1909],\"text\":\"Box.\",\"confidence\":0.994},{\"boundingBox\":[404,1880,499,1880,499,1910,404,1909],\"text\":\"Unpack\",\"confidence\":0.996},{\"boundingBox\":[504,1880,623,1880,623,1911,504,1910],\"text\":\"carefully.\",\"confidence\":0.994},{\"boundingBox\":[628,1880,707,1881,707,1912,628,1911],\"text\":\"Enjoy.\",\"confidence\":0.996}]},{\"boundingBox\":[168,1923,1510,1923,1510,1957,168,1958],\"text\":\"Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1924,269,1924,269,1959,169,1959],\"text\":\"Jupiter\",\"confidence\":0.994},{\"boundingBox\":[276,1924,354,1924,354,1958,276,1959],\"text\":\"Book\",\"confidence\":0.994},{\"boundingBox\":[361,1924,464,1924,464,1958,361,1958],\"text\":\"Supply\",\"confidence\":0.994},{\"boundingBox\":[471,1924,519,1924,519,1958,471,1958],\"text\":\"will\",\"confidence\":0.992},{\"boundingBox\":[526,1924,625,1924,624,1958,526,1958],\"text\":\"refund\",\"confidence\":0.996},{\"boundingBox\":[631,1924,688,1924,688,1958,631,1958],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[696,1924,762,1924,762,1958,695,1958],\"text\":\"50%\",\"confidence\":0.991},{\"boundingBox\":[769,1924,822,1924,821,1958,769,1958],\"text\":\"per\",\"confidence\":0.998},{\"boundingBox\":[829,1924,902,1924,901,1958,828,1958],\"text\":\"book\",\"confidence\":0.994},{\"boundingBox\":[909,1924,927,1924,927,1958,908,1958],\"text\":\"if\",\"confidence\":0.996},{\"boundingBox\":[934,1924,1063,1924,1062,1958,933,1958],\"text\":\"returned\",\"confidence\":0.991},{\"boundingBox\":[1069,1924,1157,1924,1156,1958,1069,1958],\"text\":\"within\",\"confidence\":0.996},{\"boundingBox\":[1164,1924,1203,1924,1201,1958,1162,1958],\"text\":\"60\",\"confidence\":0.997},{\"boundingBox\":[1209,1924,1283,1924,1281,1958,1208,1958],\"text\":\"days\",\"confidence\":0.994},{\"boundingBox\":[1290,1924,1319,1924,1318,1958,1288,1958],\"text\":\"of\",\"confidence\":0.999},{\"boundingBox\":[1326,1924,1441,1924,1440,1958,1325,1958],\"text\":\"reading\",\"confidence\":0.996},{\"boundingBox\":[1448,1924,1507,1924,1505,1958,1446,1958],\"text\":\"and\",\"confidence\":0.997}]},{\"boundingBox\":[168,1957,786,1958,786,1991,168,1991],\"text\":\"offer you 25% off you next total purchase.\",\"appearance\":{\"style\":{\"name\":\"other\",\"confidence\":0.878}},\"words\":[{\"boundingBox\":[169,1958,235,1958,235,1991,169,1991],\"text\":\"offer\",\"confidence\":0.991},{\"boundingBox\":[241,1958,296,1958,296,1992,241,1991],\"text\":\"you\",\"confidence\":0.994},{\"boundingBox\":[307,1958,373,1958,374,1992,308,1992],\"text\":\"25%\",\"confidence\":0.997},{\"boundingBox\":[380,1958,420,1958,421,1992,380,1992],\"text\":\"off\",\"confidence\":0.997},{\"boundingBox\":[427,1958,482,1958,482,1992,427,1992],\"text\":\"you\",\"confidence\":0.997},{\"boundingBox\":[489,1958,557,1959,557,1992,489,1992],\"text\":\"next\",\"confidence\":0.994},{\"boundingBox\":[563,1959,630,1959,630,1991,564,1992],\"text\":\"total\",\"confidence\":0.996},{\"boundingBox\":[636,1959,786,1961,786,1990,636,1991],\"text\":\"purchase.\",\"confidence\":0.994}]}]}],\"pageResults\":[{\"page\":1,\"tables\":[{\"rows\":5,\"columns\":4,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"Details\",\"boundingBox\":[156,1037,847,1037,847,1086,156,1086],\"elements\":[\"#/readResults/0/lines/21/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"Quantity\",\"boundingBox\":[847,1037,1071,1038,1071,1086,847,1086],\"elements\":[\"#/readResults/0/lines/22/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":2,\"text\":\"Unit Price\",\"boundingBox\":[1071,1038,1309,1038,1309,1086,1071,1086],\"elements\":[\"#/readResults/0/lines/23/words/0\",\"#/readResults/0/lines/23/words/1\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":3,\"text\":\"Total\",\"boundingBox\":[1309,1038,1543,1038,1543,1086,1309,1086],\"elements\":[\"#/readResults/0/lines/24/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"Bindings\",\"boundingBox\":[156,1086,847,1086,847,1127,156,1127],\"elements\":[\"#/readResults/0/lines/25/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1086,1071,1086,1071,1127,847,1127],\"elements\":[\"#/readResults/0/lines/26/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1086,1309,1086,1309,1127,1071,1127],\"elements\":[\"#/readResults/0/lines/27/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1086,1543,1086,1543,1127,1309,1127],\"elements\":[\"#/readResults/0/lines/28/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"Covers Small\",\"boundingBox\":[156,1127,847,1127,847,1171,156,1171],\"elements\":[\"#/readResults/0/lines/29/words/0\",\"#/readResults/0/lines/29/words/1\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1127,1071,1127,1071,1171,847,1171],\"elements\":[\"#/readResults/0/lines/30/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":2,\"text\":\"1.00\",\"boundingBox\":[1071,1127,1309,1127,1309,1171,1071,1171],\"elements\":[\"#/readResults/0/lines/31/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":3,\"text\":\"20.00\",\"boundingBox\":[1309,1127,1543,1127,1543,1171,1309,1171],\"elements\":[\"#/readResults/0/lines/32/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"Feather Bookmark\",\"boundingBox\":[156,1171,847,1171,847,1214,156,1214],\"elements\":[\"#/readResults/0/lines/33/words/0\",\"#/readResults/0/lines/33/words/1\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1171,1071,1171,1071,1214,847,1214],\"elements\":[\"#/readResults/0/lines/34/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1171,1309,1171,1309,1214,1071,1214],\"elements\":[\"#/readResults/0/lines/35/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1171,1543,1171,1543,1215,1309,1214],\"elements\":[\"#/readResults/0/lines/36/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":0,\"text\":\"Copper Swirl Marker\",\"boundingBox\":[156,1214,847,1214,847,1258,156,1258],\"elements\":[\"#/readResults/0/lines/37/words/0\",\"#/readResults/0/lines/37/words/1\",\"#/readResults/0/lines/37/words/2\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":1,\"text\":\"20\",\"boundingBox\":[847,1214,1071,1214,1071,1258,847,1258],\"elements\":[\"#/readResults/0/lines/38/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":2,\"text\":\"5.00\",\"boundingBox\":[1071,1214,1309,1214,1309,1258,1071,1258],\"elements\":[\"#/readResults/0/lines/39/words/0\"],\"isHeader\":false},{\"rowIndex\":4,\"columnIndex\":3,\"text\":\"100.00\",\"boundingBox\":[1309,1214,1543,1215,1543,1260,1309,1258],\"elements\":[\"#/readResults/0/lines/40/words/0\"],\"isHeader\":false}],\"boundingBox\":[153,1036,1547,1037,1547,1265,153,1265]},{\"rows\":4,\"columns\":2,\"cells\":[{\"rowIndex\":0,\"columnIndex\":0,\"text\":\"SUBTOTAL\",\"boundingBox\":[1070,1564,1307,1564,1308,1609,1071,1608],\"elements\":[\"#/readResults/0/lines/41/words/0\"],\"isHeader\":true},{\"rowIndex\":0,\"columnIndex\":1,\"text\":\"$140.00\",\"boundingBox\":[1307,1564,1544,1564,1544,1609,1308,1609],\"elements\":[\"#/readResults/0/lines/42/words/0\"],\"isHeader\":true},{\"rowIndex\":1,\"columnIndex\":0,\"text\":\"TAX\",\"boundingBox\":[1071,1608,1308,1609,1308,1652,1071,1653],\"elements\":[\"#/readResults/0/lines/43/words/0\"],\"isHeader\":false},{\"rowIndex\":1,\"columnIndex\":1,\"text\":\"$4.00\",\"boundingBox\":[1308,1609,1544,1609,1544,1652,1308,1652],\"elements\":[\"#/readResults/0/lines/44/words/0\"],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":0,\"text\":\"\",\"boundingBox\":[1071,1653,1308,1652,1308,1664,1071,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":2,\"columnIndex\":1,\"text\":\"\",\"boundingBox\":[1308,1652,1544,1652,1544,1665,1308,1664],\"elements\":[],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":0,\"text\":\"TOTAL\",\"boundingBox\":[1071,1664,1308,1664,1308,1707,1071,1707],\"elements\":[\"#/readResults/0/lines/46/words/0\"],\"isHeader\":false},{\"rowIndex\":3,\"columnIndex\":1,\"text\":\"$144.00\",\"boundingBox\":[1308,1664,1544,1665,1544,1707,1308,1707],\"elements\":[\"#/readResults/0/lines/47/words/0\"],\"isHeader\":false}],\"boundingBox\":[1058,1563,1555,1563,1555,1707,1058,1707]}]}]}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyIncorrectRegion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyIncorrectRegion[1].json deleted file mode 100644 index d928b5370e0e8..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyIncorrectRegion[1].json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "75d62943-1f59-4089-9a18-d08c4d897aab", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "664", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "85beb867-04e8-4c4f-95ad-dbc037bfb6e7", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 17:54:49 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c15ea2da-7dba-4e9c-81b1-289903c41b22" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "387ec339-25ca-49bc-92cb-05d6fe66eafd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:54:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:54:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:54:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a8a1b82b-468b-49ee-9506-c9821352749a" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "96", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "525653c8-2ddd-40d7-88f7-76120932128f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:54:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:54:50Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:55:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b35db0ad-d39a-401b-a169-ee5ce024b4a8" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "71919b94-7f50-4c2c-a5ae-550c018255e7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:54:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:55:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:55:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "810837d2-3ec3-49ed-bb51-974384de2cc0" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "586ac2a9-19f0-45a8-a239-b7d99339dc90", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:54:50Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:55:04Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:55:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2ac24e89-fece-4d0e-8cfa-39c9849942e0" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "421", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9135334d-39f7-46e4-b72d-4067e6c1999c", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"7da235d6-5ef9-41fc-82e3-98d520eb1806\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625766907}", - "Date" : "Wed, 07 Jul 2021 17:55:07 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7da235d6-5ef9-41fc-82e3-98d520eb1806" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "38b66b7e-fedb-4197-b6ad-150ab52082af", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "274", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8b63df1a-9cfc-45c3-97ff-c0866d5601c3", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a/copyresults/adaeed09-1f8d-4746-a3aa-e197d842d4e1", - "Date" : "Wed, 07 Jul 2021 17:55:08 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a/copyResults/adaeed09-1f8d-4746-a3aa-e197d842d4e1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e498f768-ea58-4f00-bb5b-02a30a6001f8" - }, - "Response" : { - "content-length" : "173", - "x-envoy-upstream-service-time" : "18", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66cf5d6e-d5e9-4c3d-8cde-2c48f54c2d0d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"notStarted\",\"createdDateTime\":\"2021-07-07T17:55:08Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:55:08Z\",\"copyResult\":{\"modelId\":\"7da235d6-5ef9-41fc-82e3-98d520eb1806\"}}", - "Date" : "Wed, 07 Jul 2021 17:55:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7f1b53f7-c854-4d6e-bc0b-d8e7039e5d5a/copyResults/adaeed09-1f8d-4746-a3aa-e197d842d4e1", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c988a9ec-b087-4ac3-809e-1e6ad7d4cc3e" - }, - "Response" : { - "content-length" : "559", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0a17c52f-700a-472d-bd51-f8ebf4fe1c2d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"failed\",\"createdDateTime\":\"2021-07-07T17:55:15.3175669Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:55:15.3175684Z\",\"copyResult\":{\"modelId\":\"7da235d6-5ef9-41fc-82e3-98d520eb1806\",\"errors\":[{\"code\":\"2024\",\"innerError\":{\"requestId\":\"0a17c52f-700a-472d-bd51-f8ebf4fe1c2d\"},\"message\":\"Could not fetch information for Cognitive resource with Id '/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/shafang/providers/Microsoft.CognitiveServices/accounts/shafangFR'. Ensure the resource is valid and exists in the specified region 'westus'..\"}]}}", - "Date" : "Wed, 07 Jul 2021 17:55:18 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2024" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyInvalidRegion[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyInvalidRegion[1].json deleted file mode 100644 index 775a68c1673f9..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopyInvalidRegion[1].json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e068fe00-f563-4018-ab58-67e9837f93ad", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "750", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5a3fe4b0-bdcc-44e4-9ecc-be45bea88a67", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 17:53:43 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5f32af8-d876-49b6-be3a-a07c2afe3a7a" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a07e01d0-9bcd-4dc5-b49c-11e21f40a46c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b1b6a8fc-7739-48ae-9bf4-10ce974e8293\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:53:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:53:43Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:53:48 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a525d30a-66c3-4399-a0c8-d005003d7a91" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f3286859-5c4d-4f98-bac3-0518a71d84eb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b1b6a8fc-7739-48ae-9bf4-10ce974e8293\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T17:53:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:53:43Z\"}}", - "Date" : "Wed, 07 Jul 2021 17:53:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ddb0f5d7-e67f-4ce8-96e6-ce946e1f3a52" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e9c736dd-122e-4094-aef6-63eb523de6ca", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b1b6a8fc-7739-48ae-9bf4-10ce974e8293\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:53:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:53:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:53:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b79c9c21-e97f-4311-a50a-719916a2d580" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5da260b5-4d74-474b-aa10-a7327a80d56d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"b1b6a8fc-7739-48ae-9bf4-10ce974e8293\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T17:53:43Z\",\"lastUpdatedDateTime\":\"2021-07-07T17:53:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 17:53:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5d22de4e-d391-452e-b5e7-5c8cb2a99eb6" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "285", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e43f7c30-f101-474d-a138-98732b830b6c", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"944d973c-b949-46ce-9749-12999a27b15d\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625766840}", - "Date" : "Wed, 07 Jul 2021 17:53:59 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/944d973c-b949-46ce-9749-12999a27b15d" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/b1b6a8fc-7739-48ae-9bf4-10ce974e8293/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6721c673-6d18-4022-a501-3935310c62d6", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "126", - "x-envoy-upstream-service-time" : "5", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e1186adb-5f21-4635-aacb-6541294284e2", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1002\",\"message\":\"Copy request is invalid. Field 'TargetResourceRegion' must be a valid Azure region name.\"}}", - "Date" : "Wed, 07 Jul 2021 17:53:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopy[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopy[1].json deleted file mode 100644 index 2807ec56eb1d4..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCopy[1].json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c061b27c-be67-428f-9c88-d362fb9216f1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "705", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "322fae3f-cc7d-4c30-88e3-a66c7d73c4db", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:05 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a8ba9b02-4938-4444-a319-9bc51f0b66ef" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "61006333-ed71-4ac1-9f23-9a999c003cae", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed3ac445-bba8-4ac3-ada9-13a1b0e12976\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:05Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b1280fca-832f-4252-ad2d-a2f042273187" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0bdc5e97-bcd8-4ac7-b53f-a3c55a46318c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed3ac445-bba8-4ac3-ada9-13a1b0e12976\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:05Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:14 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b7772596-77d7-49f3-b558-6f1139a1873c" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1d6ca68d-4813-4a59-b83d-c100ea212d58", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed3ac445-bba8-4ac3-ada9-13a1b0e12976\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:05Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:20 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "281eacaf-b7f7-463b-9e87-7a4cc699831b" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9b3b6b57-f58e-44ef-b452-bca8e4789d80", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed3ac445-bba8-4ac3-ada9-13a1b0e12976\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e8e15776-c066-43ff-8889-ffc0f0d9bb93" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97908713-987b-4b09-b78f-89601072973f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ed3ac445-bba8-4ac3-ada9-13a1b0e12976\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:05Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:22Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "936d7788-bfe7-4b4e-a5b3-e0b980c24143" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "249", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "13b6f0e4-d77a-4ff1-a118-5867e95c0eba", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"fcbccb11-0963-4620-a33a-95f3a75b2c6a\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625725706}", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/fcbccb11-0963-4620-a33a-95f3a75b2c6a" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976/copy", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bbb47b33-76b3-43b8-bdde-b1341e4ef4a5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "58", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "da23f9b4-6ace-413f-a9f9-5e5c6da12fdc", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976/copyresults/a1189f65-1662-49a3-8052-9d479812fab8", - "Date" : "Wed, 07 Jul 2021 06:28:26 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976/copyResults/a1189f65-1662-49a3-8052-9d479812fab8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b166163f-b3ea-4079-9b3e-e7a233aa1008" - }, - "Response" : { - "content-length" : "188", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4a7d259a-fbd4-4cd5-a6ea-9bfd5e199b75", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:30.2574923Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:30.2574928Z\",\"copyResult\":{\"modelId\":\"fcbccb11-0963-4620-a33a-95f3a75b2c6a\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ed3ac445-bba8-4ac3-ada9-13a1b0e12976/copyResults/a1189f65-1662-49a3-8052-9d479812fab8", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9b8d1722-a6b2-4ed9-91ec-7d2314f13682" - }, - "Response" : { - "content-length" : "188", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9958dcff-6071-4637-8907-ec80a3a1f186", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:30.2574923Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:30.2574928Z\",\"copyResult\":{\"modelId\":\"fcbccb11-0963-4620-a33a-95f3a75b2c6a\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedDuplicateModels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedDuplicateModels[1].json deleted file mode 100644 index 5a4402e62e0c7..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedDuplicateModels[1].json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3023a081-a97f-4680-8272-b73017101de0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "446", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b32d4deb-ef0a-4ecf-b16c-426186eb972b", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:50 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7e2e9eb1-889a-47d9-bcfd-07211de3a7e9" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7e2e9eb1-889a-47d9-bcfd-07211de3a7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4ac9f9af-0928-41e7-920e-cfa319e3e53f" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c84b0904-0289-47ac-842b-d70bf49348cd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7e2e9eb1-889a-47d9-bcfd-07211de3a7e9\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:54Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7e2e9eb1-889a-47d9-bcfd-07211de3a7e9?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1c79a736-c2e4-46e6-916a-48be11e17c4a" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "14d77263-3bd9-4cdc-8ce0-06daf379987f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"7e2e9eb1-889a-47d9-bcfd-07211de3a7e9\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:51Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:54Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dbed92fc-1ad1-480c-963b-bd4ddc7f11b2", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "109", - "x-envoy-upstream-service-time" : "41", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d80aefc4-bc12-4005-a2f4-a0b95072bde7", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Parameter 'ModelIds' is either null or has less than two unique models.\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:56 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/7e2e9eb1-889a-47d9-bcfd-07211de3a7e9", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "98c27b9f-d2ff-4f56-9b1f-4d3269750a7c" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "62e90f81-46a3-490b-a6c1-02d6e99f38d8", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:56 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModelWithOptions[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModelWithOptions[1].json deleted file mode 100644 index c28aa362ad16c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModelWithOptions[1].json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "20c79461-caaa-4243-a83d-12a6f5e9dd21", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "725", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "41f86625-2b48-4c25-808e-dce8cd7176f8", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:04 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bf8f7ac-3869-4e44-83a7-7eda53d12827" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bf8f7ac-3869-4e44-83a7-7eda53d12827?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cdf74ccd-dabb-4216-b442-5884b392715d" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "740ac9f1-ff86-4141-ad6f-e74ae7e51510", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1bf8f7ac-3869-4e44-83a7-7eda53d12827\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:09Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bf8f7ac-3869-4e44-83a7-7eda53d12827?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "849a3ade-f467-4cbc-9b66-6c6f2c869ca0" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c9ee0517-a4e8-455d-a5c8-a787d8183c00", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1bf8f7ac-3869-4e44-83a7-7eda53d12827\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:09Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "db9e9cf7-1827-473f-9a0a-8afe71f9bf38", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "402", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f747a0ac-29f8-4700-87c5-5859f10889a4", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:10 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "539cd600-15a9-40ae-b2f7-47bddc6f9570" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b394057f-0d58-43b0-a7d6-d70225abfe78", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "9178fb78-e924-449d-a59d-94fe1fab3d01" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "31", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7d01c060-e1ff-418a-8c5d-9634fb1bd281", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "548ca71f-6750-4c4f-9560-d090527254ea", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "461", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3a962cb9-b22d-4f35-a78e-799acbc481a6", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/968fdf7b-ec81-41da-a7af-d768caf4f65d" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/968fdf7b-ec81-41da-a7af-d768caf4f65d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ffe77795-b593-4fb8-abdb-b187564b5c0f" - }, - "Response" : { - "content-length" : "2416", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b170c212-f7c6-4c6e-907f-b8e82c047f4e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"968fdf7b-ec81-41da-a7af-d768caf4f65d\",\"modelName\":\"composedModelDisplayName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:17Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"1bf8f7ac-3869-4e44-83a7-7eda53d12827\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1bf8f7ac-3869-4e44-83a7-7eda53d12827", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "537c130e-5c2a-4d15-b832-836b9c525f13" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7db519f3-5cf3-41e7-bcc7-6edac44b3c5c", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "25412d33-c679-439e-948b-c709056f2034" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "870fdd19-954b-4c69-9c8c-39c5312dd1a3", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/968fdf7b-ec81-41da-a7af-d768caf4f65d", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e50aea1f-e37f-43a9-82d8-eae93ac364ce" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "96b0d5f2-955a-4854-9cbf-f89bba6e148b", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/968fdf7b-ec81-41da-a7af-d768caf4f65d?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5af516b7-ed98-40bf-9e5d-050ff9c6c5dd" - }, - "Response" : { - "content-length" : "2416", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "116899de-4fb1-42f2-bbdf-ecfee1448e91", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"968fdf7b-ec81-41da-a7af-d768caf4f65d\",\"modelName\":\"composedModelDisplayName\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:17Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"1bf8f7ac-3869-4e44-83a7-7eda53d12827\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"e4b37e5e-f810-4c9c-a6b7-81bfbd56c65f\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModel[1].json deleted file mode 100644 index 1a56817994996..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedModel[1].json +++ /dev/null @@ -1,258 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b540b3b7-f456-4726-bc6d-6c03eab825c0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "743", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d79ed2c8-14a7-4f67-a547-9385176e7b65", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:59 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cbc7749a-14d1-4c93-af89-268452dc521c" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cbc7749a-14d1-4c93-af89-268452dc521c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "dfb31572-99d8-4769-ac84-22c934f5050e" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8de94f92-ef5e-4d7b-90d6-bbe528d1dada", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cbc7749a-14d1-4c93-af89-268452dc521c\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:03Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cbc7749a-14d1-4c93-af89-268452dc521c?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7c27b1bc-61be-49aa-8bbd-b15f5f13ccc5" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8ff6a6c5-1fd5-40cd-a84d-6d2810c9896b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"cbc7749a-14d1-4c93-af89-268452dc521c\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:59Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:03Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:05 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a2fae5fd-59b6-4a32-b1c2-d2094cc1bc7f", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "734", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1e03240e-74d8-4b5c-aaf1-850831925afb", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:05 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ddbae47a-3e96-4cf5-ade4-7eed75d11abd" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ddbae47a-3e96-4cf5-ade4-7eed75d11abd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b1bf96a9-77ab-4c84-9a4b-d5716c519571" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9547dda3-f135-4766-9c17-ec73727a04d6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ddbae47a-3e96-4cf5-ade4-7eed75d11abd\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:06Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ddbae47a-3e96-4cf5-ade4-7eed75d11abd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e0d83772-51b9-465e-9757-3299712075e5" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "08d83f2c-8b15-4c4e-941f-6b4b91acd1eb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ddbae47a-3e96-4cf5-ade4-7eed75d11abd\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ddbae47a-3e96-4cf5-ade4-7eed75d11abd?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6b33964c-b6f9-489b-a021-92f729b4ec2f" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "97c716b9-fe7b-44b5-bdb9-1f56ff60e366", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ddbae47a-3e96-4cf5-ade4-7eed75d11abd\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:06Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:11Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "16543fc2-7b8c-46c2-80fd-7d2336d617c8", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "322", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6bccca1b-3350-4160-b77b-f678d70be9b3", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/99b99c43-71e0-47a5-a296-74332a20595b" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/99b99c43-71e0-47a5-a296-74332a20595b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "51e8f670-53d6-4246-afeb-9f02a1dfd67c" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2cd4739c-3571-4ac8-ab72-c0a4e8f299a1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"99b99c43-71e0-47a5-a296-74332a20595b\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:17Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"cbc7749a-14d1-4c93-af89-268452dc521c\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"ddbae47a-3e96-4cf5-ade4-7eed75d11abd\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:28:21 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/99b99c43-71e0-47a5-a296-74332a20595b?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e6f7d6d0-d188-4565-85e0-acdb9dfc05d2" - }, - "Response" : { - "content-length" : "2377", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "61640786-1a92-4509-83b8-ee961cab42b5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"99b99c43-71e0-47a5-a296-74332a20595b\",\"attributes\":{\"isComposed\":true},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:16Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:17Z\"},\"composedTrainResults\":[{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"cbc7749a-14d1-4c93-af89-268452dc521c\",\"errors\":[]},{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"modelId\":\"ddbae47a-3e96-4cf5-ade4-7eed75d11abd\",\"errors\":[]}]}", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/cbc7749a-14d1-4c93-af89-268452dc521c", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "4509ffd4-29cf-4258-93f9-1fe288d9303c" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3653d6a0-fb52-43eb-b8b2-6170b24f5af7", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ddbae47a-3e96-4cf5-ade4-7eed75d11abd", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cf7136a2-77ce-430e-a20e-073126a0e687" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "46", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bab8a9ce-cdfb-4c99-9331-230a0b8f76ba", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/99b99c43-71e0-47a5-a296-74332a20595b", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d3a7a149-2359-467c-9a52-5ff28bcaeece" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ecad3832-46dc-4322-9e01-d02c6798b6d2", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedUnlabeledModel[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedUnlabeledModel[1].json deleted file mode 100644 index 0e430de68ebdc..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginCreateComposedUnlabeledModel[1].json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "18994942-83fd-4758-afd6-0cb4824bcd0c", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "923", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ac10970f-68c5-4e31-b5b0-dfc8e86a1ae7", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:42 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "20c48d25-5097-4105-9c99-6e5e27b9644e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1ebf9bdc-a166-4cf3-a98a-a1be75d5f010", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3d2fe5af-3023-467c-9ae3-7ea1b35da817\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "106a438b-410c-4506-ba95-0a28acf3381e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "144", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8940476e-6ac2-4694-991e-96e206ba2e0f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3d2fe5af-3023-467c-9ae3-7ea1b35da817\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a28c1a32-045a-4676-9448-9ea4406e7092" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "78c1bf42-6a60-441f-8871-7ef7b1e009d6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3d2fe5af-3023-467c-9ae3-7ea1b35da817\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:58 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d5c1839e-2d5c-44d3-b1f5-83ab78255763" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e789ab8b-d998-4af3-9f44-fc2e45e2accd", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3d2fe5af-3023-467c-9ae3-7ea1b35da817\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:59Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "481391e3-4696-49cb-895c-0dbdd3d13bff" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "aefd374e-743d-40ea-8735-e24683b5b26b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"3d2fe5af-3023-467c-9ae3-7ea1b35da817\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:59Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "45cd74c7-bc95-4d1d-bb3a-ca4886e887e1", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "418", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "422828de-3fe7-47bd-8861-a33086b60d08", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:04 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "82861b79-d2c1-43f9-a368-1c6a14a53a3e" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c190e418-5a25-40ca-8bc6-bd163ee0c992", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"603d420e-8c1d-4919-b1a3-c5b4323cfe91\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:04Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5baaf53d-1f45-4745-85f7-12310b71ab6f" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "28", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4549c751-2952-41af-960a-db42ffcc66e5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"603d420e-8c1d-4919-b1a3-c5b4323cfe91\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:04Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:13 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ea371b9c-fa9b-4f18-aa8e-728ead0458f7" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "70783087-a38c-4a51-8869-35a682494084", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"603d420e-8c1d-4919-b1a3-c5b4323cfe91\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:04Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:19 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d7415955-8f67-43d6-89ca-107405f9e641" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "d91fe544-bef3-4529-9f61-4ff46dbc6028", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"603d420e-8c1d-4919-b1a3-c5b4323cfe91\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:20Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "86b141bb-4680-43e0-8648-53d391e738f4" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "dbdda79a-2b22-4951-8edf-f8855d0f2d35", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"603d420e-8c1d-4919-b1a3-c5b4323cfe91\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:04Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:20Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:24 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/compose", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c187eced-6a5e-4a75-b458-acc4a7ececd7", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "156", - "x-envoy-upstream-service-time" : "53", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "079edd9f-f99d-49eb-97ff-c69aaeae1acb", - "retry-after" : "0", - "StatusCode" : "400", - "Body" : "{\"error\":{\"code\":\"1001\",\"message\":\"Specified model not found or not ready or has incompatible API version, Model Id: 3d2fe5af-3023-467c-9ae3-7ea1b35da817\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:25 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/3d2fe5af-3023-467c-9ae3-7ea1b35da817", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e665478b-01cc-4930-8800-f24a9a9d36ea" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b3012af2-545b-42b5-aa66-488a676df626", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:24 GMT" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/603d420e-8c1d-4919-b1a3-c5b4323cfe91", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "de19e16f-5d52-4990-817a-13590375090a" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "34", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c3def7ea-95d1-44d5-9a6e-6328c6655956", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:25 GMT" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingLabeledModelDisplayName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingLabeledModelDisplayName[1].json deleted file mode 100644 index 5e996371af7d5..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingLabeledModelDisplayName[1].json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "87eb72a7-8bf1-49de-aa3b-d44c8c260231", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "438", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "045bd557-dd71-4b6d-9cf5-4988295489fe", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/20956b5a-6e56-425e-82f0-e6e9ac0f3007" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/20956b5a-6e56-425e-82f0-e6e9ac0f3007?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "de86fc5a-427a-4637-a03e-07b34d00087e" - }, - "Response" : { - "content-length" : "1273", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1ee78869-4f2f-4540-b256-9dccc4add0d0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"20956b5a-6e56-425e-82f0-e6e9ac0f3007\",\"modelName\":\"modelDisplayName\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:58Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:00 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/20956b5a-6e56-425e-82f0-e6e9ac0f3007?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7de58e93-6d7c-4523-8938-92943b3a3c63" - }, - "Response" : { - "content-length" : "1273", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "fa0ea6dc-e2ce-424a-8f6b-1bf63fd3e64b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"20956b5a-6e56-425e-82f0-e6e9ac0f3007\",\"modelName\":\"modelDisplayName\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:58Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/20956b5a-6e56-425e-82f0-e6e9ac0f3007?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "fc4601e0-6f3b-4799-a3dd-e34b6c115db1" - }, - "Response" : { - "content-length" : "1273", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "562ef7e0-4c6c-486b-8521-e61f796d4476", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"20956b5a-6e56-425e-82f0-e6e9ac0f3007\",\"modelName\":\"modelDisplayName\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:58Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingNullInput[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingNullInput[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingNullInput[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json deleted file mode 100644 index 90cf1536ebbb6..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForJPGTrainingSet[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "3881335f-0ef2-4d91-adbb-d0dab25075c0", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "401", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a40cd5fe-5255-4a09-a8d7-95f3fa56b2bf", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:22 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1056fdd7-6d68-4691-bf47-cb48cec1b428" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1056fdd7-6d68-4691-bf47-cb48cec1b428?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "db802370-dce1-49d6-857c-62acbba6b5fa" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "92401b85-73d7-4d53-86bd-8aab01b0b2d9", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1056fdd7-6d68-4691-bf47-cb48cec1b428\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:26Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:27 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/1056fdd7-6d68-4691-bf47-cb48cec1b428?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ee7fbd41-fa73-4a7e-be72-40891b08aadc" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ffad6843-dbb5-4b29-b9d9-3f9f3724d568", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"1056fdd7-6d68-4691-bf47-cb48cec1b428\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:26Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:28 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json deleted file mode 100644 index 36988a97c3bcd..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithTrainingLabelsForMultiPagePDFTrainingSet[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cd947e82-d2a3-4fa2-bb3b-46aac2e8cfe2", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "743", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0b235c70-2332-4144-b3e8-c57c59dd2691", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:33 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/10db500f-4b98-4f79-a9d9-584601e5cb85" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/10db500f-4b98-4f79-a9d9-584601e5cb85?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "11190f1c-59d3-4b30-95d1-3d4d7d5262b5" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "46", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e2134784-06fc-4476-96d9-fdca113e4b46", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"10db500f-4b98-4f79-a9d9-584601e5cb85\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:35Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/10db500f-4b98-4f79-a9d9-584601e5cb85?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e2762e0d-7f4c-4883-9dd6-eeeff3720497" - }, - "Response" : { - "content-length" : "1446", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "71438293-c8b9-4049-8803-4cf96327d960", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"10db500f-4b98-4f79-a9d9-584601e5cb85\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:35Z\"},\"trainResult\":{\"averageModelAccuracy\":0.889,\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"Customer2\",\"accuracy\":0.995},{\"fieldName\":\"CustomerAddress\",\"accuracy\":0.995},{\"fieldName\":\"CustomerName\",\"accuracy\":0.995},{\"fieldName\":\"CustomerPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"FirstItem\",\"accuracy\":0.995},{\"fieldName\":\"FirstPrice\",\"accuracy\":0.995},{\"fieldName\":\"FirstQuantity\",\"accuracy\":0.995},{\"fieldName\":\"Merchant\",\"accuracy\":0.0},{\"fieldName\":\"Merchant2\",\"accuracy\":0.0},{\"fieldName\":\"MerchantAddress\",\"accuracy\":0.995},{\"fieldName\":\"MerchantPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.995},{\"fieldName\":\"Signature2\",\"accuracy\":0.995},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Tip\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"Total2\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:37 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json deleted file mode 100644 index 1f3ce935ef0cd..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithNonExistPrefixName[1].json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "abe84a8d-9601-4983-84f4-299ef887f8eb", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "638", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a576ac90-959f-4843-b7ef-876755383534", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f8d82050-be7d-495f-867a-be1e3b5cdc21" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/f8d82050-be7d-495f-867a-be1e3b5cdc21?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "b09f17f7-d905-4dd9-a88b-cc339f85469c" - }, - "Response" : { - "content-length" : "403", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5dce5be8-73cc-4dda-b044-aeac7334ea7f", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"f8d82050-be7d-495f-867a-be1e3b5cdc21\",\"status\":\"invalid\",\"createdDateTime\":\"2021-07-07T06:28:33Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:34Z\"},\"keys\":{\"clusters\":{}},\"trainResult\":{\"trainingDocuments\":[],\"errors\":[{\"code\":\"2014\",\"message\":\"No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements.\"}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:37 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2014" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json deleted file mode 100644 index a8edd95507a71..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsExcludeSubfolderWithPrefixName[1].json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "971bbcda-c413-44e4-b668-5788200818ee", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "646", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b95dd032-ecf6-4ca0-a901-7deb0cc29d8e", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:39 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e08d16fb-0498-425e-972d-829903122afe" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e08d16fb-0498-425e-972d-829903122afe?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88b821bb-9c5f-4bb0-ab45-951cd2532fb8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "8ff39ddf-654e-4fa0-9854-39ff41120891", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e08d16fb-0498-425e-972d-829903122afe\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:39Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e08d16fb-0498-425e-972d-829903122afe?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "312486e3-0c0d-4e86-8b31-811012ea2dcd" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "99b686de-46d9-486d-95cb-d876610dfd48", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e08d16fb-0498-425e-972d-829903122afe\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:39Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e08d16fb-0498-425e-972d-829903122afe?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66330b49-8f2b-4fde-a55b-4e840baa3ea6" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "6ceb1d9f-0599-4921-a531-72a4506df187", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e08d16fb-0498-425e-972d-829903122afe\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/e08d16fb-0498-425e-972d-829903122afe?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7e35b5bb-b005-46d3-aea9-fed935060221" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "66dd76d0-e801-4685-b848-773560501148", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"e08d16fb-0498-425e-972d-829903122afe\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:39Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:53Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json deleted file mode 100644 index 7a18e7cd0f30b..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForJPGTrainingSet[1].json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "959e60bb-1cef-4329-b8e7-959263514ec7", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "631", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e91d7554-f306-4c36-8758-c6ed083a7497", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:54 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00ae8422-8542-469a-b6d8-00f42918db99" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00ae8422-8542-469a-b6d8-00f42918db99?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c938d522-0e1c-48db-beef-247e84c6f7b8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "4bd7f738-5097-4eb8-8c8a-3d72f44e9ada", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"00ae8422-8542-469a-b6d8-00f42918db99\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:54Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:59 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00ae8422-8542-469a-b6d8-00f42918db99?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d9b41cf0-6cfd-40c0-a6c3-34da09274bc9" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bd80999a-2903-4cc7-8407-8517851e7655", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"00ae8422-8542-469a-b6d8-00f42918db99\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:54Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:04 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00ae8422-8542-469a-b6d8-00f42918db99?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "66b63467-6edf-4582-bedc-42a4bdc9ef4d" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3923d449-3c44-4161-b70c-9f2fcb0664aa", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"00ae8422-8542-469a-b6d8-00f42918db99\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:06Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:09 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/00ae8422-8542-469a-b6d8-00f42918db99?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "76b0d7e0-1c11-4b8b-8a85-1845be204680" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "68395967-5aae-49c3-829e-536ebc94a855", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"00ae8422-8542-469a-b6d8-00f42918db99\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:54Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:06Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:10 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json deleted file mode 100644 index 22401ff9d7c89..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsForMultiPagePDFTrainingSet[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0e1a02ed-0892-4d9a-890e-53926dd4ecf7", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "436", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b6048e2b-7772-4643-9dbf-1a7bab434d74", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:28 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "29db999b-697e-4c08-9cc3-a2f38fd67ff3" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c86cb77a-3247-4efb-ba9e-7e2e0a59372e", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "211ad45a-42e4-4ce0-8f9e-4ad1e96fa223" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "c880bd62-e76c-4865-81ea-2acfa9160542", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:38 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "757b9b69-23a3-4770-9450-6b9f0d7721fc" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "30", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "1eec38b2-4216-4a30-bd08-032040ae98fc", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "48d4a67e-5f93-4c58-9509-2acec2320bcb" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f70229cb-c5d6-47b0-b52b-acd13008f4bf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "88f7c7d6-3b8f-4ccc-ac84-5c4d7a6d360d" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2b6794fb-3bfa-4bd3-8f23-fcc2775a0109", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:52Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/ffb4d3dc-9e2d-4136-b763-438a3d937795?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "d468411c-9f42-4cdf-a316-e27b5ed5541c" - }, - "Response" : { - "content-length" : "784", - "x-envoy-upstream-service-time" : "27", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "14d76fb0-49bc-426a-9f26-d7a26b0039bf", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"ffb4d3dc-9e2d-4136-b763-438a3d937795\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:52Z\"},\"keys\":{\"clusters\":{\"0\":[\"Address:\",\"Invoice For:\",\"Item\",\"Price\",\"Quantity\",\"Redmond, WA\",\"Signature:\",\"Subtotal:\",\"Tax:\",\"Tip:\",\"Total:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"multipage_invoice1.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice2.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice3.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice4.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"multipage_invoice5.pdf\",\"pages\":3,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json deleted file mode 100644 index 8278730596265..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithNonExistPrefixName[1].json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bf2016b0-6dbc-4831-8e50-561ca890937d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "649", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "0281efc5-a32e-4f44-a0ac-0df156058edb", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:23 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/474699f9-5301-48e4-8e50-5f552f7fddd6" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/474699f9-5301-48e4-8e50-5f552f7fddd6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6192be70-f322-4c11-ba6e-c946d6bb8c64" - }, - "Response" : { - "content-length" : "403", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "47332525-eca9-4f79-bc16-364891433479", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"474699f9-5301-48e4-8e50-5f552f7fddd6\",\"status\":\"invalid\",\"createdDateTime\":\"2021-07-07T06:28:23Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:24Z\"},\"keys\":{\"clusters\":{}},\"trainResult\":{\"trainingDocuments\":[],\"errors\":[{\"code\":\"2014\",\"message\":\"No valid blobs found in the specified Azure blob container. Please conform to the document format/size/page/dimensions requirements.\"}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:28 GMT", - "Content-Type" : "application/json; charset=utf-8", - "ms-azure-ai-errorcode" : "2014" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json deleted file mode 100644 index cdbc8d00694b1..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.beginTrainingWithoutTrainingLabelsIncludeSubfolderWithPrefixName[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bfd036d6-18bd-4998-920b-b3a7e58efe1d", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "1047", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f8ebb985-1aec-4f5f-b023-8dd2c53ef6a1", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:41 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cc1e7c0f-df30-4fe7-9df6-6798e6f7b2fd" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "23ef28b2-ea0e-4a75-b276-5bed7f1473e0", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"74f8b669-a5fc-49f8-9607-5707150743b6\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c23cc480-a043-4345-9760-c0e187e02be8" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "35", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "762b98cd-b613-4734-8c38-5d44b8cc7194", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"74f8b669-a5fc-49f8-9607-5707150743b6\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "70b2ae32-cd50-40db-bd56-fa26dcf7fab0" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "123", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bbe764e6-fa70-4cdb-9602-83fa5448f8f1", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"74f8b669-a5fc-49f8-9607-5707150743b6\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:57 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "eaf265f5-b651-41f4-8de7-4728ea62b81f" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "180", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5b703e46-533f-4007-9d12-ed9e01f0c2c5", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"74f8b669-a5fc-49f8-9607-5707150743b6\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/74f8b669-a5fc-49f8-9607-5707150743b6?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "2539cf03-b370-4865-904f-a97504df33f1" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "09961f1b-791e-453c-8a03-ec6ff568a262", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"74f8b669-a5fc-49f8-9607-5707150743b6\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:58Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:03 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.copyAuthorization[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.copyAuthorization[1].json deleted file mode 100644 index 05c3c734fbd98..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.copyAuthorization[1].json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/copyAuthorization", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "61d42445-2d12-4e31-bc6a-31324a0ab9fd" - }, - "Response" : { - "content-length" : "140", - "x-envoy-upstream-service-time" : "276", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "f7f69fc9-62ab-4dcc-98fd-09a507a72ebb", - "retry-after" : "0", - "StatusCode" : "201", - "Body" : "{\"modelId\":\"d40152c5-b9b4-4e5a-99e5-4dbcbd29278d\",\"accessToken\":\"REDACTED\",\"expirationDateTimeTicks\":1625725712}", - "Date" : "Wed, 07 Jul 2021 06:28:32 GMT", - "Content-Type" : "application/json; charset=utf-8", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/d40152c5-b9b4-4e5a-99e5-4dbcbd29278d" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelInvalidModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelInvalidModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelInvalidModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json deleted file mode 100644 index 28e087444b762..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponseWithoutTrainingLabels[1].json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e9f5a441-e26a-4548-803c-7e4678df07b5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "423", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "81b667d0-442e-44da-a4be-3820098ebc59", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:34 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e2d48590-4712-4bb3-8670-8deb589b3cc4" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "23", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e10fc56a-d252-418c-ba50-0fe286f415da", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6421fe74-3cf4-43d3-ab62-e535a3cec759\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:34Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "6822e51b-3e04-42fb-9af0-7280ea49dfbd" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cf5dc9d0-a2ec-4cd5-b392-b67c8a31fb08", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6421fe74-3cf4-43d3-ab62-e535a3cec759\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:34Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "893cdb69-4492-4866-b22d-76894bb0cdf7" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "32", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "af9bbba3-d924-40ba-9711-c562fbd7597b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6421fe74-3cf4-43d3-ab62-e535a3cec759\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:34Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "eb9981f6-4e98-4006-aa19-8710908b464c" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "36", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "ffcba3b0-b36b-488a-8b2b-3cbdd62fae9b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6421fe74-3cf4-43d3-ab62-e535a3cec759\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:51Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:54 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "758793d6-d1ee-469c-9d81-4e0573690ce2" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7404c75d-ee4d-4274-b05a-16bf2294a0cb", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"6421fe74-3cf4-43d3-ab62-e535a3cec759\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:34Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:51Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "063b266d-fc48-42d5-90a8-ef6126c82adf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "37", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5c251355-21bb-4eb4-a3ee-613272d50417", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/6421fe74-3cf4-43d3-ab62-e535a3cec759?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e1717091-8726-4350-a640-f26be5bbe675" - }, - "Response" : { - "content-length" : "101", - "x-envoy-upstream-service-time" : "20", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "cbc639de-7d42-4d25-827f-4e1c3f25d002", - "retry-after" : "0", - "StatusCode" : "404", - "Body" : "{\"error\":{\"code\":\"1022\",\"message\":\"Model with 'id=6421fe74-3cf4-43d3-ab62-e535a3cec759' not found.\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponse[1].json deleted file mode 100644 index 04efd661d6744..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.deleteModelValidModelIdWithResponse[1].json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7e5658f8-11af-430d-a2c5-2976d93c4500", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "423", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "aabb71d0-bfde-4611-b0ed-1241396c66d1", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:10 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/39b8bd07-178e-4ca6-b4cd-5a3dde0d4373" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/39b8bd07-178e-4ca6-b4cd-5a3dde0d4373?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a2411e4c-f10a-44ca-92d4-3047975ab3fe" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eb21a7e9-bf35-4266-a105-e635a7996899", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"39b8bd07-178e-4ca6-b4cd-5a3dde0d4373\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:15 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/39b8bd07-178e-4ca6-b4cd-5a3dde0d4373?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "445e3077-84b3-4da0-ae73-d3d2598f5dcd" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "25", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "eaf6101f-cf40-4f37-912d-308d521ced64", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"39b8bd07-178e-4ca6-b4cd-5a3dde0d4373\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:10Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:13Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "DELETE", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/39b8bd07-178e-4ca6-b4cd-5a3dde0d4373", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0792a075-5b9d-487f-b79f-92246c05d315" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "42", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "05af922b-7141-4f06-babd-c900396e87ca", - "retry-after" : "0", - "StatusCode" : "204", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/39b8bd07-178e-4ca6-b4cd-5a3dde0d4373?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7a536402-215e-4721-86ea-0811e7586b5d" - }, - "Response" : { - "content-length" : "101", - "x-envoy-upstream-service-time" : "38", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "95e12189-b8a0-4198-a51a-a3377b72eb8c", - "retry-after" : "0", - "StatusCode" : "404", - "Body" : "{\"error\":{\"code\":\"1022\",\"message\":\"Model with 'id=39b8bd07-178e-4ca6-b4cd-5a3dde0d4373' not found.\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:16 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelInvalidModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelInvalidModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelInvalidModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelLabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelLabeled[1].json deleted file mode 100644 index d2f35eae0ba83..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelLabeled[1].json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5bc88863-045f-482a-83ae-7fa578150738", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "850", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b1c9eaf1-677e-4962-b504-8d04790e0a87", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:27:42 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/17a5552a-fcdd-47ce-bbbc-6add46c417b7" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/17a5552a-fcdd-47ce-bbbc-6add46c417b7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5d44419d-8251-4bca-b999-59617e192a3d" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "bd9815fb-37e4-436e-9852-a277c13bf408", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"17a5552a-fcdd-47ce-bbbc-6add46c417b7\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:42Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:27:47 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/17a5552a-fcdd-47ce-bbbc-6add46c417b7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "a9c21df6-bba5-4c55-962e-0a46ac8fc3c1" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "56", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "26bcd4ad-ce1f-46a1-ab8f-324c403136fa", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"17a5552a-fcdd-47ce-bbbc-6add46c417b7\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/17a5552a-fcdd-47ce-bbbc-6add46c417b7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "c8973c60-0c6b-4050-8836-5611da6b1778" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "222", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "86b98ce3-f9ac-4c11-b88d-b8a2644f585c", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"17a5552a-fcdd-47ce-bbbc-6add46c417b7\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:53 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/17a5552a-fcdd-47ce-bbbc-6add46c417b7?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "1590204c-8b01-435f-ba29-038cfee005d6" - }, - "Response" : { - "content-length" : "1242", - "x-envoy-upstream-service-time" : "29", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "05e10084-6293-4701-83ce-63c69e23cca7", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"17a5552a-fcdd-47ce-bbbc-6add46c417b7\",\"attributes\":{\"isComposed\":false},\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:27:42Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:27:48Z\"},\"trainResult\":{\"averageModelAccuracy\":0.96,\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"status\":\"succeeded\"}],\"fields\":[{\"fieldName\":\"CompanyAddress\",\"accuracy\":0.8},{\"fieldName\":\"CompanyName\",\"accuracy\":0.995},{\"fieldName\":\"CompanyPhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"DatedAs\",\"accuracy\":0.995},{\"fieldName\":\"Email\",\"accuracy\":0.8},{\"fieldName\":\"Merchant\",\"accuracy\":0.995},{\"fieldName\":\"PhoneNumber\",\"accuracy\":0.995},{\"fieldName\":\"PurchaseOrderNumber\",\"accuracy\":0.995},{\"fieldName\":\"Quantity\",\"accuracy\":0.995},{\"fieldName\":\"Signature\",\"accuracy\":0.8},{\"fieldName\":\"Subtotal\",\"accuracy\":0.995},{\"fieldName\":\"Tax\",\"accuracy\":0.995},{\"fieldName\":\"Total\",\"accuracy\":0.995},{\"fieldName\":\"VendorName\",\"accuracy\":0.995},{\"fieldName\":\"Website\",\"accuracy\":0.995}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:27:52 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelNullModelId[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelNullModelId[1].json deleted file mode 100644 index ba5f37f8f8555..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelNullModelId[1].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "networkCallRecords" : [ ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelUnlabeled[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelUnlabeled[1].json deleted file mode 100644 index d6c3cb8130579..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelUnlabeled[1].json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "26b61519-70e3-4939-ad99-fb2db2ff1de5", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "670", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "7a2311a2-9809-4ba9-9f8f-b88a03d60e50", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:55 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0d6d8e62-d6ac-4b6a-92f7-f4e3685966ea" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "21", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "10bc5f07-1f59-4df6-9ced-aab0c269106a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a50e99a6-3358-4aed-b801-e8e3808e1f20\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:55Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:01 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "db6cbb5b-2b6b-4467-9f0f-0a6c1eddaebf" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "e6d2bd6d-5216-41c1-8e0e-1b1a00ad2830", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a50e99a6-3358-4aed-b801-e8e3808e1f20\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:55Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:29:06 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "04b6675a-16b5-4457-b275-22b8034a2774" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "19", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "453b1a3c-c7d5-4711-b30e-adcdf061cdff", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a50e99a6-3358-4aed-b801-e8e3808e1f20\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "cf91392f-f303-4bf8-898b-15b8dbd841f7" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "16", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "749524dd-c058-4e18-9bb9-540a626d6c3a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a50e99a6-3358-4aed-b801-e8e3808e1f20\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/a50e99a6-3358-4aed-b801-e8e3808e1f20?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "0a65c1d6-3cb5-4c1b-9f16-723e9946d6a7" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "17", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "b4408098-c0ec-4511-8f98-03944211edc3", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"a50e99a6-3358-4aed-b801-e8e3808e1f20\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:55Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:29:11Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:29:11 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelWithResponse[1].json deleted file mode 100644 index a7d8ca64ef8ae..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getCustomModelWithResponse[1].json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "bc4ad862-6dec-4fef-bc34-a129d8c61041", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "658", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "abf374fd-2ebe-45af-a7ad-c17fa496c9b8", - "retry-after" : "0", - "StatusCode" : "201", - "Date" : "Wed, 07 Jul 2021 06:28:29 GMT", - "Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "5ea9a9d3-fb16-42cd-b0b1-8ede942a538c" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "9b333be8-0d86-4b87-bc33-49858177e5c6", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:34 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e3e2f147-892f-4a08-b191-cff3647a826b" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "22", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2a75a3a7-81a9-4ec4-a1d8-b7e5735dcb6a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:39 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "ff47fb57-8fcb-4f14-afba-694842af8f4c" - }, - "Response" : { - "content-length" : "170", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "87a62c6d-9f62-4e71-b509-0a7226521189", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"creating\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\"}}", - "Date" : "Wed, 07 Jul 2021 06:28:44 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e5ace42d-cead-4b2b-bd14-319ba37d52bc" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "24", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "86c9662c-21dc-45fb-b26a-bc4d067945f4", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:45Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "59ed8d8b-3fa4-43d2-977d-f0abb7d31f48" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "26", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "582536ca-b509-4d1e-b069-4de873013eba", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:45Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:50 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/custom/models/4d686202-5d4b-4161-9fc0-49205b8b8729?includeKeys=true", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "27458351-514d-4c96-a744-ea7001c47a9d" - }, - "Response" : { - "content-length" : "912", - "x-envoy-upstream-service-time" : "33", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "5130e1fd-dd86-4958-8a44-ca56098a861a", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"modelInfo\":{\"modelId\":\"4d686202-5d4b-4161-9fc0-49205b8b8729\",\"status\":\"ready\",\"createdDateTime\":\"2021-07-07T06:28:29Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:45Z\"},\"keys\":{\"clusters\":{\"0\":[\"Additional Notes:\",\"Address:\",\"Company Name:\",\"Company Phone:\",\"Dated As:\",\"Details\",\"Email:\",\"Hero Limited\",\"Name:\",\"Phone:\",\"Purchase Order\",\"Purchase Order #:\",\"Quantity\",\"SUBTOTAL\",\"Seattle, WA 93849 Phone:\",\"Shipped From\",\"Shipped To\",\"TAX\",\"TOTAL\",\"Total\",\"Unit Price\",\"Vendor Name:\",\"Website:\"]}},\"trainResult\":{\"trainingDocuments\":[{\"documentName\":\"Form_1.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_2.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_3.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_4.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"},{\"documentName\":\"Form_5.jpg\",\"pages\":1,\"errors\":[],\"status\":\"succeeded\"}],\"errors\":[]}}", - "Date" : "Wed, 07 Jul 2021 06:28:49 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getFormRecognizerClientAndValidate[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getFormRecognizerClientAndValidate[1].json deleted file mode 100644 index 592f9e01e4b85..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.getFormRecognizerClientAndValidate[1].json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "POST", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyze", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "7a7c47b4-528e-4fa5-950d-9f7318a53d30", - "Content-Type" : "application/pdf" - }, - "Response" : { - "content-length" : "0", - "x-envoy-upstream-service-time" : "110", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "2a8751b8-93b6-49a8-97ca-6d045c8ed739", - "retry-after" : "0", - "StatusCode" : "202", - "Operation-Location" : "https://shafangfr.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/2a8751b8-93b6-49a8-97ca-6d045c8ed739", - "Date" : "Wed, 07 Jul 2021 06:28:25 GMT" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/2a8751b8-93b6-49a8-97ca-6d045c8ed739", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "e37db278-6fba-41f0-8734-e0bd5dcb4a85" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "85", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "a9ec1dc6-9c21-40b9-b2ed-b9eb9c69e086", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1/layout/analyzeResults/2a8751b8-93b6-49a8-97ca-6d045c8ed739", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.9; Windows 10; 10.0)", - "x-ms-client-request-id" : "955d6d37-e992-40c8-ac9b-68d987a91d28" - }, - "Response" : { - "content-length" : "269", - "x-envoy-upstream-service-time" : "179", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "95b6d5ef-28bb-4d25-be03-e45ac5c3b747", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"status\":\"succeeded\",\"createdDateTime\":\"2021-07-07T06:28:26Z\",\"lastUpdatedDateTime\":\"2021-07-07T06:28:29Z\",\"analyzeResult\":{\"version\":\"2.1.0\",\"readResults\":[{\"page\":1,\"angle\":0,\"width\":8.5,\"height\":11,\"unit\":\"inch\",\"lines\":[]}],\"pageResults\":[{\"page\":1,\"tables\":[]}]}}", - "Date" : "Wed, 07 Jul 2021 06:28:31 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountPropertiesWithResponse[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountPropertiesWithResponse[1].json deleted file mode 100644 index 129a4d9600b4a..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountPropertiesWithResponse[1].json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "500f50b8-fb17-4fcf-88af-7f24c4e22014" - }, - "Response" : { - "content-length" : "84", - "x-envoy-upstream-service-time" : "330", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "35047c4b-1b2e-439e-a848-a2d0b7e8e79b", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":465,\"limit\":20000,\"lastUpdatedDateTime\":\"2021-05-11T22:59:03Z\"}}", - "Date" : "Tue, 11 May 2021 22:59:02 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountProperties[1].json b/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountProperties[1].json deleted file mode 100644 index 3b85856fbb49c..0000000000000 --- a/sdk/formrecognizer/azure-ai-formrecognizer/src/test/resources/session-records/FormTrainingClientTest.validGetAccountProperties[1].json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.cognitiveservices.azure.com/formrecognizer/v2.1//custom/models?op=summary", - "Headers" : { - "User-Agent" : "azsdk-java-azure-ai-formrecognizer/3.1.0 (11.0.10; Windows 10; 10.0)", - "x-ms-client-request-id" : "02a092c8-096c-411a-93d0-5ce888634118" - }, - "Response" : { - "content-length" : "84", - "x-envoy-upstream-service-time" : "126", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "x-content-type-options" : "nosniff", - "apim-request-id" : "3d884714-bee8-42b1-9804-6c46716c689d", - "retry-after" : "0", - "StatusCode" : "200", - "Body" : "{\"summary\":{\"count\":465,\"limit\":20000,\"lastUpdatedDateTime\":\"2021-05-11T22:57:22Z\"}}", - "Date" : "Tue, 11 May 2021 22:57:22 GMT", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - } ], - "variables" : [ ] -} \ No newline at end of file diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/swagger/FR-v3.yml b/sdk/formrecognizer/azure-ai-formrecognizer/swagger/FR-v3.yml new file mode 100644 index 0000000000000..16b5fddde8b93 --- /dev/null +++ b/sdk/formrecognizer/azure-ai-formrecognizer/swagger/FR-v3.yml @@ -0,0 +1,1684 @@ +--- +swagger: '2.0' + +info: + title: Form Recognizer Client + description: Extracts content, layout, and structured data from documents. + version: 2021-09-30-preview + +securityDefinitions: + apim_key: + type: apiKey + name: Ocp-Apim-Subscription-Key + in: header +security: + - apim_key: [] + +x-ms-parameterized-host: + hostTemplate: "{endpoint}/formrecognizer" + useSchemePrefix: false + parameters: + - $ref: "#/parameters/Endpoint" + +schemes: + - https + +paths: + "/documentModels/{modelId}:analyze": + post: + summary: Analyze document + description: Analyzes document with model. + operationId: AnalyzeDocument + tags: + - Analysis + consumes: + - application/json + - application/octet-stream # Auto-detect content type + - application/pdf + - image/jpeg + - image/png + - image/tiff + - image/bmp + produces: + - application/json + parameters: + - $ref: "#/parameters/PathModelId" + - $ref: "#/parameters/QueryPages" + - $ref: "#/parameters/QueryLocale" + - $ref: "#/parameters/QueryStringIndexType" + - $ref: "#/parameters/QueryApiVersion" + # - $ref: "#/parameters/HeaderRepeatabilityRequestId" + # - $ref: "#/parameters/HeaderRepeatabilityFirstSent" + - name: analyzeRequest + description: Analyze request parameters. + required: false + in: body + schema: + $ref: "#/definitions/AnalyzeDocumentRequest" + responses: + '202': + description: Request is queued successfully. + headers: + Operation-Location: + type: string + description: URL used to track the progress and obtain the result of the analyze operation. + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '400': + # description: Error encountered during document analysis. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '404': + # description: Model not found. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '415': + # description: Unsupported media type. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '503': + # description: Transient error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-long-running-operation: true + x-ms-examples: + AnalyzeDocument_Url: + $ref: ./examples/AnalyzeDocument_Url.json + AnalyzeDocument_Base64: + $ref: ./examples/AnalyzeDocument_Base64.json + + "/documentModels/{modelId}/analyzeResults/{resultId}": + get: + summary: Get analyze result + description: Gets the result of document analysis. + operationId: GetAnalyzeDocumentResult + tags: + - Analysis + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/PathModelId" + - $ref: "#/parameters/PathResultId" + # - name: format + # description: Result format. + # required: false + # in: query + # type: string + # enum: + # - json + # - protobuf + # x-ms-enum: + # name: AnalyzeResultFormat + # modelAsString: true + # default: json + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/AnalyzeResultOperation" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '404': + # description: Result ID not found or expired. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server ErrorResponse. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '503': + # description: Transient ErrorResponse. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + GetAnalyzeDocumentResult: + $ref: ./examples/GetAnalyzeDocumentResult.json + + "/documentModels:build": + post: + summary: Build model + description: Builds a custom document analysis model. + operationId: BuildDocumentModel + tags: + - Creation + consumes: + - application/json + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + - name: buildRequest + description: Building request parameters. + required: true + in: body + schema: + $ref: "#/definitions/BuildDocumentModelRequest" + responses: + '202': + description: Request is queued successfully. + headers: + Operation-Location: + type: string + description: Operation result URL. + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '409': + # description: Model already exists. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-long-running-operation: true + x-ms-examples: + BuildDocumentModel: + $ref: ./examples/BuildDocumentModel.json + + "/documentModels:compose": + post: + summary: Compose model + description: Creates a new model from document types of existing models. + operationId: ComposeDocumentModel + tags: + - Creation + consumes: + - application/json + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + - name: composeRequest + description: Compose request parameters. + in: body + required: true + schema: + $ref: "#/definitions/ComposeDocumentModelRequest" + responses: + '202': + description: Request is queued successfully. + headers: + Operation-Location: + type: string + description: Operation result URL. + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '409': + # description: Model already exists. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-long-running-operation: true + x-ms-examples: + ComposeDocumentModel: + $ref: ./examples/ComposeDocumentModel.json + + "/documentModels:authorizeCopy": + post: + summary: Generate copy authorization + description: Generates authorization to copy a model to this location with specified modelId and optional description. + operationId: AuthorizeCopyDocumentModel + tags: + - Creation + consumes: + - application/json + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + - name: authorizeCopyRequest + description: Authorize copy request parameters. + in: body + required: true + schema: + $ref: "#/definitions/AuthorizeCopyRequest" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/CopyAuthorization" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '409': + # description: Model already exists. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '503': + # description: Transient error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + AuthorizeCopyDocumentModel: + $ref: ./examples/AuthorizeCopyDocumentModel.json + + "/documentModels/{modelId}:copyTo": + post: + summary: Copy model + description: Copies model to the target resource, region, and modelId. + operationId: CopyDocumentModelTo + tags: + - Creation + consumes: + - application/json + produces: + - application/json + parameters: + - $ref: "#/parameters/PathModelId" + - $ref: "#/parameters/QueryApiVersion" + - name: copyToRequest + description: Copy to request parameters. + in: body + required: true + schema: + $ref: "#/definitions/CopyAuthorization" + responses: + '202': + description: Request is queued successfully. + headers: + Operation-Location: + type: string + description: Operation result URL. + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '400': + # description: Bad request error. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '404': + # description: Model not found. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '409': + # description: Target model already exists. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '503': + # description: Transient error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-long-running-operation: true + x-ms-examples: + CopyDocumentModelTo: + $ref: ./examples/CopyDocumentModelTo.json + + "/operations": + get: + summary: List operations + description: Lists all operations. + operationId: GetOperations + tags: + - Operation + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/GetOperationsResponse" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-pageable: + nextLinkName: nextLink + itemName: value + x-ms-examples: + GetOperations: + $ref: ./examples/GetOperations.json + + "/operations/{operationId}": + get: + summary: Get operation + description: Gets operation info. + operationId: GetOperation + tags: + - Operation + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/PathOperationId" + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/GetOperationResponse" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '404': + # description: Operation ID not found. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + GetOperation: + $ref: ./examples/GetOperation.json + + # [preview.2+] + # "/operations/{operationId}:cancel": + # summary: Cancel operation + # description: Cancels operation. + # operationId: CancelOperation + # tags: + # - Operation + # consumes: [] + # produces: [] + # parameters: + # - $ref: "#/parameters/PathOperationId" + # - $ref: "#/parameters/QueryApiVersion" + # responses: + # '200': + # description: Operation canceled. + # 'default': + # description: Error encountered. + # schema: + # $ref: "#/definitions/ErrorResponse" + # # '404': + # # description: Operation ID not found. + # # schema: + # # $ref: "#/definitions/ErrorResponse" + # # '500': + # # description: Internal server error. + # # schema: + # # $ref: "#/definitions/ErrorResponse" + + "/documentModels": + get: + summary: List models + description: List all models + operationId: GetModels + tags: + - Management + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/GetModelsResponse" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-pageable: + nextLinkName: nextLink + itemName: value + x-ms-examples: + GetModels: + $ref: ./examples/GetModels.json + + "/documentModels/{modelId}": + get: + summary: Get model + description: Gets detailed model information. + operationId: GetModel + tags: + - Management + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/PathModelId" + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/ModelInfo" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '404': + # description: Model not found. + # schema: + # $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + GetModel_Prebuilt: + $ref: ./examples/GetModel_Prebuilt.json + GetModel_Custom: + $ref: ./examples/GetModel_Custom.json + + delete: + summary: Delete model + description: Deletes model. + operationId: DeleteModel + tags: + - Management + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/PathModelId" + - $ref: "#/parameters/QueryApiVersion" + responses: + '204': + description: Deleting model. + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + DeleteModel: + $ref: ./examples/DeleteModel.json + + "/info": + get: + summary: Get info + description: Return basic info about the current resource. + operationId: GetInfo + tags: + - Management + consumes: [] + produces: + - application/json + parameters: + - $ref: "#/parameters/QueryApiVersion" + responses: + '200': + description: OK. + schema: + $ref: "#/definitions/GetInfoResponse" + 'default': + description: Error encountered. + schema: + $ref: "#/definitions/ErrorResponse" + # '500': + # description: Internal server error. + # schema: + # $ref: "#/definitions/ErrorResponse" + x-ms-examples: + GetInfo: + $ref: ./examples/GetInfo.json + +definitions: + + AnalyzeDocumentRequest: + description: Document analysis parameters. + type: object + properties: + # Only one of the following: urlSource, base64Source + urlSource: + description: Document URL to analyze + $ref: "#/definitions/UrlContentSource" + base64Source: + description: Base64 encoding of the document to analyze + $ref: "#/definitions/Base64ContentSource" + + BuildDocumentModelRequest: + description: Request body to build a new custom model. + type: object + required: [ modelId ] + properties: + modelId: + $ref: "#/definitions/ModelId" + description: + $ref: "#/definitions/ModelDescription" + # technique: + # $ref: "#/definitions/DocumentModelBuildTechnique" + + # Only one of the following: azureBlobSource, urlSource, base64Source + azureBlobSource: + description: Azure Blob Storage location containing the training data. + $ref: "#/definitions/AzureBlobContentSource" + # urlSource: + # description: On-premise network location containing the training data. + # $ref: "#/definitions/UrlContentSource" + # base64Source: + # description: Base64 encoding of the compressed archive containing the training data. + # $ref: "#/definitions/Base64ContentSource" + + + ComposeDocumentModelRequest: + description: Request body to create a composed model from component models. + type: object + required: [ modelId, componentModels ] + properties: + modelId: + $ref: "#/definitions/ModelId" + description: + $ref: "#/definitions/ModelDescription" + componentModels: + description: List of component models to compose. + type: array + uniqueItems: true + items: + $ref: "#/definitions/ComponentModelInfo" + + ComponentModelInfo: + description: A component of a composed model. + type: object + required: [ modelId ] + properties: + modelId: + $ref: "#/definitions/ModelId" + # docTypes: # preview.2+ + # description: Optional list of document types from this model to include in the composed model. If not specified, all document types from this model will be included. + # type: array + # items: + # $ref: "#/definitions/DocType" + + + AuthorizeCopyRequest: + description: Request body to authorize model copy. + type: object + required: [ modelId ] + properties: + modelId: + $ref: "#/definitions/ModelId" + description: + $ref: "#/definitions/ModelDescription" + + GetOperationsResponse: + description: List Operations response object. + type: object + required: [ value ] + properties: + value: + description: List of operations. + type: array + items: + $ref: "#/definitions/OperationInfo" + nextLink: + description: Link to the next page of operations. + type: string + + GetOperationResponse: + description: Get Operation response object. + type: object + allOf: + - $ref: "#/definitions/OperationInfo" + properties: + error: # status=failed + description: Encountered error. + $ref: "#/definitions/Error" + result: # status=succeeded + description: Operation result upon success. + $ref: "#/definitions/ModelInfo" + + GetModelsResponse: + description: List Models response object. + type: object + required: [ value ] + properties: + value: + description: List of models. + type: array + items: + $ref: "#/definitions/ModelSummary" + "nextLink": + description: Link to the next page of models. + type: string + + GetInfoResponse: + description: General information regarding the current resource. + type: object + required: [ customDocumentModels ] + properties: + customDocumentModels: + $ref: "#/definitions/CustomDocumentModelsInfo" + + CustomDocumentModelsInfo: + description: Info regarding custom document models. + type: object + required: [ count, limit ] + properties: + count: + description: Number of custom models in the current resource. + type: integer + format: int32 + limit: + description: Maximum number of custom models supported in the current resource. + type: integer + format: int32 + + + ApiVersion: + description: API version. + type: string + enum: + - 2021-09-30-preview + x-ms-enum: + name: ApiVersion + modelAsString: true + + ErrorResponse: + description: Error response object. + type: object + required: [ error ] + properties: + error: + $ref: "#/definitions/Error" + + Error: + description: Error info. + type: object + required: [ code, message ] + properties: + code: + description: Error code. + type: string + message: + description: Error message. + type: string + target: + description: Target of the error. + type: string + details: + description: List of detailed errors. + type: array + items: + $ref: "#/definitions/Error" + innererror: + $ref: "#/definitions/InnerError" + + InnerError: + description: Detailed error. + type: object + required: [ code ] + properties: + code: + description: Error code. + type: string + message: + description: Error message. + type: string + innererror: + $ref: "#/definitions/InnerError" + + UrlContentSource: + description: Content at specified URL. + type: string + format: uri + + Base64ContentSource: + description: Content represented via Base64 encoding. + type: string + format: byte + + AzureBlobContentSource: + description: Azure Blob Storage content. + type: object + required: [ containerUrl ] + properties: + containerUrl: + description: Azure Blob Storage container URL. + type: string + format: uri + prefix: + description: Blob name prefix. + type: string + + CopyAuthorization: + description: Authorization to copy a model to the specified target resource and modelId. + type: object + required: [ targetResourceId, targetResourceRegion, targetModelId, targetModelLocation, accessToken, expirationDateTime ] + properties: + targetResourceId: + description: ID of the target Azure resource where the model should be copied to. + type: string + x-ms-azure-resource: true + targetResourceRegion: + description: Location of the target Azure resource where the model should be copied to. + type: string + targetModelId: + description: Identifier of the target model. + $ref: "#/definitions/ModelId" + targetModelLocation: + description: URL of the copied model in the target account. + type: string + accessToken: + description: Token used to authorize the request. + type: string + expirationDateTime: + description: Date/time when the access token expires. + type: string + format: date-time + + OperationInfo: + description: Operation info. + type: object + required: [ operationId, status, createdDateTime, lastUpdatedDateTime, kind, resourceLocation ] + properties: + operationId: + description: Operation ID + type: string + status: + description: Operation status. + type: string + enum: + - notStarted + - running + - failed + - succeeded + - canceled + x-ms-enum: + name: OperationStatus + modelAsString: false + percentCompleted: # status=running + description: Operation progress (0-100). + type: integer + format: int32 + minimum: 0 + maximum: 100 + createdDateTime: + description: Date and time (UTC) when the operation was created. + type: string + format: date-time + lastUpdatedDateTime: + description: Date and time (UTC) when the status was last updated. + type: string + format: date-time + kind: + description: Type of operation. + type: string + enum: + - documentModelBuild + - documentModelCompose + - documentModelCopyTo # resourceLocation is the target model location + x-ms-enum: + name: OperationKind + modelAsString: true + resourceLocation: + description: URL of the resource targeted by this operation. + type: string + + ModelSummary: + description: Model summary. + type: object + required: [ modelId, createdDateTime ] + properties: + modelId: + $ref: "#/definitions/ModelId" + description: + $ref: "#/definitions/ModelDescription" + createdDateTime: + description: Date and time (UTC) when the model was created. + type: string + format: date-time + + ModelInfo: + description: Model info. + type: object + allOf: + - $ref: "#/definitions/ModelSummary" + properties: + docTypes: + description: Supported document types. + type: object + additionalProperties: + $ref: "#/definitions/DocTypeInfo" + + DocTypeInfo: + description: Document type info. + type: object + required: [ fieldSchema ] + properties: + description: + $ref: "#/definitions/ModelDescription" + # technique: + # $ref: "#/definitions/DocumentModelBuildTechnique" + # ocrModel: + # description: OCR model used to train model. + # type: string # Ex. default-2021-09-30 + fieldSchema: + # SDK should represent this property as plain JSON string + $ref: "#/definitions/DocTypeSchema" + fieldConfidence: + description: Estimated confidence for each field. + type: object + additionalProperties: + type: number + minimum: 0 + maximum: 1 + + DocTypeSchema: + description: Description of the document semantic schema using a JSON Schema style syntax. + type: object + additionalProperties: + $ref: "#/definitions/DocumentFieldSchema" + + DocumentFieldSchema: + description: Description of the field semantic schema using a JSON Schema style syntax. + type: object + required: [ type ] + properties: + type: + $ref: "#/definitions/DocumentFieldType" + # format: + # description: TODO + # type: string + description: + description: Field description. + type: string + example: + description: Example field content. + type: string + items: # type=array + description: Field type schema of each array element. + $ref: "#/definitions/DocumentFieldSchema" + properties: # type=object + description: Named sub-fields of the object field. + type: object + additionalProperties: + $ref: "#/definitions/DocumentFieldSchema" + + AnalyzeResultOperation: + description: Status and result of the analyze operation. + type: object + required: [ status, createdDateTime, lastUpdatedDateTime ] + properties: + status: + description: Operation status. + type: string + enum: + - notStarted + - running + - failed + - succeeded + x-ms-enum: + name: AnalyzeResultOperationStatus + modelAsString: false + createdDateTime: + description: Date and time (UTC) when the analyze operation was submitted. + type: string + format: date-time + lastUpdatedDateTime: + description: Date and time (UTC) when the status was last updated. + type: string + format: date-time + error: # status=failed + description: Encountered error during document analysis. + $ref: "#/definitions/Error" + analyzeResult: # status=succeeded + $ref: "#/definitions/AnalyzeResult" + + AnalyzeResult: + description: Document analysis result. + type: object + required: [ apiVersion, modelId, stringIndexType, content, pages ] + properties: + apiVersion: + description: API version used to produce this result. + $ref: "#/definitions/ApiVersion" + modelId: + description: Model ID used to produce this result. + $ref: "#/definitions/ModelId" + stringIndexType: + description: Method used to compute string offset and length. + $ref: "#/definitions/StringIndexType" + content: + description: Concatenate string representation of all textual and visual elements in reading order. + type: string + pages: + description: Analyzed pages. + type: array + items: + $ref: "#/definitions/DocumentPage" + tables: + description: Extracted tables. + type: array + items: + $ref: "#/definitions/DocumentTable" + keyValuePairs: + description: Extracted key-value pairs. + type: array + items: + $ref: "#/definitions/DocumentKeyValuePair" + entities: + description: Extracted entities. + type: array + items: + $ref: "#/definitions/DocumentEntity" + styles: + description: Extracted font styles. + type: array + items: + $ref: "#/definitions/DocumentStyle" + documents: + description: Extracted documents. + type: array + items: + $ref: "#/definitions/Document" + # errors: + # description: Errors encountered during the analysis. + # type: array + # items: + # $ref: "#/definitions/Error" + + DocumentPage: + description: Content and layout elements extracted from a page from the input. + type: object + required: [ pageNumber, angle, width, height, unit, words, lines, spans ] + properties: + # Basic page-level statistics + pageNumber: + description: 1-based page number in the input document. + type: integer + format: int32 + minimum: 1 + angle: + description: The general orientation of the content in clockwise direction, measured in degrees between (-180, 180]. + type: number + minimum: -180 + maximum: 180 + exclusiveMinimum: true + width: + description: The width of the image/PDF in pixels/inches, respectively. + type: number + minimum: 0 + height: + description: The height of the image/PDF in pixels/inches, respectively. + type: number + minimum: 0 + unit: + description: The unit used by the width, height, and boundingBox properties. For images, the unit is "pixel". For PDF, the unit is "inch". + type: string + enum: [ pixel, inch ] + x-ms-enum: + name: LengthUnit + modelAsString: true + spans: + description: Location of the page in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + + # Textual/visual content elements + words: + description: Extracted words from the page. + type: array + items: + $ref: "#/definitions/DocumentWord" + selectionMarks: + description: Extracted selection marks from the page. + type: array + items: + $ref: "#/definitions/DocumentSelectionMark" + # visualElements: # [preview.2+] + # description: Extracted visual elements from the page. + # type: array + # items: + # $ref: "#/definitions/DocumentVisualElement" + + # Layout elements + lines: + description: Extracted lines from the page, potentially containing both textual and visual elements. + type: array + items: + $ref: "#/definitions/DocumentLine" + + # blocks: # [preview.3+] + # description: Extracted layout blocks from the page. + # type: array + # items: + # $ref: "#/definitions/DocumentBlock" + + DocumentWord: + description: A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, Japanese, and Korean, each character is represented as its own word. + type: object + required: [ content, span, confidence ] + properties: + content: # Derived + description: Text content of the word. + type: string + boundingBox: + description: Bounding box of the word. + $ref: "#/definitions/BoundingBox" + span: + description: Location of the word in the reading order concatenated content. + $ref: "#/definitions/DocumentSpan" + confidence: + description: Confidence of correctly extracting the word. + $ref: "#/definitions/Confidence" + # charPositions: # [v3.1+] + # description: Normalized starting horizontal position of each character in the word. + # type: array + # items: + # type: number + # minimum: 0 + # maximum: 1 + + DocumentSelectionMark: + description: A selection mark object representing check boxes, radio buttons, and other elements indicating a selection. + type: object + required: [ state, span, confidence ] + properties: + state: + description: State of the selection mark. + $ref: "#/definitions/DocumentSelectionMarkState" + boundingBox: + description: Bounding box of the selection mark. + $ref: "#/definitions/BoundingBox" + span: + description: Location of the selection mark in the reading order concatenated content. + $ref: "#/definitions/DocumentSpan" + confidence: + description: Confidence of correctly extracting the selection mark. + $ref: "#/definitions/Confidence" + + DocumentSelectionMarkState: + description: State of the selection mark. + type: string + enum: [ selected, unselected ] + x-ms-enum: + name: SelectionMarkState + modelAsString: true + + # DocumentVisualElement: # [preview.3+] + # description: An object representing various visual elements. + # type: object + # required: [ type, span ] + # properties: + # # NAMING: type, kind, ... + # kind: + # description: Kind of visual element. + # type: string + # enum: [ image, separator ] + # x-ms-enum: + # name: VisualElementKind + # modelAsString: true + # boundingBox: + # description: Bounding box of the visual element. + # $ref: "#/definitions/BoundingBox" + # span: + # description: Location of the visual element in the reading order concatenated content. + # $ref: "#/definitions/DocumentSpan" + # confidence: + # description: Confidence of correctly extracting the visual element. + # $ref: "#/definitions/Confidence" + + DocumentLine: + description: A content line object consisting of an adjacent sequence of content elements, such as words and selection marks. + type: object + required: [ content, spans ] + properties: + content: + description: Concatenated content of the contained elements in reading order. + type: string + boundingBox: + description: Bounding box of the line. + $ref: "#/definitions/BoundingBox" + spans: + description: Location of the line in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + # confidence: # [preview.2+] + # description: Confidence of correctly extracting the line. + # $ref: "#/definitions/Confidence" + + # DocumentBlock: # [preview.3+] + # description: A block object that describes various layout elements. + # type: object + # required: [ kind, content, spans ] + # properties: + # kind: + # description: Kind of layout block element. + # type: string + # enum: [ paragraph, column ] + # x-ms-enum: + # name: VisualElementKind + # modelAsString: true + # content: + # description: Concatenated content of the layout block in reading order. + # type: string + # boundingBox: + # description: Bounding box of the layout block element. + # $ref: "#/definitions/BoundingBox" + # spans: + # description: Location of the layout block element in the reading order concatenated content. + # type: array + # items: + # $ref: "#/definitions/DocumentSpan" + # continuation: # [preview.3+] + # description: If the block is split, pointer to the continuation block. + # $ref: "#/definitions/Continuation" + # confidence: # [preview.3+] + # description: Confidence of correctly extracting the layout block element. + # $ref: "#/definitions/Confidence" + + DocumentTable: + # TODO: Do we want to represent empty cells? + # TODO: Do we want to represent cell boundaries? Via a box object? + description: A table object consisting table cells arranged in a rectangular layout. + type: object + required: [ rowCount, columnCount, cells, spans ] + properties: + rowCount: + description: Number of rows in the table. + type: integer + format: int32 + minimum: 1 + columnCount: + description: Number of columns in the table. + type: integer + format: int32 + minimum: 1 + cells: + description: Cells contained within the table. + type: array + items: + $ref: "#/definitions/DocumentTableCell" + boundingRegions: + description: Bounding regions covering the table. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the table in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + # confidence: # [preview.2+] + # description: Confidence of correctly extracting the table. + # $ref: "#/definitions/Confidence" + + DocumentTableCell: + description: An object representing the location and content of a table cell. + type: object + required: [ rowIndex, columnIndex, content, spans ] + properties: + kind: + description: Table cell kind. + type: string + enum: [ content, rowHeader, columnHeader, stubHead, description ] + default: content + x-ms-enum: + name: DocumentTableCellKind + modelAsString: true + rowIndex: + description: Row index of the cell. + type: integer + format: int32 + columnIndex: + description: Column index of the cell. + type: integer + format: int32 + rowSpan: + description: Number of rows spanned by this cell. + type: integer + format: int32 + minimum: 1 + default: 1 + columnSpan: + description: Number of columns spanned by this cell. + type: integer + format: int32 + minimum: 1 + default: 1 + content: + description: Concatenated content of the table cell in reading order. + type: string + boundingRegions: + description: Bounding regions covering the table cell. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the table cell in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + # confidence: # [preview.2+] + # description: Confidence of correctly extracting the table cell. + # $ref: "#/definitions/Confidence" + + DocumentKeyValuePair: + description: An object representing a form field with distinct field label (key) and field value (may be empty). + type: object + required: [ key, confidence ] + properties: + key: + description: Field label of the key-value pair. + $ref: "#/definitions/DocumentKeyValueElement" + value: + description: Field value of the key-value pair. + $ref: "#/definitions/DocumentKeyValueElement" + confidence: + description: Confidence of correctly extracting the key-value pair. + $ref: "#/definitions/Confidence" + + DocumentKeyValueElement: + description: An object representing the field key or value in a key-value pair. + type: object + required: [ content, spans ] + properties: + content: + description: Concatenated content of the key-value element in reading order. + type: string + boundingRegions: + description: Bounding regions covering the key-value element. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the key-value element in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + + DocumentEntity: + description: An object representing various categories of entities. + type: object + required: [ category, content, spans, confidence ] + properties: + category: + description: Entity type. + type: string + subCategory: + description: Entity sub type. + type: string + content: + description: Entity content. + type: string + boundingRegions: + description: Bounding regions covering the entity. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the entity in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + confidence: + description: Confidence of correctly extracting the entity. + $ref: "#/definitions/Confidence" + # TODO: type, value* [preview.2+] + + DocumentStyle: + # Font properties: https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals + description: An object representing observed text styles. + type: object + required: [ spans, confidence ] + properties: + isHandwritten: + description: Is content handwritten? + type: boolean + # fontFamily: + # description: Font family of the text in the specified spans. + # type: string + # enum: [ serif, sanSerif, monospace, cursive, fantasy ] + # x-ms-enum: + # name: FontFamily + # modelAsString: true + # fontStyle: + # description: Font style of the text in the specified spans. + # type: string + # enum: [ normal, italic ] + # x-ms-enum: + # name: FontStyle + # modelAsString: true + # fontWeight: + # description: Font weight of the text in the specified spans. + # type: string + # enum: [ normal, bold, light ] + # x-ms-enum: + # name: FontWeight + # modelAsString: true + # textDecoration: + # description: Font decoration of the text in the specified spans. + # type: array + # items: + # type: string + # # format: # See CSS spec + # fontSize: + # description: Font size of the text in the specified spans. + # type: number + # minimum: 0 + spans: + description: Location of the text elements in the concatenated content the style applies to. + type: array + items: + $ref: "#/definitions/DocumentSpan" + confidence: + description: Confidence of correctly identifying the style. + $ref: "#/definitions/Confidence" + + Document: + description: An object describing the location and semantic content of a document. + type: object + required: [ docType, fields, spans, confidence ] + properties: + docType: + description: Document type. + $ref: "#/definitions/DocType" + boundingRegions: + description: Bounding regions covering the document. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the document in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + fields: + description: Dictionary of named field values. + type: object + additionalProperties: # Property name regex: [\p{L}\p{N}]{1,64} + $ref: "#/definitions/DocumentField" + confidence: + description: Confidence of correctly extracting the document. + $ref: "#/definitions/Confidence" + + DocumentField: + description: An object representing the content and location of a field value. + type: object + required: [ type ] + properties: + # TODO: Consider introducing kind={extraction,classification}. + # Classification field: type, value{Type}, confidence + # Extraction field: type, value{Type}, content, boundingRegions, spans, confidence + type: + description: Data type of the field value. + $ref: "#/definitions/DocumentFieldType" + valueString: + description: String value. + type: string + valueDate: + description: Date value in YYYY-MM-DD format (ISO 8601). + type: string + format: date + valueTime: + description: Time value in hh:mm:ss format (ISO 8601). + type: string + format: time + valuePhoneNumber: + description: Phone number value in E.164 format (ex. +19876543210). + type: string + # format: See E.164 + valueNumber: + description: Floating point value. + type: number + valueInteger: + description: Integer value. + type: integer + format: int64 + valueSelectionMark: + description: Selection mark value. + $ref: "#/definitions/DocumentSelectionMarkState" + valueSignature: + description: Presence of signature. + type: string + enum: + - signed + - unsigned + x-ms-enum: + name: DocumentSignatureType + modelAsString: true + valueCountryRegion: + description: 3-letter country code value (ISO 3166-1 alpha-3). + type: string + valueArray: + description: Array of field values. + type: array + items: + $ref: "#/definitions/DocumentField" + valueObject: + description: Dictionary of named field values. + type: object + additionalProperties: + $ref: "#/definitions/DocumentField" + content: + description: Field content. + type: string + boundingRegions: + description: Bounding regions covering the field. + type: array + items: + $ref: "#/definitions/BoundingRegion" + spans: + description: Location of the field in the reading order concatenated content. + type: array + items: + $ref: "#/definitions/DocumentSpan" + confidence: + description: Confidence of correctly extracting the field. + $ref: "#/definitions/Confidence" + + DocumentFieldType: + description: Semantic data type of the field value. + type: string + enum: [ string, date, time, phoneNumber, number, integer, selectionMark, countryRegion, signature, array, object ] + x-ms-enum: + name: DocumentFieldType + modelAsString: true + + ModelId: + description: Unique model name. + type: string + pattern: "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}" + + ModelDescription: + description: Model description. + type: string + maxLength: 4096 + + # DocumentModelBuildTechnique: + # description: Technique for building a custom model. + # type: string + # enum: + # - fixedTemplate-2021-09-30 + # # - general-2021-09-30-preview + # x-ms-enum: + # name: DocumentModelBuildTechnique + # modelAsString: true + + DocType: + description: Document type name. + type: string + minLength: 2 + maxLength: 64 + + BoundingBox: + description: Quadrangle bounding box, with coordinates specified relative to the top-left of the page. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. + type: array + minItems: 8 + maxItems: 8 + items: + type: number + minimum: 0 + + BoundingRegion: + description: Bounding box on a specific page of the input. + type: object + required: [ pageNumber, boundingBox ] + properties: + pageNumber: + description: 1-based page number of page containing the bounding region. + type: integer + format: int32 + minimum: 1 + boundingBox: + description: Bounding box on the page, or the entire page if not specified. + $ref: "#/definitions/BoundingBox" + + Confidence: + description: Prediction confidence. + type: number + minimum: 0.0 + maximum: 1.0 + + DocumentSpan: + description: Contiguous region of the concatenated content property, specified as an offset and length. + type: object + required: [ offset, length ] + properties: + offset: + description: Zero-based index of the content represented by the span. + type: integer + format: int32 + minimum: 0 + length: + description: Number of characters in the content represented by the span. + type: integer + format: int32 + minimum: 0 + + StringIndexType: + description: Method used to compute string offset and length. + type: string + enum: + - textElements + - unicodeCodePoint + - utf16CodeUnit + x-ms-enum: + name: StringIndexType + modelAsString: true + default: textElements + + # [FR v3.1+] + # Continuation: + # description: Pointer to the continuation element if the current element is split. + # type: string + # format: uri-reference # Ex. "#/pages/0/blocks/3" + +parameters: + Endpoint: + name: endpoint + description: 'Supported Cognitive Services endpoints (protocol and hostname, for + example: https://westus2.api.cognitive.microsoft.com).' + x-ms-parameter-location: client + required: true + type: string + in: path + x-ms-skip-url-encoding: true + QueryApiVersion: + name: api-version + description: Requested API version. + required: true + type: string + in: query + enum: + - 2021-09-30-preview + x-ms-enum: + name: ApiVersion + modelAsString: true + x-ms-parameter-location: client + PathModelId: + name: modelId + description: Unique model name. + required: true + type: string + pattern: "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}" + in: path + x-ms-parameter-location: method + PathOperationId: + name: operationId + description: Unique operation ID. + required: true + type: string + in: path + x-ms-parameter-location: method + PathResultId: + name: resultId + description: Analyze operation result ID. + required: true + type: string + in: path + x-ms-parameter-location: method + QueryPages: + name: pages + description: List of 1-based page numbers to analyze. Ex. "1-3,5,7-9" + required: false + type: string + in: query + pattern: ^(\d+(-\d+)?)(,\s*(\d+(-\d+)?))*$ + x-ms-parameter-location: method + QueryLocale: + name: locale + description: Locale hint for text recognition and document analysis. Value may contain only the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + required: false + type: string + in: query + x-ms-parameter-location: method + QueryStringIndexType: + name: stringIndexType + description: Method used to compute string offset and length. + required: false + in: query + type: string + enum: + - textElements + - unicodeCodePoint + - utf16CodeUnit + x-ms-enum: + name: StringIndexType + modelAsString: true + default: textElements + x-ms-parameter-location: method + # HeaderRepeatabilityRequestId: + # name: Repeatability-Request-ID + # description: Client-generated unique request ID. + # required: false + # type: string + # in: header + # x-ms-parameter-location: method + # HeaderRepeatabilityFirstSent: + # name: RepeatabilityFirst-Sent + # description: Date and time the request was first created. + # required: false + # type: string + # in: header + # # format: IMF-fixdate https://www.rfc-editor.org/rfc/rfc7231.html#section-7.1.1.1 + # x-ms-parameter-location: method + diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/swagger/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/swagger/README.md index 1103189f42e3c..c8cc356835fe3 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/swagger/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/swagger/README.md @@ -5,7 +5,7 @@ ### Setup ```ps Fork and clone https://github.com/Azure/autorest.java -git checkout main +git checkout v4 git submodule update --init --recursive mvn package -Dlocal npm install @@ -20,7 +20,7 @@ autorest --java --use=C:/work/autorest.java ### Code generation settings ``` yaml -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/FormRecognizer.json +input-file: ./FR-v3.yml java: true output-folder: ..\ generate-client-as-impl: true @@ -32,25 +32,5 @@ add-context-parameter: true models-subpackage: implementation.models context-client-method-parameter: true custom-types-subpackage: models -custom-types: LengthUnit service-interface-as-public: true ``` - -### Add multiple service API support -This is better to fixed in the swagger, but we are working around now. -```yaml -directive: -- from: swagger-document - where: $["x-ms-parameterized-host"] - transform: > - $.hostTemplate = "{endpoint}/formrecognizer/{ApiVersion}"; - $.parameters.push({ - "name": "ApiVersion", - "description": "Form Recognizer API version.", - "x-ms-parameter-location": "client", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }); -``` diff --git a/sdk/formrecognizer/ci.yml b/sdk/formrecognizer/ci.yml index 521c5fce015f3..4bad6d2c30f0b 100644 --- a/sdk/formrecognizer/ci.yml +++ b/sdk/formrecognizer/ci.yml @@ -1,40 +1,40 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. trigger: - branches: - include: - - main - - hotfix/* - - release/* - paths: - include: - - sdk/formrecognizer/ - exclude: - - sdk/formrecognizer/pom.xml - - sdk/formrecognizer/azure-ai-formrecognizer/pom.xml - - sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/formrecognizer/ + exclude: + - sdk/formrecognizer/pom.xml + - sdk/formrecognizer/azure-ai-formrecognizer/pom.xml + - sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml pr: - branches: - include: - - main - - feature/* - - hotfix/* - - release/* - paths: - include: - - sdk/formrecognizer/ - exclude: - - sdk/formrecognizer/pom.xml - - sdk/formrecognizer/azure-ai-formrecognizer/pom.xml - - sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/formrecognizer/ + exclude: + - sdk/formrecognizer/pom.xml + - sdk/formrecognizer/azure-ai-formrecognizer/pom.xml + - sdk/formrecognizer/azure-ai-formrecognizer-perf/pom.xml extends: - template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml - parameters: - ServiceDirectory: formrecognizer - Artifacts: - - name: azure-ai-formrecognizer - groupId: com.azure - safeName: azureaiformrecognizer + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: formrecognizer + Artifacts: + - name: azure-ai-formrecognizer + groupId: com.azure + safeName: azureaiformrecognizer diff --git a/sdk/formrecognizer/pom.xml b/sdk/formrecognizer/pom.xml index bf941182b2713..4e8d8b81f9b06 100644 --- a/sdk/formrecognizer/pom.xml +++ b/sdk/formrecognizer/pom.xml @@ -22,7 +22,7 @@ com.azure azure-ai-formrecognizer - 3.2.0-beta.1 + 4.0.0-beta.1 diff --git a/sdk/formrecognizer/test-resources.json b/sdk/formrecognizer/test-resources.json index 9b09d6b274aef..7dbe38e9fb9f6 100644 --- a/sdk/formrecognizer/test-resources.json +++ b/sdk/formrecognizer/test-resources.json @@ -1,190 +1,190 @@ { - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "baseName": { - "type": "string", - "defaultValue": "[resourceGroup().name]", - "metadata": { - "description": "The base resource name." - } - }, - "location": { - "type": "string", - "defaultValue": "[resourceGroup().location]", - "metadata": { - "metadata": { - "description": "The location of the resource. By default, this is the same as the resource group." - } - } - }, - "testApplicationOid": { - "type": "string", - "metadata": { - "description": "The principal to assign the role to. This is application object id." - } - }, - "tenantId": { - "type": "String", - "metadata": { - "description": "The tenant id to which the application and resources belong." - } - }, - "testApplicationId": { - "type": "String", - "metadata": { - "description": "The application client id used to run tests." - } - }, - "testApplicationSecret": { - "type": "String", - "metadata": { - "description": "The application client secret used to run tests." - } - }, - "formRecognizerEndpointSuffix": { - "defaultValue": ".cognitiveservices.azure.com/", - "type": "String" - }, - "blobStorageAccount": { - "type": "string", - "defaultValue": "azuresdktrainingdata" - }, - "trainingDataContainer": { - "type": "string", - "defaultValue": "trainingdata" - }, - "blobResourceId": { - "type": "string", - "defaultValue": "[resourceId('2cd617ea-1866-46b1-90e3-fffb087ebf9b', 'TrainingData', 'Microsoft.Storage/storageAccounts', parameters('blobStorageAccount'))]" - }, - "trainingDataSasProperties": { - "type": "object", - "defaultValue": { - "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('trainingDataContainer'))]", - "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", - "signedPermission": "rl", - "signedResource": "c" - } - }, - "testingDataContainer": { - "type": "string", - "defaultValue": "testingdata" - }, - "selectionMarkTrainingDataContainer": { - "type": "string", - "defaultValue": "selectionmark" - }, - "testingDataSasProperties": { - "type": "object", - "defaultValue": { - "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('testingDataContainer'))]", - "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", - "signedPermission": "rl", - "signedResource": "c" - } - }, - "multiPageTestingDataContainer": { - "type": "string", - "defaultValue": "multipage-training-data" - }, - "multiPageTestingDataSasProperties": { - "type": "object", - "defaultValue": { - "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('multiPageTestingDataContainer'))]", - "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", - "signedPermission": "rl", - "signedResource": "c" - } - }, - "selectionMarkTrainingDataSasProperties": { - "type": "object", - "defaultValue": { - "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('selectionMarkTrainingDataContainer'))]", - "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", - "signedPermission": "rl", - "signedResource": "c" - } - } + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "baseName": { + "type": "string", + "defaultValue": "[resourceGroup().name]", + "metadata": { + "description": "The base resource name." + } }, - "variables": { - "authorizationApiVersion": "2018-09-01-preview", - "formRecognizerBaseName": "[concat('formRecognizer', parameters('baseName'))]", - "formRecognizerApiVersion": "2017-04-18", - "azureFormRecognizerUrl": "[concat('https://', variables('formRecognizerBaseName'), parameters('formRecognizerEndpointSuffix'))]", - "cognitiveServiceUserRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908')]" - }, - "resources": [ - { - "type": "Microsoft.Authorization/roleAssignments", - "apiVersion": "[variables('authorizationApiVersion')]", - "name": "[guid(concat(variables('cognitiveServiceUserRoleId'), variables('formRecognizerBaseName')))]", - "dependsOn": [ - "[variables('formRecognizerBaseName')]" - ], - "properties": { - "principalId": "[parameters('testApplicationOid')]", - "roleDefinitionId": "[variables('cognitiveServiceUserRoleId')]" - } - }, - { - "type": "Microsoft.CognitiveServices/accounts", - "name": "[variables('formRecognizerBaseName')]", - "apiVersion": "[variables('formRecognizerApiVersion')]", - "sku": { - "name": "S0" - }, - "kind": "FormRecognizer", - "location": "[parameters('location')]", - "properties": { - "customSubDomainName": "[variables('formRecognizerBaseName')]" - } - } - ], - "outputs": { - "AZURE_TENANT_ID": { - "type": "String", - "value": "[parameters('tenantId')]" - }, - "AZURE_CLIENT_ID": { - "type": "String", - "value": "[parameters('testApplicationId')]" - }, - "AZURE_CLIENT_SECRET": { - "type": "String", - "value": "[parameters('testApplicationSecret')]" - }, - "AZURE_FORM_RECOGNIZER_API_KEY": { - "type": "string", - "value": "[listKeys(resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName')), variables('formRecognizerApiVersion')).key1]" - }, - "AZURE_FORM_RECOGNIZER_ENDPOINT": { - "type": "string", - "value": "[variables('azureFormRecognizerUrl')]" - }, - "FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL": { - "type": "string", - "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('trainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('trainingDataSasProperties')).serviceSasToken)]" - }, - "FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL": { - "type": "string", - "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('testingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('testingDataSasProperties')).serviceSasToken)]" - }, - "FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL": { - "type": "string", - "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('multiPageTestingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('multiPageTestingDataSasProperties')).serviceSasToken)]" - }, - "FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL": { - "type": "string", - "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('selectionMarkTrainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('selectionMarkTrainingDataSasProperties')).serviceSasToken)]" - }, - "FORM_RECOGNIZER_TARGET_RESOURCE_REGION": { - "type": "string", - "value": "[parameters('location')]" - }, - "FORM_RECOGNIZER_TARGET_RESOURCE_ID": { - "type": "string", - "value": "[resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName'))]" + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]", + "metadata": { + "metadata": { + "description": "The location of the resource. By default, this is the same as the resource group." } + } + }, + "testApplicationOid": { + "type": "string", + "metadata": { + "description": "The principal to assign the role to. This is application object id." + } + }, + "tenantId": { + "type": "String", + "metadata": { + "description": "The tenant id to which the application and resources belong." + } + }, + "testApplicationId": { + "type": "String", + "metadata": { + "description": "The application client id used to run tests." + } + }, + "testApplicationSecret": { + "type": "String", + "metadata": { + "description": "The application client secret used to run tests." + } + }, + "formRecognizerEndpointSuffix": { + "defaultValue": ".cognitiveservices.azure.com/", + "type": "String" + }, + "blobStorageAccount": { + "type": "string", + "defaultValue": "azuresdktrainingdata" + }, + "trainingDataContainer": { + "type": "string", + "defaultValue": "trainingdata" + }, + "blobResourceId": { + "type": "string", + "defaultValue": "[resourceId('2cd617ea-1866-46b1-90e3-fffb087ebf9b', 'TrainingData', 'Microsoft.Storage/storageAccounts', parameters('blobStorageAccount'))]" + }, + "trainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('trainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "testingDataContainer": { + "type": "string", + "defaultValue": "testingdata" + }, + "selectionMarkTrainingDataContainer": { + "type": "string", + "defaultValue": "selectionmark" + }, + "testingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('testingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "multiPageTestingDataContainer": { + "type": "string", + "defaultValue": "multipage-training-data" + }, + "multiPageTestingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('multiPageTestingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "selectionMarkTrainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('selectionMarkTrainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT2H')]", + "signedPermission": "rl", + "signedResource": "c" + } + } + }, + "variables": { + "authorizationApiVersion": "2018-09-01-preview", + "formRecognizerBaseName": "[concat('formRecognizer', parameters('baseName'))]", + "formRecognizerApiVersion": "2017-04-18", + "azureFormRecognizerUrl": "[concat('https://', variables('formRecognizerBaseName'), parameters('formRecognizerEndpointSuffix'))]", + "cognitiveServiceUserRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908')]" + }, + "resources": [ + { + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "[variables('authorizationApiVersion')]", + "name": "[guid(concat(variables('cognitiveServiceUserRoleId'), variables('formRecognizerBaseName')))]", + "dependsOn": [ + "[variables('formRecognizerBaseName')]" + ], + "properties": { + "principalId": "[parameters('testApplicationOid')]", + "roleDefinitionId": "[variables('cognitiveServiceUserRoleId')]" + } + }, + { + "type": "Microsoft.CognitiveServices/accounts", + "name": "[variables('formRecognizerBaseName')]", + "apiVersion": "[variables('formRecognizerApiVersion')]", + "sku": { + "name": "S0" + }, + "kind": "FormRecognizer", + "location": "[parameters('location')]", + "properties": { + "customSubDomainName": "[variables('formRecognizerBaseName')]" + } + } + ], + "outputs": { + "AZURE_TENANT_ID": { + "type": "String", + "value": "[parameters('tenantId')]" + }, + "AZURE_CLIENT_ID": { + "type": "String", + "value": "[parameters('testApplicationId')]" + }, + "AZURE_CLIENT_SECRET": { + "type": "String", + "value": "[parameters('testApplicationSecret')]" + }, + "AZURE_FORM_RECOGNIZER_API_KEY": { + "type": "string", + "value": "[listKeys(resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName')), variables('formRecognizerApiVersion')).key1]" + }, + "AZURE_FORM_RECOGNIZER_ENDPOINT": { + "type": "string", + "value": "[variables('azureFormRecognizerUrl')]" + }, + "FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('trainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('trainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('testingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('testingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('multiPageTestingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('multiPageTestingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('selectionMarkTrainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('selectionMarkTrainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_TARGET_RESOURCE_REGION": { + "type": "string", + "value": "[parameters('location')]" + }, + "FORM_RECOGNIZER_TARGET_RESOURCE_ID": { + "type": "string", + "value": "[resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName'))]" } + } } diff --git a/sdk/formrecognizer/tests.yml b/sdk/formrecognizer/tests.yml index 933f63984d1c6..48954b171576f 100644 --- a/sdk/formrecognizer/tests.yml +++ b/sdk/formrecognizer/tests.yml @@ -1,22 +1,22 @@ trigger: none stages: - - template: /eng/pipelines/templates/stages/archetype-sdk-tests.yml - parameters: - ServiceDirectory: formrecognizer - timeoutInMinutes: 120 # how long to run the job before automatically cancelling - Artifacts: - - name: azure-ai-formrecognizer - groupId: com.azure - safeName: azureaiformrecognizer - CloudConfig: - Public: - SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) - Location: 'canadacentral' - Canary: - SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) - Location: 'centraluseuap' - UsGov: - SubscriptionConfiguration: $(sub-config-gov-test-resources) - Location: 'usgovvirginia' - SupportedClouds: 'Public,Canary,UsGov' + - template: /eng/pipelines/templates/stages/archetype-sdk-tests.yml + parameters: + ServiceDirectory: formrecognizer + timeoutInMinutes: 120 # how long to run the job before automatically cancelling + Artifacts: + - name: azure-ai-formrecognizer + groupId: com.azure + safeName: azureaiformrecognizer + CloudConfig: + Public: + SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) + Location: 'canadacentral' + Canary: + SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) + Location: 'centraluseuap' + UsGov: + SubscriptionConfiguration: $(sub-config-gov-test-resources) + Location: 'usgovvirginia' + SupportedClouds: 'Public,Canary,UsGov' diff --git a/sdk/frontdoor/azure-resourcemanager-frontdoor/pom.xml b/sdk/frontdoor/azure-resourcemanager-frontdoor/pom.xml index 12a6a1d1c389e..12df87a9d23ad 100644 --- a/sdk/frontdoor/azure-resourcemanager-frontdoor/pom.xml +++ b/sdk/frontdoor/azure-resourcemanager-frontdoor/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/hanaonazure/azure-resourcemanager-hanaonazure/pom.xml b/sdk/hanaonazure/azure-resourcemanager-hanaonazure/pom.xml index 95ecbc7e7997b..1f154401326f2 100644 --- a/sdk/hanaonazure/azure-resourcemanager-hanaonazure/pom.xml +++ b/sdk/hanaonazure/azure-resourcemanager-hanaonazure/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/hdinsight/azure-resourcemanager-hdinsight/pom.xml b/sdk/hdinsight/azure-resourcemanager-hdinsight/pom.xml index ff2b905acddb0..856c06b90f921 100644 --- a/sdk/hdinsight/azure-resourcemanager-hdinsight/pom.xml +++ b/sdk/hdinsight/azure-resourcemanager-hdinsight/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/healthbot/azure-resourcemanager-healthbot/pom.xml b/sdk/healthbot/azure-resourcemanager-healthbot/pom.xml index eb3b5ee285ca1..42b0e9d4d89e6 100644 --- a/sdk/healthbot/azure-resourcemanager-healthbot/pom.xml +++ b/sdk/healthbot/azure-resourcemanager-healthbot/pom.xml @@ -44,7 +44,7 @@ com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/healthcareapis/azure-resourcemanager-healthcareapis/pom.xml b/sdk/healthcareapis/azure-resourcemanager-healthcareapis/pom.xml index 7ebcb7cdec91e..f43218fa6ff06 100644 --- a/sdk/healthcareapis/azure-resourcemanager-healthcareapis/pom.xml +++ b/sdk/healthcareapis/azure-resourcemanager-healthcareapis/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml index 1a3dbd387569b..854ed11c3bc51 100644 --- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml +++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/hybridkubernetes/azure-resourcemanager-hybridkubernetes/pom.xml b/sdk/hybridkubernetes/azure-resourcemanager-hybridkubernetes/pom.xml index c283e2a8c42ec..ee96de97eabbd 100644 --- a/sdk/hybridkubernetes/azure-resourcemanager-hybridkubernetes/pom.xml +++ b/sdk/hybridkubernetes/azure-resourcemanager-hybridkubernetes/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/hybridnetwork/azure-resourcemanager-hybridnetwork/pom.xml b/sdk/hybridnetwork/azure-resourcemanager-hybridnetwork/pom.xml index 40bf4fc4e1148..ef99035f31af7 100644 --- a/sdk/hybridnetwork/azure-resourcemanager-hybridnetwork/pom.xml +++ b/sdk/hybridnetwork/azure-resourcemanager-hybridnetwork/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/identity/azure-identity/pom.xml b/sdk/identity/azure-identity/pom.xml index f604058733912..370c06d9a2f8c 100644 --- a/sdk/identity/azure-identity/pom.xml +++ b/sdk/identity/azure-identity/pom.xml @@ -31,17 +31,12 @@ com.azure azure-core - 1.20.0 - - - com.azure - azure-core-experimental - 1.0.0-beta.18 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.microsoft.azure @@ -85,14 +80,14 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.google.code.gson gson - 2.8.7 + 2.8.8 test diff --git a/sdk/identity/azure-identity/src/main/java/com/azure/identity/CredentialBuilderBase.java b/sdk/identity/azure-identity/src/main/java/com/azure/identity/CredentialBuilderBase.java index c5f58b1e86e9c..8297cd5f71c8e 100644 --- a/sdk/identity/azure-identity/src/main/java/com/azure/identity/CredentialBuilderBase.java +++ b/sdk/identity/azure-identity/src/main/java/com/azure/identity/CredentialBuilderBase.java @@ -92,7 +92,7 @@ public T httpClient(HttpClient client) { /** * Allows to override the tenant being used in the authentication request - * via {@link com.azure.core.experimental.credential.TokenRequestContextExperimental#setTenantId(String)}. + * via {@link com.azure.core.credential.TokenRequestContext#setTenantId(String)}. * * @return An updated instance of this builder. */ diff --git a/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/util/IdentityUtil.java b/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/util/IdentityUtil.java index 737b1adf8dfa6..0b7ee13a42aa3 100644 --- a/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/util/IdentityUtil.java +++ b/sdk/identity/azure-identity/src/main/java/com/azure/identity/implementation/util/IdentityUtil.java @@ -5,7 +5,6 @@ import com.azure.core.credential.TokenRequestContext; import com.azure.core.exception.ClientAuthenticationException; -import com.azure.core.experimental.credential.TokenRequestContextExperimental; import com.azure.core.util.CoreUtils; import com.azure.core.util.logging.ClientLogger; import com.azure.identity.implementation.IdentityClientOptions; @@ -24,13 +23,7 @@ private IdentityUtil() { } public static String resolveTenantId(String currentTenantId, TokenRequestContext requestContext, IdentityClientOptions options) { - String contextTenantId; - if (requestContext instanceof TokenRequestContextExperimental) { - TokenRequestContextExperimental experimental = ((TokenRequestContextExperimental) requestContext); - contextTenantId = experimental.getTenantId(); - } else { - return currentTenantId; - } + String contextTenantId = requestContext.getTenantId(); if (!options.isMultiTenantAuthenticationAllowed()) { if (contextTenantId != null && !currentTenantId.equals(contextTenantId) diff --git a/sdk/identity/azure-identity/src/main/java/module-info.java b/sdk/identity/azure-identity/src/main/java/module-info.java index 7c5b04a558c3d..7f381e7f172eb 100644 --- a/sdk/identity/azure-identity/src/main/java/module-info.java +++ b/sdk/identity/azure-identity/src/main/java/module-info.java @@ -3,7 +3,6 @@ module com.azure.identity { requires transitive com.azure.core; - requires transitive com.azure.core.experimental; requires msal4j; requires msal4j.persistence.extension; diff --git a/sdk/identity/azure-identity/src/test/java/com/azure/identity/util/IdentityUtilTests.java b/sdk/identity/azure-identity/src/test/java/com/azure/identity/util/IdentityUtilTests.java index d61cdf69cb31c..cc6a126df821c 100644 --- a/sdk/identity/azure-identity/src/test/java/com/azure/identity/util/IdentityUtilTests.java +++ b/sdk/identity/azure-identity/src/test/java/com/azure/identity/util/IdentityUtilTests.java @@ -3,8 +3,8 @@ package com.azure.identity.util; +import com.azure.core.credential.TokenRequestContext; import com.azure.core.exception.ClientAuthenticationException; -import com.azure.core.experimental.credential.TokenRequestContextExperimental; import com.azure.identity.implementation.IdentityClientOptions; import com.azure.identity.implementation.util.IdentityUtil; import org.junit.Assert; @@ -20,7 +20,7 @@ public class IdentityUtilTests { public void testMultiTenantAuthenticationEnabled() throws Exception { String currentTenant = "tenant"; String newTenant = "tenant-new"; - TokenRequestContextExperimental trc = new TokenRequestContextExperimental() + TokenRequestContext trc = new TokenRequestContext() .setScopes(Arrays.asList("http://vault.azure.net/.default")) .setTenantId(newTenant); IdentityClientOptions options = new IdentityClientOptions(); @@ -33,7 +33,7 @@ public void testMultiTenantAuthenticationEnabled() throws Exception { public void testMultiTenantAuthenticationDisabled() throws Exception { String currentTenant = "tenant"; String newTenant = "tenant-new"; - TokenRequestContextExperimental trc = new TokenRequestContextExperimental() + TokenRequestContext trc = new TokenRequestContext() .setScopes(Arrays.asList("http://vault.azure.net/.default")) .setTenantId("newTenant"); IdentityClientOptions options = new IdentityClientOptions(); diff --git a/sdk/imagebuilder/azure-resourcemanager-imagebuilder/pom.xml b/sdk/imagebuilder/azure-resourcemanager-imagebuilder/pom.xml index d1759c55dfc3c..a257bd3d59207 100644 --- a/sdk/imagebuilder/azure-resourcemanager-imagebuilder/pom.xml +++ b/sdk/imagebuilder/azure-resourcemanager-imagebuilder/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/iotcentral/azure-resourcemanager-iotcentral/pom.xml b/sdk/iotcentral/azure-resourcemanager-iotcentral/pom.xml index decf4bb448c24..136d992f3a36b 100644 --- a/sdk/iotcentral/azure-resourcemanager-iotcentral/pom.xml +++ b/sdk/iotcentral/azure-resourcemanager-iotcentral/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/iothub/azure-resourcemanager-iothub/pom.xml b/sdk/iothub/azure-resourcemanager-iothub/pom.xml index eca849b649497..2375ecf4e84e7 100644 --- a/sdk/iothub/azure-resourcemanager-iothub/pom.xml +++ b/sdk/iothub/azure-resourcemanager-iothub/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -66,7 +66,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/keyvault/azure-security-keyvault-administration/pom.xml b/sdk/keyvault/azure-security-keyvault-administration/pom.xml index 3e972f45b8869..d4e8b9b28511a 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-administration/pom.xml @@ -45,12 +45,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -80,19 +80,19 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClient.java index 21d77ca75b7a9..d8f5e8eb2d1f4 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClient.java @@ -384,10 +384,10 @@ Mono> setRoleDefinitionWithResponse(SetRoleDefi options.getRoleDefinitionName(), parameters, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> - logger.verbose("Creating role assignment - {}", options.getRoleDefinitionName())) - .doOnSuccess(response -> logger.verbose("Created role assignment - {}", response.getValue().getName())) + logger.verbose("Creating role definition - {}", options.getRoleDefinitionName())) + .doOnSuccess(response -> logger.verbose("Created role definition - {}", response.getValue().getName())) .doOnError(error -> - logger.warning("Failed to create role assignment - {}", options.getRoleDefinitionName(), error)) + logger.warning("Failed to create role definition - {}", options.getRoleDefinitionName(), error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(KeyVaultAccessControlAsyncClient::transformRoleDefinitionResponse); } catch (RuntimeException e) { @@ -471,11 +471,11 @@ Mono> getRoleDefinitionWithResponse(KeyVaultRol return clientImpl.getRoleDefinitions() .getWithResponseAsync(vaultUrl, roleScope.toString(), roleDefinitionName, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) - .doOnRequest(ignored -> logger.verbose("Retrieving role assignment - {}", roleDefinitionName)) + .doOnRequest(ignored -> logger.verbose("Retrieving role definition - {}", roleDefinitionName)) .doOnSuccess(response -> - logger.verbose("Retrieved role assignment - {}", response.getValue().getName())) + logger.verbose("Retrieved role definition - {}", response.getValue().getName())) .doOnError(error -> - logger.warning("Failed to retrieved role assignment - {}", roleDefinitionName, error)) + logger.warning("Failed to retrieved role definition - {}", roleDefinitionName, error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(KeyVaultAccessControlAsyncClient::transformRoleDefinitionResponse); } catch (RuntimeException e) { @@ -555,9 +555,9 @@ Mono> deleteRoleDefinitionWithResponse(KeyVaultRoleScope roleScop return clientImpl.getRoleDefinitions() .deleteWithResponseAsync(vaultUrl, roleScope.toString(), roleDefinitionName, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) - .doOnRequest(ignored -> logger.verbose("Deleting role assignment - {}", roleDefinitionName)) - .doOnSuccess(response -> logger.verbose("Deleted role assignment - {}", response.getValue().getName())) - .doOnError(error -> logger.warning("Failed to delete role assignment - {}", roleDefinitionName, error)) + .doOnRequest(ignored -> logger.verbose("Deleting role definition - {}", roleDefinitionName)) + .doOnSuccess(response -> logger.verbose("Deleted role definition - {}", response.getValue().getName())) + .doOnError(error -> logger.warning("Failed to delete role definition - {}", roleDefinitionName, error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(response -> (Response) new SimpleResponse(response, null)) .onErrorResume(KeyVaultAdministrationException.class, e -> @@ -897,7 +897,7 @@ Mono> getRoleAssignmentWithResponse(KeyVaultRol .doOnSuccess(response -> logger.verbose("Retrieved role assignment - {}", response.getValue().getName())) .doOnError(error -> - logger.warning("Failed to retrieved role assignment - {}", roleAssignmentName, error)) + logger.warning("Failed to retrieve role assignment - {}", roleAssignmentName, error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentResponse); } catch (RuntimeException e) { diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultCredentialPolicy.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultCredentialPolicy.java index 947721a0cdc4a..25140f45b35d0 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultCredentialPolicy.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultCredentialPolicy.java @@ -1,125 +1,186 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.security.keyvault.administration.implementation; import com.azure.core.credential.TokenCredential; import com.azure.core.credential.TokenRequestContext; import com.azure.core.http.HttpPipelineCallContext; -import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.util.CoreUtils; -import com.azure.core.util.logging.ClientLogger; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.net.URL; +import java.nio.ByteBuffer; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** - * A policy that authenticates requests with Azure Key Vault service. The content added by this policy is leveraged - * in {@link TokenCredential} to get and set the correct "Authorization" header value. + * A policy that authenticates requests with the Azure Key Vault service. The content added by this policy is + * leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. * * @see TokenCredential */ -public final class KeyVaultCredentialPolicy implements HttpPipelinePolicy { - private final ClientLogger logger = new ClientLogger(KeyVaultCredentialPolicy.class); - private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; +public class KeyVaultCredentialPolicy extends BearerTokenAuthenticationPolicy { private static final String BEARER_TOKEN_PREFIX = "Bearer "; - private static final String AUTHORIZATION = "Authorization"; - private final ScopeTokenCache cache; + private static final String CONTENT_LENGTH_HEADER = "Content-Length"; + private static final String KEY_VAULT_STASHED_CONTENT_KEY = "KeyVaultCredentialPolicyStashedBody"; + private static final String KEY_VAULT_STASHED_CONTENT_LENGTH_KEY = "KeyVaultCredentialPolicyStashedContentLength"; + private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; + private static final ConcurrentMap SCOPE_CACHE = new ConcurrentHashMap<>(); + private String scope; /** - * Creates KeyVaultCredentialPolicy. + * Creates a {@link KeyVaultCredentialPolicy}. * - * @param credential the token credential to authenticate the request + * @param credential The token credential to authenticate the request. */ public KeyVaultCredentialPolicy(TokenCredential credential) { - Objects.requireNonNull(credential); - - this.cache = new ScopeTokenCache(credential::getToken); - } - - /** - * Adds the required header to authenticate a request to Azure Key Vault service. - * - * @param context The request {@link HttpPipelineCallContext context}. - * @param next The next HTTP pipeline policy to process the {@link HttpPipelineCallContext context's} request - * after this policy completes. - * @return A {@link Mono} representing the {@link HttpResponse HTTP response} that will arrive asynchronously. - */ - @Override - public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { - if (!context.getHttpRequest().getUrl().getProtocol().startsWith("https")) { - return Mono.error(new RuntimeException("Token credentials require a URL using the HTTPS protocol scheme")); - } - - return next.clone().process() - .doOnNext(httpResponse -> { - // KV follows challenge based auth. Currently every service - // call hit the endpoint for challenge and then resend the - // request with token. The challenge response body is not - // consumed, not draining/closing the body will result in leak. - // Ref: https://github.com/Azure/azure-sdk-for-java/issues/7934 - // https://github.com/Azure/azure-sdk-for-java/issues/10467 - try { - httpResponse.getBody().subscribe().dispose(); - } catch (RuntimeException ignored) { - logger.logExceptionAsWarning(ignored); - } - // The ReactorNettyHttpResponse::close() should be sufficient - // and should take care similar body disposal but looks like that - // is not happening, need to re-visit the close() method. - }) - .map(res -> res.getHeaderValue(WWW_AUTHENTICATE)) - .map(header -> extractChallenge(header, BEARER_TOKEN_PREFIX)) - .flatMap(map -> { - cache.setTokenRequest(new TokenRequestContext().addScopes(map.get("resource") + "/.default")); - return cache.getToken(); - }) - .flatMap(token -> { - context.getHttpRequest().setHeader(AUTHORIZATION, BEARER_TOKEN_PREFIX + token.getToken()); - return next.process(); - }); + super(credential); } /** - * Extracts the challenge off the authentication header. + * Extracts attributes off the bearer challenge in the authentication header. * - * @param authenticateHeader The authentication header containing all the challenges. + * @param authenticateHeader The authentication header containing the challenge. * @param authChallengePrefix The authentication challenge name. - * @return A challenge map. + * + * @return A challenge attributes map. */ - private static Map extractChallenge(String authenticateHeader, String authChallengePrefix) { - if (!isValidChallenge(authenticateHeader, authChallengePrefix)) { - return null; + private static Map extractChallengeAttributes(String authenticateHeader, + String authChallengePrefix) { + if (!isBearerChallenge(authenticateHeader, authChallengePrefix)) { + return Collections.emptyMap(); } authenticateHeader = authenticateHeader.toLowerCase(Locale.ROOT).replace(authChallengePrefix.toLowerCase(Locale.ROOT), ""); - String[] challenges = authenticateHeader.split(", "); - Map challengeMap = new HashMap<>(); + String[] attributes = authenticateHeader.split(", "); + Map attributeMap = new HashMap<>(); - for (String pair : challenges) { + for (String pair : attributes) { String[] keyValue = pair.split("="); - challengeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); + + attributeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); } - return challengeMap; + return attributeMap; } /** * Verifies whether a challenge is bearer or not. * - * @param authenticateHeader The authentication header containing all the challenges. + * @param authenticateHeader The authentication header containing all the challenges. * @param authChallengePrefix The authentication challenge name. - * @return A boolean indicating tha challenge is valid or not. + * @return A boolean indicating if the challenge is a bearer challenge or not. */ - private static boolean isValidChallenge(String authenticateHeader, String authChallengePrefix) { + private static boolean isBearerChallenge(String authenticateHeader, String authChallengePrefix) { return (!CoreUtils.isNullOrEmpty(authenticateHeader) && authenticateHeader.toLowerCase(Locale.ROOT).startsWith(authChallengePrefix.toLowerCase(Locale.ROOT))); } + + @Override + public Mono authorizeRequest(HttpPipelineCallContext context) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + + // If this policy doesn't have an authorityScope cached try to get it from the static challenge cache. + if (this.scope == null) { + String authority = getRequestAuthority(request); + this.scope = SCOPE_CACHE.get(authority); + } + + if (this.scope != null) { + // We fetched the scope from the cache, but we have not initialized the scopes in the base yet. + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext); + } + + // The body is removed from the initial request because Key Vault supports other authentication schemes which + // also protect the body of the request. As a result, before we know the auth scheme we need to avoid sending + // an unprotected body to Key Vault. We don't currently support this enhanced auth scheme in the SDK but we + // still don't want to send any unprotected data to vaults which require it. + + // Do not overwrite previous contents if retrying after initial request failed (e.g. timeout). + if (!context.getData(KEY_VAULT_STASHED_CONTENT_KEY).isPresent()) { + if (request.getBody() != null) { + context.setData(KEY_VAULT_STASHED_CONTENT_KEY, request.getBody()); + context.setData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY, + request.getHeaders().getValue(CONTENT_LENGTH_HEADER)); + request.setHeader(CONTENT_LENGTH_HEADER, "0"); + request.setBody((Flux) null); + } + } + + return Mono.empty(); + }); + } + + @SuppressWarnings("unchecked") + @Override + public Mono authorizeRequestOnChallenge(HttpPipelineCallContext context, HttpResponse response) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + Optional contentOptional = context.getData(KEY_VAULT_STASHED_CONTENT_KEY); + Optional contentLengthOptional = context.getData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY); + + if (request.getBody() == null && contentOptional.isPresent() && contentLengthOptional.isPresent()) { + request.setBody((Flux) contentOptional.get()); + request.setHeader(CONTENT_LENGTH_HEADER, (String) contentLengthOptional.get()); + } + + String authority = getRequestAuthority(request); + Map challengeAttributes = + extractChallengeAttributes(response.getHeaderValue(WWW_AUTHENTICATE), BEARER_TOKEN_PREFIX); + String scope = challengeAttributes.get("resource"); + + if (scope != null) { + scope = scope + "/.default"; + } else { + scope = challengeAttributes.get("scope"); + } + + if (scope == null) { + this.scope = SCOPE_CACHE.get(authority); + + if (this.scope == null) { + return Mono.just(false); + } + } else { + this.scope = scope; + + SCOPE_CACHE.put(authority, this.scope); + } + + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext) + .then(Mono.just(true)); + }); + } + + static void clearCache() { + SCOPE_CACHE.clear(); + } + + private static String getRequestAuthority(HttpRequest request) { + URL url = request.getUrl(); + String authority = url.getAuthority(); + int port = url.getPort(); + + if (!authority.contains(":") && port > 0) { + authority = authority + ":" + port; + } + + return authority; + } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/ScopeTokenCache.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/ScopeTokenCache.java deleted file mode 100644 index c7f1aaba7b6da..0000000000000 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/ScopeTokenCache.java +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.security.keyvault.administration.implementation; - -import com.azure.core.credential.AccessToken; -import com.azure.core.credential.TokenRequestContext; -import reactor.core.publisher.FluxSink; -import reactor.core.publisher.Mono; -import reactor.core.publisher.ReplayProcessor; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Function; - -/** - * A token cache that supports caching a token and refreshing it. - */ -class ScopeTokenCache { - private final AtomicBoolean wip; - private AccessToken cache; - private final ReplayProcessor emitterProcessor = ReplayProcessor.create(1); - private final FluxSink sink = emitterProcessor.sink(FluxSink.OverflowStrategy.BUFFER); - private final Function> getNew; - private TokenRequestContext request; - - - /** - * Creates an instance of RefreshableTokenCredential with default scheme "Bearer". - * - * @param getNew a method to get a new token - */ - ScopeTokenCache(Function> getNew) { - this.wip = new AtomicBoolean(false); - this.getNew = getNew; - } - - public void setTokenRequest(TokenRequestContext request) { - this.request = request; - } - - /** - * Asynchronously get a token from either the cache or replenish the cache with a new token. - * @return a Publisher that emits an AccessToken - */ - public Mono getToken() { - if (cache != null && !cache.isExpired()) { - return Mono.just(cache); - } - return Mono.defer(() -> { - if (!wip.getAndSet(true)) { - return getNew.apply(request).doOnNext(ac -> cache = ac) - .doOnNext(sink::next) - .doOnError(sink::error) - .doOnTerminate(() -> wip.set(false)); - } else { - return emitterProcessor.next(); - } - }); - } -} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClientTest.java index f09fa9df676bd..08359dc33fcee 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClientTest.java @@ -15,8 +15,9 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; +import java.time.Duration; + import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -39,8 +40,8 @@ public void listRoleDefinitions(HttpClient httpClient) { assertNotNull(roleDefinition.getRoleName()); assertNotNull(roleDefinition.getDescription()); assertNotNull(roleDefinition.getRoleType()); - assertFalse(roleDefinition.getAssignableScopes().isEmpty()); - assertFalse(roleDefinition.getPermissions().isEmpty()); + assertNotNull(roleDefinition.getAssignableScopes()); + assertNotNull(roleDefinition.getPermissions()); return true; }) @@ -59,7 +60,8 @@ public void setRoleDefinition(HttpClient httpClient) { try { // Create a role definition. - StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName)) + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO)) .assertNext(roleDefinition -> { assertNotNull(roleDefinition.getId()); assertEquals(roleDefinitionName, roleDefinition.getName()); @@ -73,11 +75,7 @@ public void setRoleDefinition(HttpClient httpClient) { .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, null); } } } @@ -94,8 +92,9 @@ public void getRoleDefinition(HttpClient httpClient) { try { // Create a role definition to retrieve, then get the role assignment. StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) - .flatMap(createdRoleDefinition -> Mono.zip(Mono.just(createdRoleDefinition), - asyncClient.getRoleDefinition(KeyVaultRoleScope.GLOBAL, createdRoleDefinition.getName())))) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(createdRoleDefinition -> Mono.zip(Mono.just(createdRoleDefinition), + asyncClient.getRoleDefinition(KeyVaultRoleScope.GLOBAL, createdRoleDefinition.getName())))) .assertNext(tuple -> { KeyVaultRoleDefinition createdRoleDefinition = tuple.getT1(); KeyVaultRoleDefinition retrievedRoleDefinition = tuple.getT2(); @@ -107,11 +106,7 @@ public void getRoleDefinition(HttpClient httpClient) { .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, null); } } } @@ -125,24 +120,15 @@ public void deleteRoleDefinition(HttpClient httpClient) { asyncClient = getClientBuilder(httpClient, false).buildAsyncClient(); String roleDefinitionName = testResourceNamer.randomUuid(); - try { - // Create a role definition to delete, then delete the role definition. - StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + // Create a role definition to delete, then delete the role definition. + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) .flatMap(createdRoleDefinition -> asyncClient.deleteRoleDefinitionWithResponse(KeyVaultRoleScope.GLOBAL, createdRoleDefinition.getName()))) - .assertNext(deleteResponse -> assertEquals(200, deleteResponse.getStatusCode())) - .expectComplete() - .verify(); - } finally { - if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinitionName).block(); - } - } + .assertNext(deleteResponse -> assertEquals(200, deleteResponse.getStatusCode())) + .expectComplete() + .verify(); } /** @@ -196,16 +182,17 @@ public void listRoleAssignments(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void createRoleAssignment(HttpClient httpClient) { asyncClient = getClientBuilder(httpClient, false).buildAsyncClient(); + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); try { // Create a role assignment to delete. - StepVerifier.create(asyncClient.listRoleDefinitions(KeyVaultRoleScope.GLOBAL) - .filter(roleDefinition -> roleDefinition.getRoleName().equals(ROLE_NAME)) - .take(1) - .flatMap(roleDefinition -> Mono.zip(Mono.just(roleDefinition), - asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), servicePrincipalId, - roleAssignmentName)))) + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleDefinition -> Mono.zip(Mono.just(roleDefinition), + asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), + servicePrincipalId, roleAssignmentName))) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO)) .assertNext(tuple -> { KeyVaultRoleAssignment roleAssignment = tuple.getT2(); @@ -228,11 +215,8 @@ public void createRoleAssignment(HttpClient httpClient) { .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -245,28 +229,26 @@ public void createRoleAssignment(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void createExistingRoleAssignmentThrows(HttpClient httpClient) { asyncClient = getClientBuilder(httpClient, false).buildAsyncClient(); + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); try { // Create a role assignment to delete. - StepVerifier.create(asyncClient.listRoleDefinitions(KeyVaultRoleScope.GLOBAL) - .filter(roleDefinition -> roleDefinition.getRoleName().equals(ROLE_NAME)) - .take(1) - .flatMap(roleDefinition -> - asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName)) - .flatMap(roleAssignment -> - asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, - roleAssignment.getProperties().getRoleDefinitionId(), servicePrincipalId, roleAssignmentName))) + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleDefinition -> + asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), + servicePrincipalId, roleAssignmentName)) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleAssignment -> + asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, + roleAssignment.getProperties().getRoleDefinitionId(), servicePrincipalId, roleAssignmentName))) .expectError(KeyVaultAdministrationException.class) .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -278,18 +260,19 @@ public void createExistingRoleAssignmentThrows(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void getRoleAssignment(HttpClient httpClient) { asyncClient = getClientBuilder(httpClient, false).buildAsyncClient(); + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); try { // Create a role assignment to delete. - StepVerifier.create(asyncClient.listRoleDefinitions(KeyVaultRoleScope.GLOBAL) - .filter(roleDefinition -> roleDefinition.getRoleName().equals(ROLE_NAME)) - .take(1) - .flatMap(roleDefinition -> - asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName)) - .flatMap(roleAssignment -> Mono.zip(Mono.just(roleAssignment), - asyncClient.getRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignment.getName())))) + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleDefinition -> + asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), + servicePrincipalId, roleAssignmentName)) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleAssignment -> Mono.zip(Mono.just(roleAssignment), + asyncClient.getRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignment.getName())))) .assertNext(tuple -> { KeyVaultRoleAssignment createdRoleAssignment = tuple.getT1(); KeyVaultRoleAssignment retrievedRoleAssignment = tuple.getT2(); @@ -301,11 +284,8 @@ public void getRoleAssignment(HttpClient httpClient) { .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -317,28 +297,26 @@ public void getRoleAssignment(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void deleteRoleAssignment(HttpClient httpClient) { asyncClient = getClientBuilder(httpClient, false).buildAsyncClient(); + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); try { // Create a role assignment to delete. - StepVerifier.create(asyncClient.listRoleDefinitions(KeyVaultRoleScope.GLOBAL) - .filter(roleDefinition -> roleDefinition.getRoleName().equals(ROLE_NAME)) - .take(1) - .flatMap(roleDefinition -> - asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), servicePrincipalId, - roleAssignmentName)) - .flatMap(roleAssignment -> - asyncClient.deleteRoleAssignmentWithResponse(KeyVaultRoleScope.GLOBAL, roleAssignment.getName()))) + StepVerifier.create(asyncClient.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleDefinition -> + asyncClient.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), servicePrincipalId, + roleAssignmentName)) + .delayElement(!interceptorManager.isPlaybackMode() ? Duration.ofSeconds(5) : Duration.ZERO) + .flatMap(roleAssignment -> + asyncClient.deleteRoleAssignmentWithResponse(KeyVaultRoleScope.GLOBAL, roleAssignment.getName()))) .assertNext(deleteResponse -> assertEquals(200, deleteResponse.getStatusCode())) .expectComplete() .verify(); } finally { if (!interceptorManager.isPlaybackMode()) { - // Clean up the role assignment. - KeyVaultAccessControlAsyncClient cleanupClient = - getClientBuilder(httpClient, true).buildAsyncClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName).block(); + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTest.java index 0ea6e0583b30d..03a6331f49389 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTest.java @@ -17,7 +17,6 @@ import org.junit.jupiter.params.provider.MethodSource; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -43,8 +42,8 @@ public void listRoleDefinitions(HttpClient httpClient) { assertNotNull(roleDefinition.getRoleName()); assertNotNull(roleDefinition.getDescription()); assertNotNull(roleDefinition.getRoleType()); - assertFalse(roleDefinition.getAssignableScopes().isEmpty()); - assertFalse(roleDefinition.getPermissions().isEmpty()); + assertNotNull(roleDefinition.getAssignableScopes()); + assertNotNull(roleDefinition.getPermissions()); } } @@ -56,11 +55,11 @@ public void listRoleDefinitions(HttpClient httpClient) { public void setRoleDefinition(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); String roleDefinitionName = testResourceNamer.randomUuid(); - KeyVaultRoleDefinition roleDefinition = null; try { // Create a role definition. - roleDefinition = client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + KeyVaultRoleDefinition roleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); assertNotNull(roleDefinition); assertNotNull(roleDefinition.getId()); @@ -71,11 +70,8 @@ public void setRoleDefinition(HttpClient httpClient) { assertEquals(KeyVaultRoleType.CUSTOM_ROLE, roleDefinition.getRoleType()); assertEquals(roleDefinitionName, roleDefinition.getRoleName()); } finally { - if (!interceptorManager.isPlaybackMode() && roleDefinition != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, null); } } } @@ -88,11 +84,11 @@ public void setRoleDefinition(HttpClient httpClient) { public void getRoleDefinition(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); String roleDefinitionName = testResourceNamer.randomUuid(); - KeyVaultRoleDefinition createdRoleDefinition = null; try { // Create a role definition to retrieve. - createdRoleDefinition = client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); assertNotNull(createdRoleDefinition); @@ -103,11 +99,8 @@ public void getRoleDefinition(HttpClient httpClient) { assertNotNull(retrievedRoleDefinition); assertRoleDefinitionEquals(createdRoleDefinition, retrievedRoleDefinition); } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleDefinition != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, null); } } } @@ -120,28 +113,19 @@ public void getRoleDefinition(HttpClient httpClient) { public void deleteRoleDefinition(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); String roleDefinitionName = testResourceNamer.randomUuid(); - KeyVaultRoleDefinition createdRoleDefinition = null; - - try { - // Create a role definition to delete. - createdRoleDefinition = client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); - assertNotNull(createdRoleDefinition); + // Create a role definition to delete. + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); - // Delete the role definition. - Response deleteResponse = - client.deleteRoleDefinitionWithResponse(KeyVaultRoleScope.GLOBAL, roleDefinitionName, Context.NONE); + assertNotNull(createdRoleDefinition); - assertNotNull(deleteResponse); - assertEquals(200, deleteResponse.getStatusCode()); - } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleDefinition != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); + // Delete the role definition. + Response deleteResponse = + client.deleteRoleDefinitionWithResponse(KeyVaultRoleScope.GLOBAL, roleDefinitionName, Context.NONE); - cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); - } - } + assertNotNull(deleteResponse); + assertEquals(200, deleteResponse.getStatusCode()); } /** @@ -193,26 +177,18 @@ public void listRoleAssignments(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void createRoleAssignment(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); - PagedIterable roleDefinitions = client.listRoleDefinitions(KeyVaultRoleScope.GLOBAL); - KeyVaultRoleDefinition roleDefinition = null; - - for (KeyVaultRoleDefinition currentRoleDefinition : roleDefinitions) { - if (currentRoleDefinition.getRoleName().equals(ROLE_NAME)) { - roleDefinition = currentRoleDefinition; - - break; - } - } - - assertNotNull(roleDefinition); - + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); - KeyVaultRoleAssignment createdRoleAssignment = null; try { + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + + assertNotNull(createdRoleDefinition); + // Create a role assignment. - createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName); + KeyVaultRoleAssignment createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, + createdRoleDefinition.getId(), servicePrincipalId, roleAssignmentName); assertNotNull(createdRoleAssignment); assertNotNull(createdRoleAssignment.getId()); @@ -223,14 +199,12 @@ public void createRoleAssignment(HttpClient httpClient) { assertNotNull(properties); assertEquals(servicePrincipalId, properties.getPrincipalId()); - assertEquals(roleDefinition.getId(), properties.getRoleDefinitionId()); + assertEquals(createdRoleDefinition.getId(), properties.getRoleDefinitionId()); assertEquals(KeyVaultRoleScope.GLOBAL, properties.getScope()); } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleAssignment != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -243,39 +217,27 @@ public void createRoleAssignment(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void createExistingRoleAssignmentThrows(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); - PagedIterable roleDefinitions = client.listRoleDefinitions(KeyVaultRoleScope.GLOBAL); - KeyVaultRoleDefinition roleDefinition = null; - - for (KeyVaultRoleDefinition currentRoleDefinition : roleDefinitions) { - if (currentRoleDefinition.getRoleName().equals(ROLE_NAME)) { - roleDefinition = currentRoleDefinition; - - break; - } - } - - assertNotNull(roleDefinition); - + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); - KeyVaultRoleAssignment createdRoleAssignment = null; try { - // Create a role assignment. - createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName); + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); - KeyVaultRoleDefinition finalRoleDefinition = roleDefinition; + assertNotNull(createdRoleDefinition); + + // Create a role assignment. + client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, createdRoleDefinition.getId(), servicePrincipalId, + roleAssignmentName); // Attempt to create a role assignment with the same name and scope. assertThrows(KeyVaultAdministrationException.class, - () -> client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, finalRoleDefinition.getId(), + () -> client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, createdRoleDefinition.getId(), servicePrincipalId, roleAssignmentName)); } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleAssignment != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -287,27 +249,18 @@ public void createExistingRoleAssignmentThrows(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void getRoleAssignment(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); - PagedIterable roleDefinitions = - client.listRoleDefinitions(KeyVaultRoleScope.GLOBAL); - KeyVaultRoleDefinition roleDefinition = null; - - for (KeyVaultRoleDefinition currentRoleDefinition : roleDefinitions) { - if (currentRoleDefinition.getRoleName().equals(ROLE_NAME)) { - roleDefinition = currentRoleDefinition; - - break; - } - } - - assertNotNull(roleDefinition); - + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); - KeyVaultRoleAssignment createdRoleAssignment = null; try { + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + + assertNotNull(createdRoleDefinition); + // Create a role assignment to retrieve. - createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName); + KeyVaultRoleAssignment createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, + createdRoleDefinition.getId(), servicePrincipalId, roleAssignmentName); assertNotNull(createdRoleAssignment); @@ -318,11 +271,9 @@ public void getRoleAssignment(HttpClient httpClient) { assertNotNull(retrievedRoleAssignment); assertRoleAssignmentEquals(createdRoleAssignment, retrievedRoleAssignment); } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleAssignment != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } @@ -334,27 +285,18 @@ public void getRoleAssignment(HttpClient httpClient) { @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") public void deleteRoleAssignment(HttpClient httpClient) { client = getClientBuilder(httpClient, false).buildClient(); - PagedIterable roleDefinitions = - client.listRoleDefinitions(KeyVaultRoleScope.GLOBAL); - KeyVaultRoleDefinition roleDefinition = null; - - for (KeyVaultRoleDefinition currentRoleDefinition : roleDefinitions) { - if (currentRoleDefinition.getRoleName().equals(ROLE_NAME)) { - roleDefinition = currentRoleDefinition; - - break; - } - } - - assertNotNull(roleDefinition); - + String roleDefinitionName = testResourceNamer.randomUuid(); String roleAssignmentName = testResourceNamer.randomUuid(); - KeyVaultRoleAssignment createdRoleAssignment = null; try { + KeyVaultRoleDefinition createdRoleDefinition = + client.setRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + + assertNotNull(createdRoleDefinition); + // Create a role assignment to delete. - createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, roleDefinition.getId(), - servicePrincipalId, roleAssignmentName); + KeyVaultRoleAssignment createdRoleAssignment = client.createRoleAssignment(KeyVaultRoleScope.GLOBAL, + createdRoleDefinition.getId(), servicePrincipalId, roleAssignmentName); assertNotNull(createdRoleAssignment); @@ -365,11 +307,9 @@ public void deleteRoleAssignment(HttpClient httpClient) { assertNotNull(deleteResponse); assertEquals(200, deleteResponse.getStatusCode()); } finally { - if (!interceptorManager.isPlaybackMode() && createdRoleAssignment != null) { - // Clean up the role assignment. - KeyVaultAccessControlClient cleanupClient = getClientBuilder(httpClient, true).buildClient(); - - cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName); + if (!interceptorManager.isPlaybackMode()) { + cleanUpResources(getClientBuilder(httpClient, true).buildClient(), roleDefinitionName, + roleAssignmentName); } } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java index 16837bb5a05b3..fa271bed502c8 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java @@ -2,11 +2,14 @@ // Licensed under the MIT License. package com.azure.security.keyvault.administration; +import com.azure.core.exception.HttpResponseException; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.test.TestMode; +import com.azure.core.util.Configuration; +import com.azure.core.util.logging.ClientLogger; import com.azure.security.keyvault.administration.models.KeyVaultPermission; import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignment; import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignmentProperties; @@ -21,8 +24,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public abstract class KeyVaultAccessControlClientTestBase extends KeyVaultAdministrationClientTestBase { - protected static final String ROLE_NAME = "Managed HSM Crypto Officer"; - protected final String servicePrincipalId = "49acc88b-8f9e-4619-9856-16691db66767"; + protected final String servicePrincipalId = + Configuration.getGlobalConfiguration().get("CLIENT_OBJECTID", "49acc88b-8f9e-4619-9856-16691db66767"); + private static final ClientLogger LOGGER = new ClientLogger(KeyVaultAccessControlClientTestBase.class); protected KeyVaultAccessControlClientBuilder getClientBuilder(HttpClient httpClient, boolean forCleanup) { List policies = getPolicies(); @@ -128,4 +132,27 @@ static void assertRoleDefinitionEquals(KeyVaultRoleDefinition roleDefinition1, assertEquals(permissions1.size(), permissions2.size()); } + + static void cleanUpResources(KeyVaultAccessControlClient cleanupClient, String roleDefinitionName, + String roleAssignmentName) { + if (roleDefinitionName != null) { + try { + cleanupClient.deleteRoleDefinition(KeyVaultRoleScope.GLOBAL, roleDefinitionName); + } catch (HttpResponseException e) { + if (e.getResponse().getStatusCode() == 404) { + LOGGER.info("Ignored 404 produced when trying to delete role definition."); + } + } + } + + if (roleAssignmentName != null) { + try { + cleanupClient.deleteRoleAssignment(KeyVaultRoleScope.GLOBAL, roleAssignmentName); + } catch (HttpResponseException e) { + if (e.getResponse().getStatusCode() == 404) { + LOGGER.info("Ignored 404 produced when trying to delete role assignment."); + } + } + } + } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupAsyncClientTest.java index 4897bc93e7b47..672426127b762 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupAsyncClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupAsyncClientTest.java @@ -22,7 +22,6 @@ import java.time.OffsetDateTime; import java.time.ZoneOffset; -import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.spy; @@ -68,15 +67,28 @@ public void beginRestore(HttpClient httpClient) { // Create a backup AsyncPollResponse backupPollResponse = - asyncClient.beginBackup(blobStorageUrl, sasToken).blockLast(); + asyncClient.beginBackup(blobStorageUrl, sasToken) + .takeUntil(asyncPollResponse -> + asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) + .blockLast(); - // Restore the backup - String backupFolderUrl = backupPollResponse.getFinalResult().block(); + KeyVaultBackupOperation backupOperation = backupPollResponse.getValue(); + assertNotNull(backupOperation); + // Restore the backup + String backupFolderUrl = backupOperation.getAzureStorageBlobContainerUrl(); AsyncPollResponse restorePollResponse = - asyncClient.beginRestore(backupFolderUrl, sasToken).blockLast(); + asyncClient.beginRestore(backupFolderUrl, sasToken) + .takeUntil(asyncPollResponse -> + asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) + .blockLast(); + + KeyVaultRestoreOperation restoreOperation = restorePollResponse.getValue(); + assertNotNull(restoreOperation); - assertEquals(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, restorePollResponse.getStatus()); + // For some reason, the service might still think a restore operation is running even after returning a success + // signal. This gives it some time to "clear" the operation. + sleepIfRunningAgainstService(30000); } /** @@ -92,9 +104,7 @@ public void beginSelectiveKeyRestore(HttpClient httpClient) { .pipeline(getPipeline(httpClient, false)) .buildAsyncClient(); - String keyName = interceptorManager.isPlaybackMode() - ? "testKey" - : testResourceNamer.randomName("backupKey", 20); + String keyName = testResourceNamer.randomName("backupKey", 20); CreateRsaKeyOptions rsaKeyOptions = new CreateRsaKeyOptions(keyName) .setExpiresOn(OffsetDateTime.of(2050, 1, 30, 0, 0, 0, 0, ZoneOffset.UTC)) .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)); @@ -105,13 +115,27 @@ public void beginSelectiveKeyRestore(HttpClient httpClient) { // Create a backup AsyncPollResponse backupPollResponse = - asyncClient.beginBackup(blobStorageUrl, sasToken).blockLast(); + asyncClient.beginBackup(blobStorageUrl, sasToken) + .takeUntil(asyncPollResponse -> + asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) + .blockLast(); - // Restore the backup - String backupFolderUrl = backupPollResponse.getFinalResult().block(); - AsyncPollResponse selectiveKeyRestorePollResponse = - asyncClient.beginSelectiveKeyRestore(createdKey.getName(), backupFolderUrl, sasToken).blockLast(); + KeyVaultBackupOperation backupOperation = backupPollResponse.getValue(); + assertNotNull(backupOperation); - assertEquals(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, selectiveKeyRestorePollResponse.getStatus()); + // Restore the backup + String backupFolderUrl = backupOperation.getAzureStorageBlobContainerUrl(); + AsyncPollResponse restorePollResponse = + asyncClient.beginSelectiveKeyRestore(createdKey.getName(), backupFolderUrl, sasToken) + .takeUntil(asyncPollResponse -> + asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) + .blockLast(); + + KeyVaultSelectiveKeyRestoreOperation restoreOperation = restorePollResponse.getValue(); + assertNotNull(restoreOperation); + + // For some reason, the service might still think a restore operation is running even after returning a success + // signal. This gives it some time to "clear" the operation. + sleepIfRunningAgainstService(30000); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTest.java index f2c5c6a8db5be..9e6fb310f0ec3 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTest.java @@ -83,6 +83,10 @@ public void beginRestore(HttpClient httpClient) { PollResponse restoreResponse = restorePoller.poll(); assertEquals(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, restoreResponse.getStatus()); + + // For some reason, the service might still think a restore operation is running even after returning a success + // signal. This gives it some time to "clear" the operation. + sleepIfRunningAgainstService(30000); } /** @@ -97,9 +101,7 @@ public void beginSelectiveKeyRestore(HttpClient httpClient) { .pipeline(getPipeline(httpClient, false)) .buildClient(); - String keyName = interceptorManager.isPlaybackMode() - ? "testKey" - : testResourceNamer.randomName("backupKey", 20); + String keyName = testResourceNamer.randomName("backupKey", 20); CreateRsaKeyOptions rsaKeyOptions = new CreateRsaKeyOptions(keyName) .setExpiresOn(OffsetDateTime.of(2050, 1, 30, 0, 0, 0, 0, ZoneOffset.UTC)) .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)); @@ -123,5 +125,9 @@ public void beginSelectiveKeyRestore(HttpClient httpClient) { PollResponse response = selectiveKeyRestorePoller.poll(); assertEquals(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, response.getStatus()); + + // For some reason, the service might still think a restore operation is running even after returning a success + // signal. This gives it some time to "clear" the operation. + sleepIfRunningAgainstService(30000); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTestBase.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTestBase.java index c25fcf2533ad0..9ee261c45701f 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultBackupClientTestBase.java @@ -24,7 +24,7 @@ public abstract class KeyVaultBackupClientTestBase extends KeyVaultAdministrationClientTestBase { protected final String blobStorageUrl = IS_MANAGED_HSM_DEPLOYED ? getStorageEndpoint() + Configuration.getGlobalConfiguration().get("BLOB_CONTAINER_NAME") - : "https://testaccount.blob.core.windows.net/backup"; + : "https://azsdk-tests.blob.core.windows.net/backup"; protected final String sasToken = IS_MANAGED_HSM_DEPLOYED ? generateSasToken() : "someSasToken"; protected HttpPipeline getPipeline(HttpClient httpClient, boolean forCleanup) { diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json index a883123ce9865..625da5fb9729b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/39f32a31-b8b9-42cf-b771-78f46c1c56c4?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6944", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "37", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a4e41264-aecd-11eb-8eeb-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "57d2af42-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/39f32a31-b8b9-42cf-b771-78f46c1c56c4\",\"name\":\"39f32a31-b8b9-42cf-b771-78f46c1c56c4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"39f32a31-b8b9-42cf-b771-78f46c1c56c4\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/4553f6a9-6796-47cd-b4c9-16158db89f8a?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ef108f37-c73a-4a4a-8328-91a833571e16?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,20 +36,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "80", + "x-ms-server-latency" : "47", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a70ffecc-aecd-11eb-a764-000d3a3b7b4c", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4553f6a9-6796-47cd-b4c9-16158db89f8a\",\"name\":\"4553f6a9-6796-47cd-b4c9-16158db89f8a\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "5adbe2da-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ef108f37-c73a-4a4a-8328-91a833571e16\",\"name\":\"ef108f37-c73a-4a4a-8328-91a833571e16\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/39f32a31-b8b9-42cf-b771-78f46c1c56c4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/4553f6a9-6796-47cd-b4c9-16158db89f8a?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ef108f37-c73a-4a4a-8328-91a833571e16?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -63,12 +63,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "400", - "x-ms-request-id" : "a734027c-aecd-11eb-a764-000d3a3b7b4c", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: a734027c-aecd-11eb-a764-000d3a3b7b4c)\"}}", + "x-ms-request-id" : "5de86aac-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: 5de86aac-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "4553f6a9-6796-47cd-b4c9-16158db89f8a" ] -} + "variables" : [ "39f32a31-b8b9-42cf-b771-78f46c1c56c4", "ef108f37-c73a-4a4a-8328-91a833571e16" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json index 38301af6d250c..ecf7b8fa55a79 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/f23ded7d-3619-4a9a-aa08-08d41b27cb29?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6944", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", + "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9a0581de-aecd-11eb-a15d-000d3a59ae40", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "5e631e32-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/f23ded7d-3619-4a9a-aa08-08d41b27cb29\",\"name\":\"f23ded7d-3619-4a9a-aa08-08d41b27cb29\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"f23ded7d-3619-4a9a-aa08-08d41b27cb29\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/50b01e0e-a5af-4ab7-9965-08ec3145e6b1?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/de1560dc-21df-4c57-8839-d12a021121e4?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,17 +36,17 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "66", + "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "144c0f46-aec2-11eb-b2e9-000d3a3b7b4c", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/50b01e0e-a5af-4ab7-9965-08ec3145e6b1\",\"name\":\"50b01e0e-a5af-4ab7-9965-08ec3145e6b1\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "616de922-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/de1560dc-21df-4c57-8839-d12a021121e4\",\"name\":\"de1560dc-21df-4c57-8839-d12a021121e4\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/f23ded7d-3619-4a9a-aa08-08d41b27cb29\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "50b01e0e-a5af-4ab7-9965-08ec3145e6b1" ] -} + "variables" : [ "f23ded7d-3619-4a9a-aa08-08d41b27cb29", "de1560dc-21df-4c57-8839-d12a021121e4" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json index ee57e967337c1..c0c4723e59cf8 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json @@ -1,31 +1,7 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", - "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" - }, - "Response" : { - "content-length" : "6944", - "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", - "retry-after" : "0", - "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", - "content-security-policy" : "default-src 'self'", - "x-content-type-options" : "nosniff", - "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", - "cache-control" : "no-cache", - "x-ms-request-id" : "c1d8cf22-aecd-11eb-bc09-000d3a3b7b4c", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" - }, - "Exception" : null - }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ef2f0b3c-66d6-4ce5-bee0-38d7b0b65c65?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ee67c7cc-b17f-41ef-98e6-ca965ecf4eb0?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -38,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "c451257e-aecd-11eb-a15d-000d3a59ae40", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: c451257e-aecd-11eb-a15d-000d3a59ae40)\"}}", + "x-ms-request-id" : "4db80976-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: 4db80976-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "ef2f0b3c-66d6-4ce5-bee0-38d7b0b65c65" ] -} + "variables" : [ "ee67c7cc-b17f-41ef-98e6-ca965ecf4eb0" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json index 509a459488ed4..acd49c480033c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/4c4161e6-8e3e-474d-97a0-cb93cf58a46d?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/153614df-2fb1-4d7c-bc86-380c3224d100?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "7ece1070-aecd-11eb-8fdc-000d3a31c437", - "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: 7ece1070-aecd-11eb-8fdc-000d3a31c437)\"}}", - "x-ms-server-latency" : "0", + "x-ms-request-id" : "4714fa98-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: 4714fa98-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", + "x-ms-server-latency" : "2", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "4c4161e6-8e3e-474d-97a0-cb93cf58a46d" ] -} + "variables" : [ "153614df-2fb1-4d7c-bc86-380c3224d100" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json index a11f7c1a0efbb..a40df0084ff78 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/31329b8c-2087-4403-baf9-f4e8a59919cb?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6944", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ba551562-aecd-11eb-8e60-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "64c5bf78-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/31329b8c-2087-4403-baf9-f4e8a59919cb\",\"name\":\"31329b8c-2087-4403-baf9-f4e8a59919cb\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"31329b8c-2087-4403-baf9-f4e8a59919cb\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/8c0bac04-c964-4c64-85ad-92ed0f199ecf?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/1314dd80-f3c7-44b7-a7de-5cf4fe151223?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,20 +36,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "44", + "x-ms-server-latency" : "43", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "bb07fc18-aecd-11eb-a76a-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/8c0bac04-c964-4c64-85ad-92ed0f199ecf\",\"name\":\"8c0bac04-c964-4c64-85ad-92ed0f199ecf\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "67cf7038-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1314dd80-f3c7-44b7-a7de-5cf4fe151223\",\"name\":\"1314dd80-f3c7-44b7-a7de-5cf4fe151223\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/31329b8c-2087-4403-baf9-f4e8a59919cb\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/8c0bac04-c964-4c64-85ad-92ed0f199ecf?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/1314dd80-f3c7-44b7-a7de-5cf4fe151223?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -59,17 +59,17 @@ "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "55", + "x-ms-server-latency" : "47", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "bb2853f0-aecd-11eb-a76a-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/8c0bac04-c964-4c64-85ad-92ed0f199ecf\",\"name\":\"8c0bac04-c964-4c64-85ad-92ed0f199ecf\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6ad95938-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1314dd80-f3c7-44b7-a7de-5cf4fe151223\",\"name\":\"1314dd80-f3c7-44b7-a7de-5cf4fe151223\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/31329b8c-2087-4403-baf9-f4e8a59919cb\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "8c0bac04-c964-4c64-85ad-92ed0f199ecf" ] -} + "variables" : [ "31329b8c-2087-4403-baf9-f4e8a59919cb", "1314dd80-f3c7-44b7-a7de-5cf4fe151223" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json index 147589b96b07c..e58e90d196dd6 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/b6bea7ea-e108-45ed-8f02-8aa69ea2623f?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/aad6f4c9-e785-49c2-90a5-5d39bb6d0eac?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,20 +12,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "57", + "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "663112c4-aecd-11eb-a15d-000d3a59ae40", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"name\":\"b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "513ba404-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"name\":\"aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/b6bea7ea-e108-45ed-8f02-8aa69ea2623f?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/aad6f4c9-e785-49c2-90a5-5d39bb6d0eac?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -35,17 +35,17 @@ "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "44", + "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "66964360-aecd-11eb-b0c9-000d3a31c437", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"name\":\"b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b6bea7ea-e108-45ed-8f02-8aa69ea2623f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "5445b40a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"name\":\"aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"aad6f4c9-e785-49c2-90a5-5d39bb6d0eac\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "b6bea7ea-e108-45ed-8f02-8aa69ea2623f" ] -} + "variables" : [ "aad6f4c9-e785-49c2-90a5-5d39bb6d0eac" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json index c2c586bc07eff..02a18191af2c4 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/eff9ee1f-7d92-414e-af56-c7964859cf87?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6944", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "98", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ae761f98-aecd-11eb-8e60-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "4737a390-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/eff9ee1f-7d92-414e-af56-c7964859cf87\",\"name\":\"eff9ee1f-7d92-414e-af56-c7964859cf87\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"eff9ee1f-7d92-414e-af56-c7964859cf87\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/16d210a8-8b3a-45fd-88de-95abb0b63e41?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/81e27bc3-4165-4a71-a682-015fd8543955?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,27 +36,27 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "51", + "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b0ff365a-aecd-11eb-8eeb-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/16d210a8-8b3a-45fd-88de-95abb0b63e41\",\"name\":\"16d210a8-8b3a-45fd-88de-95abb0b63e41\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "4a4e9a16-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/81e27bc3-4165-4a71-a682-015fd8543955\",\"name\":\"81e27bc3-4165-4a71-a682-015fd8543955\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/eff9ee1f-7d92-414e-af56-c7964859cf87\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/16d210a8-8b3a-45fd-88de-95abb0b63e41?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/81e27bc3-4165-4a71-a682-015fd8543955?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", @@ -64,13 +64,13 @@ "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b11fe7a6-aecd-11eb-8eeb-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/16d210a8-8b3a-45fd-88de-95abb0b63e41\",\"name\":\"16d210a8-8b3a-45fd-88de-95abb0b63e41\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "4d5abe7e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/81e27bc3-4165-4a71-a682-015fd8543955\",\"name\":\"81e27bc3-4165-4a71-a682-015fd8543955\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/eff9ee1f-7d92-414e-af56-c7964859cf87\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "16d210a8-8b3a-45fd-88de-95abb0b63e41" ] -} + "variables" : [ "eff9ee1f-7d92-414e-af56-c7964859cf87", "81e27bc3-4165-4a71-a682-015fd8543955" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json index 89e8755063dcf..b277c8d276cc3 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/be9864ed-e256-488a-b98b-d119f9317afb?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/cf299caf-4c4f-43a1-bf9b-3542fe0d3007?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,41 +12,41 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "65", + "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5aa48ea4-aecd-11eb-a2cd-000d3a31c437", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/be9864ed-e256-488a-b98b-d119f9317afb\",\"name\":\"be9864ed-e256-488a-b98b-d119f9317afb\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"be9864ed-e256-488a-b98b-d119f9317afb\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "547560ba-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"name\":\"cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/be9864ed-e256-488a-b98b-d119f9317afb?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/cf299caf-4c4f-43a1-bf9b-3542fe0d3007?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", + "x-ms-server-latency" : "2", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5b09f834-aecd-11eb-b2e9-000d3a3b7b4c", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/be9864ed-e256-488a-b98b-d119f9317afb\",\"name\":\"be9864ed-e256-488a-b98b-d119f9317afb\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"be9864ed-e256-488a-b98b-d119f9317afb\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "577fdc22-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"name\":\"cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"cf299caf-4c4f-43a1-bf9b-3542fe0d3007\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "be9864ed-e256-488a-b98b-d119f9317afb" ] -} + "variables" : [ "cf299caf-4c4f-43a1-bf9b-3542fe0d3007" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json index f792712a1faa0..eb11c2dd55a80 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json @@ -6,9 +6,9 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "809", + "content-length" : "4001", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", @@ -16,13 +16,13 @@ "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "8cdd315a-aecd-11eb-9509-000d3a59ae40", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"name\":\"d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1ee3281c-3854-46f8-b75a-ecda480081dc\",\"name\":\"1ee3281c-3854-46f8-b75a-ecda480081dc\",\"properties\":{\"principalId\":\"e2a5509f-bad0-4a8c-863d-48942ecf3344\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "5113d65e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"name\":\"a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/43a74571-2681-46c8-86cb-0aa25e04b4f3\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"name\":\"95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"name\":\"4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/feadc9cb-ad70-4001-80b2-44e789f60e11\",\"name\":\"feadc9cb-ad70-4001-80b2-44e789f60e11\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/2a52da8c-6c36-0139-272c-f80e6cebea00\",\"name\":\"2a52da8c-6c36-0139-272c-f80e6cebea00\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"name\":\"acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/59c1a84b-685f-49c8-b4e8-bdef6440c303\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/86dfb698-73ba-47a0-8727-c9802c2f1893\",\"name\":\"86dfb698-73ba-47a0-8727-c9802c2f1893\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1e4f5588-9d2b-4608-ab42-52a72e92db5e\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"name\":\"a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1642f869-3307-441e-b6d0-4f8c50b6a151\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"name\":\"0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ce09ccbc-c086-4f92-8042-e007397d81c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"name\":\"02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/57f7e5ce-3170-481e-9ff9-a23fce52bab0\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json index 89ea3bbda3245..71eeb8a8cff94 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json @@ -6,23 +6,23 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "6590", + "content-length" : "8418", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "3be0a3a4-aecd-11eb-8fdc-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "5e3aa5ce-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"name\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"name\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b2033d52-7c41-48fa-a220-e82ba064e60f\",\"name\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"name\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c57cea68-6dde-40ef-b890-292892333538\",\"name\":\"c57cea68-6dde-40ef-b890-292892333538\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c57cea68-6dde-40ef-b890-292892333538\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json index d00169c90f39a..3c397819cf75b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/41424788-d6f0-4218-95b9-b597a3697fe0?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6eb89778-c2d3-472a-b298-fd26896b16b0?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,17 +12,17 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "110", + "x-ms-server-latency" : "43", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "4f3fccf4-aecd-11eb-9c19-000d3a3b7b4c", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/41424788-d6f0-4218-95b9-b597a3697fe0\",\"name\":\"41424788-d6f0-4218-95b9-b597a3697fe0\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"41424788-d6f0-4218-95b9-b597a3697fe0\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "4dd624e2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6eb89778-c2d3-472a-b298-fd26896b16b0\",\"name\":\"6eb89778-c2d3-472a-b298-fd26896b16b0\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6eb89778-c2d3-472a-b298-fd26896b16b0\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "41424788-d6f0-4218-95b9-b597a3697fe0" ] -} + "variables" : [ "6eb89778-c2d3-472a-b298-fd26896b16b0" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json index 2663fb83fb63f..e60ec74f7eca1 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/af8bb3cf-a26b-440c-9c80-2862e356e513?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6590", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "37", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "52f82de2-aec2-11eb-8fdc-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6ccf0bd4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/af8bb3cf-a26b-440c-9c80-2862e356e513\",\"name\":\"af8bb3cf-a26b-440c-9c80-2862e356e513\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"af8bb3cf-a26b-440c-9c80-2862e356e513\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/9412ec53-56f1-4cd8-ab3e-cbbd38253f08?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/8720e34c-cfcc-4fae-a06b-c2b6d39e50cd?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,20 +36,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "70", + "x-ms-server-latency" : "46", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "535b6204-aec2-11eb-b32c-000d3a3b7b4c", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/9412ec53-56f1-4cd8-ab3e-cbbd38253f08\",\"name\":\"9412ec53-56f1-4cd8-ab3e-cbbd38253f08\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6cdce560-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/8720e34c-cfcc-4fae-a06b-c2b6d39e50cd\",\"name\":\"8720e34c-cfcc-4fae-a06b-c2b6d39e50cd\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/af8bb3cf-a26b-440c-9c80-2862e356e513\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/9412ec53-56f1-4cd8-ab3e-cbbd38253f08?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/8720e34c-cfcc-4fae-a06b-c2b6d39e50cd?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -63,12 +63,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "400", - "x-ms-request-id" : "537e9828-aec2-11eb-b32c-000d3a3b7b4c", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: 537e9828-aec2-11eb-b32c-000d3a3b7b4c)\"}}", + "x-ms-request-id" : "6cec129c-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: 6cec129c-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "9412ec53-56f1-4cd8-ab3e-cbbd38253f08" ] -} + "variables" : [ "af8bb3cf-a26b-440c-9c80-2862e356e513", "8720e34c-cfcc-4fae-a06b-c2b6d39e50cd" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json index 453e36747db46..68c57293b503d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/43ad7769-e506-45f8-8198-8f7b7ef9c89a?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6590", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", + "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "13e73b66-aec2-11eb-a7d0-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6d854098-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/43ad7769-e506-45f8-8198-8f7b7ef9c89a\",\"name\":\"43ad7769-e506-45f8-8198-8f7b7ef9c89a\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"43ad7769-e506-45f8-8198-8f7b7ef9c89a\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/d0bedeb4-7431-407d-81cd-278929c98218?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/06920057-9423-4963-96e3-ca3ac33696fd?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,17 +36,17 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "66", + "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "144c0f46-aec2-11eb-b2e9-000d3a3b7b4c", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/d0bedeb4-7431-407d-81cd-278929c98218\",\"name\":\"d0bedeb4-7431-407d-81cd-278929c98218\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6d9352dc-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/06920057-9423-4963-96e3-ca3ac33696fd\",\"name\":\"06920057-9423-4963-96e3-ca3ac33696fd\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/43ad7769-e506-45f8-8198-8f7b7ef9c89a\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "d0bedeb4-7431-407d-81cd-278929c98218" ] -} + "variables" : [ "43ad7769-e506-45f8-8198-8f7b7ef9c89a", "06920057-9423-4963-96e3-ca3ac33696fd" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json index 9a43616aac11f..86ea68c84da08 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json @@ -1,31 +1,7 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", - "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" - }, - "Response" : { - "content-length" : "6590", - "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", - "retry-after" : "0", - "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", - "content-security-policy" : "default-src 'self'", - "x-content-type-options" : "nosniff", - "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", - "cache-control" : "no-cache", - "x-ms-request-id" : "019a2a62-aec3-11eb-97f3-000d3a59ae40", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" - }, - "Exception" : null - }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ee830d79-e3dc-4ac5-8581-b6f650aa7831?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/3d1e9302-d67b-45d9-927f-63fef89a019c?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -38,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "01f9a85c-aec3-11eb-a430-000d3a59ae40", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: 01f9a85c-aec3-11eb-a430-000d3a59ae40)\"}}", - "x-ms-server-latency" : "0", + "x-ms-request-id" : "6bb46be0-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: 6bb46be0-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", + "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "ee830d79-e3dc-4ac5-8581-b6f650aa7831" ] -} + "variables" : [ "3d1e9302-d67b-45d9-927f-63fef89a019c" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json index 61bbad7fe4838..73473f833fcbf 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/475ed505-5835-48ce-b257-cdb8fa153e67?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/9bffd973-faa1-4df6-9af1-9ebf7649bdec?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "ae14f644-aec0-11eb-b929-000d3a31c437", - "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: ae14f644-aec0-11eb-b929-000d3a31c437)\"}}", + "x-ms-request-id" : "6b2976ca-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: 6b2976ca-1dbf-11ec-afdf-000d3a9f7bf5)\"}}", "x-ms-server-latency" : "0", "strict-transport-security" : "max-age=31536000; includeSubDomains" }, "Exception" : null } ], - "variables" : [ "475ed505-5835-48ce-b257-cdb8fa153e67" ] -} + "variables" : [ "9bffd973-faa1-4df6-9af1-9ebf7649bdec" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json index 70b8114aa3e59..f159f6b3384ee 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6590", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "38", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ed28fd4c-aec2-11eb-9023-000d3a59ae40", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6df207c8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f\",\"name\":\"0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/33785c35-4196-46b5-9d99-d5bcb2b9ca1d?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/a8a9ab58-e223-4cba-9e5a-58d92cc44327?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,20 +36,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "104", + "x-ms-server-latency" : "40", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ed8e264a-aec2-11eb-9ab0-000d3a59ae40", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/33785c35-4196-46b5-9d99-d5bcb2b9ca1d\",\"name\":\"33785c35-4196-46b5-9d99-d5bcb2b9ca1d\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6e005b84-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a8a9ab58-e223-4cba-9e5a-58d92cc44327\",\"name\":\"a8a9ab58-e223-4cba-9e5a-58d92cc44327\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/33785c35-4196-46b5-9d99-d5bcb2b9ca1d?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/a8a9ab58-e223-4cba-9e5a-58d92cc44327?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -59,17 +59,17 @@ "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", + "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "edb6454e-aec2-11eb-9ab0-000d3a59ae40", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/33785c35-4196-46b5-9d99-d5bcb2b9ca1d\",\"name\":\"33785c35-4196-46b5-9d99-d5bcb2b9ca1d\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6e0e81d2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a8a9ab58-e223-4cba-9e5a-58d92cc44327\",\"name\":\"a8a9ab58-e223-4cba-9e5a-58d92cc44327\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "33785c35-4196-46b5-9d99-d5bcb2b9ca1d" ] -} + "variables" : [ "0fb1b298-0089-4d6a-b8c6-26cc6bbfe59f", "a8a9ab58-e223-4cba-9e5a-58d92cc44327" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json index d71e530d642fd..aa0e1ca030ca5 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/1d169f77-86da-491b-8680-ed73e10e4c06?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,20 +12,20 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "69", + "x-ms-server-latency" : "30", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "70bfd8ae-aec0-11eb-9c19-000d3a3b7b4c", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"name\":\"6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "6c4a3fa8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1d169f77-86da-491b-8680-ed73e10e4c06\",\"name\":\"1d169f77-86da-491b-8680-ed73e10e4c06\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"1d169f77-86da-491b-8680-ed73e10e4c06\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/1d169f77-86da-491b-8680-ed73e10e4c06?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, @@ -39,13 +39,13 @@ "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "713eadf0-aec0-11eb-a750-000d3a59ae40", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"name\":\"6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "6c56d1aa-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1d169f77-86da-491b-8680-ed73e10e4c06\",\"name\":\"1d169f77-86da-491b-8680-ed73e10e4c06\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"1d169f77-86da-491b-8680-ed73e10e4c06\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "6adc4e1b-ff4f-43a7-92ad-6e4ca58d354f" ] -} + "variables" : [ "1d169f77-86da-491b-8680-ed73e10e4c06" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json index c56e62ea11e4f..d15f61114cbdf 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json @@ -1,31 +1,31 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3-preview", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8?api-version=7.3-preview", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "6590", + "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", + "x-ms-server-latency" : "95", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dbd30d12-aec2-11eb-9509-000d3a59ae40", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6b477706-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8\",\"name\":\"c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/658d6c14-98c2-4a53-a523-be8609eb7f8b?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/3c366465-5801-4cb5-8319-c203b0fb70a0?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -36,41 +36,41 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "99", + "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dc35d4c4-aec2-11eb-996c-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/658d6c14-98c2-4a53-a523-be8609eb7f8b\",\"name\":\"658d6c14-98c2-4a53-a523-be8609eb7f8b\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6b5e1cc2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/3c366465-5801-4cb5-8319-c203b0fb70a0\",\"name\":\"3c366465-5801-4cb5-8319-c203b0fb70a0\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/658d6c14-98c2-4a53-a523-be8609eb7f8b?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/3c366465-5801-4cb5-8319-c203b0fb70a0?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dc5d4130-aec2-11eb-996c-000d3a31c437", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/658d6c14-98c2-4a53-a523-be8609eb7f8b\",\"name\":\"658d6c14-98c2-4a53-a523-be8609eb7f8b\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "6b6c2c9a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/3c366465-5801-4cb5-8319-c203b0fb70a0\",\"name\":\"3c366465-5801-4cb5-8319-c203b0fb70a0\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "658d6c14-98c2-4a53-a523-be8609eb7f8b" ] -} + "variables" : [ "c19d1c0b-fccd-4a2d-90a9-33cd3afbd8d8", "3c366465-5801-4cb5-8319-c203b0fb70a0" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json index a346a3cea5752..235eb6f95920d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6be1014b-a26b-4fb9-83d0-a8aff8a1d42d?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,41 +12,41 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "73", + "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "4d80ab84-aec0-11eb-8fdc-000d3a31c437", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"name\":\"69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "6c793ea2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"name\":\"6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6be1014b-a26b-4fb9-83d0-a8aff8a1d42d?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "4de71d56-aec0-11eb-a9c6-000d3a31c437", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"name\":\"69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "6c873c00-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"name\":\"6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6be1014b-a26b-4fb9-83d0-a8aff8a1d42d\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "69dd1d15-b9c3-4252-be2e-e5ce7cbed1d5" ] -} + "variables" : [ "6be1014b-a26b-4fb9-83d0-a8aff8a1d42d" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json index c1d54efa1a579..1c2724c4e6c86 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json @@ -6,21 +6,21 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "809", + "content-length" : "4001", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "52123acc-aec1-11eb-8e60-000d3a31c437", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"name\":\"d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1ee3281c-3854-46f8-b75a-ecda480081dc\",\"name\":\"1ee3281c-3854-46f8-b75a-ecda480081dc\",\"properties\":{\"principalId\":\"e2a5509f-bad0-4a8c-863d-48942ecf3344\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "6c1dc7ac-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"name\":\"a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/43a74571-2681-46c8-86cb-0aa25e04b4f3\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"name\":\"95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"name\":\"4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/feadc9cb-ad70-4001-80b2-44e789f60e11\",\"name\":\"feadc9cb-ad70-4001-80b2-44e789f60e11\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/2a52da8c-6c36-0139-272c-f80e6cebea00\",\"name\":\"2a52da8c-6c36-0139-272c-f80e6cebea00\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"name\":\"acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/59c1a84b-685f-49c8-b4e8-bdef6440c303\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/86dfb698-73ba-47a0-8727-c9802c2f1893\",\"name\":\"86dfb698-73ba-47a0-8727-c9802c2f1893\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1e4f5588-9d2b-4608-ab42-52a72e92db5e\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"name\":\"a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1642f869-3307-441e-b6d0-4f8c50b6a151\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"name\":\"0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ce09ccbc-c086-4f92-8042-e007397d81c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"name\":\"02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/57f7e5ce-3170-481e-9ff9-a23fce52bab0\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null }, { @@ -30,9 +30,9 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "809", + "content-length" : "4001", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", @@ -40,13 +40,13 @@ "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "526b94d2-aec1-11eb-a764-000d3a3b7b4c", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"name\":\"d11629b0-e3d5-4fe7-01e3-a87029e0ca39\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1ee3281c-3854-46f8-b75a-ecda480081dc\",\"name\":\"1ee3281c-3854-46f8-b75a-ecda480081dc\",\"properties\":{\"principalId\":\"e2a5509f-bad0-4a8c-863d-48942ecf3344\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "6c26184e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"name\":\"a22c2d0f-4b22-4d5c-999b-5bba7b4f65dc\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/43a74571-2681-46c8-86cb-0aa25e04b4f3\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"name\":\"95bbdaa8-1dfa-4a6d-9f96-cdc6a7b42bc1\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"name\":\"4dd77f6c-4943-42e3-b510-c57a9cf3ac22\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/feadc9cb-ad70-4001-80b2-44e789f60e11\",\"name\":\"feadc9cb-ad70-4001-80b2-44e789f60e11\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/2a52da8c-6c36-0139-272c-f80e6cebea00\",\"name\":\"2a52da8c-6c36-0139-272c-f80e6cebea00\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"name\":\"acbaf07b-b60c-4aec-93be-44b9c434f0da\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/59c1a84b-685f-49c8-b4e8-bdef6440c303\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/86dfb698-73ba-47a0-8727-c9802c2f1893\",\"name\":\"86dfb698-73ba-47a0-8727-c9802c2f1893\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1e4f5588-9d2b-4608-ab42-52a72e92db5e\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"name\":\"a4cde8b5-97f6-4f6d-a439-a1ec3657d4c0\",\"properties\":{\"principalId\":\"a487ddb6-a5c5-48f0-9428-8ecb963852e5\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1642f869-3307-441e-b6d0-4f8c50b6a151\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"name\":\"0ca11082-b407-4d84-9c02-32c0ebd440b1\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ce09ccbc-c086-4f92-8042-e007397d81c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"name\":\"02ba01a5-eed6-40e1-a6b5-e013fde0181a\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/57f7e5ce-3170-481e-9ff9-a23fce52bab0\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json index ad6601a724292..a84149cfde1bb 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json @@ -6,21 +6,21 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "6590", + "content-length" : "8418", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1", + "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "428c4ac2-aeb5-11eb-aea6-000d3a3b7b4c", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6d45751c-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"name\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"name\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b2033d52-7c41-48fa-a220-e82ba064e60f\",\"name\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"name\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c57cea68-6dde-40ef-b890-292892333538\",\"name\":\"c57cea68-6dde-40ef-b890-292892333538\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c57cea68-6dde-40ef-b890-292892333538\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null }, { @@ -30,9 +30,9 @@ "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "content-length" : "6590", + "content-length" : "8418", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", @@ -40,13 +40,13 @@ "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "42ee172a-aeb5-11eb-8f2a-000d3a3b7b4c", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "6d4e2f9a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"name\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"2e739fcb-2ba8-43be-9f10-29ac1786afd1\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"name\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"ee7e38d0-14a4-4955-8f7e-eebe46a5a7a7\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b2033d52-7c41-48fa-a220-e82ba064e60f\",\"name\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b2033d52-7c41-48fa-a220-e82ba064e60f\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"name\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c0be2c69-0c63-4df2-b7dc-b2afc26628ab\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c57cea68-6dde-40ef-b890-292892333538\",\"name\":\"c57cea68-6dde-40ef-b890-292892333538\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c57cea68-6dde-40ef-b890-292892333538\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json index aa63678cb1a27..466c84146543d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/a8d58bc5-69e4-4ae2-b621-6f30cf9c0540?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -12,17 +12,17 @@ "retry-after" : "0", "StatusCode" : "201", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "46", + "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "88c49cba-aebf-11eb-8b15-000d3a31c437", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"name\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"91d62511-feb2-456f-80a0-5b17bbaa50ec\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "6bd1387e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a8d58bc5-69e4-4ae2-b621-6f30cf9c0540\",\"name\":\"a8d58bc5-69e4-4ae2-b621-6f30cf9c0540\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"a8d58bc5-69e4-4ae2-b621-6f30cf9c0540\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "91d62511-feb2-456f-80a0-5b17bbaa50ec" ] -} + "variables" : [ "a8d58bc5-69e4-4ae2-b621-6f30cf9c0540" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json index 67ab546ae54f6..74d66b8210d9b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json @@ -7,75 +7,101 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:07 GMT", + "date" : "Sat, 25 Sep 2021 05:14:53 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "4296", + "x-ms-server-latency" : "2664", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ae9333d6-aed6-11eb-9ab0-000d3a59ae40", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":{\"code\":null,\"message\":null,\"innererror\":null},\"startTime\":1620352268,\"endTime\":null,\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending" + "x-ms-request-id" : "82856fcc-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546893,\"endTime\":null,\"jobId\":\"e4435f696ede4c38a9efff88d57fdc43\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/e4435f696ede4c38a9efff88d57fdc43/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4435f696ede4c38a9efff88d57fdc43/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:10 GMT", + "date" : "Sat, 25 Sep 2021 05:14:56 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1336", + "x-ms-server-latency" : "2450", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b21a12fe-aed6-11eb-a2cd-000d3a31c437", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"startTime\":1620352268,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "84bf0370-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"e4435f696ede4c38a9efff88d57fdc43\",\"startTime\":1632546893,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4435f696ede4c38a9efff88d57fdc43/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:15 GMT", + "date" : "Sat, 25 Sep 2021 05:15:00 GMT", "server" : "Kestrel", - "content-length" : "271", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1292", + "x-ms-server-latency" : "2555", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b528dcd2-aed6-11eb-a2cd-000d3a31c437", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021050701510807\",\"endTime\":1620352276,\"error\":null,\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"startTime\":1620352268,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "86d8193a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"e4435f696ede4c38a9efff88d57fdc43\",\"startTime\":1632546893,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4435f696ede4c38a9efff88d57fdc43/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:15:03 GMT", + "server" : "Kestrel", + "content-length" : "270", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2531", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "88fedca8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505145331\",\"endTime\":1632546902,\"error\":null,\"jobId\":\"e4435f696ede4c38a9efff88d57fdc43\",\"startTime\":1632546893,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json index a2b4c81f252a0..f849d859494e9 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json @@ -7,75 +7,101 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:21 GMT", + "date" : "Sat, 25 Sep 2021 05:15:45 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1588", + "x-ms-server-latency" : "3713", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d64faa20-aed7-11eb-bc0f-000d3a59ae40", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":{\"code\":null,\"message\":null,\"innererror\":null},\"startTime\":1620352761,\"endTime\":null,\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending" + "x-ms-request-id" : "a1536850-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546945,\"endTime\":null,\"jobId\":\"c433d43adafb4b54a1c8816928fac923\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/c433d43adafb4b54a1c8816928fac923/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/c433d43adafb4b54a1c8816928fac923/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:23 GMT", + "date" : "Sat, 25 Sep 2021 05:15:48 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1502", + "x-ms-server-latency" : "2422", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d8372b6a-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"startTime\":1620352761,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "a42b17e4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"c433d43adafb4b54a1c8816928fac923\",\"startTime\":1632546945,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/c433d43adafb4b54a1c8816928fac923/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:29 GMT", + "date" : "Sat, 25 Sep 2021 05:15:52 GMT", "server" : "Kestrel", - "content-length" : "271", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1296", + "x-ms-server-latency" : "2438", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "db3806e0-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021050701592162\",\"endTime\":1620352769,\"error\":null,\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"startTime\":1620352761,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "a63f5fd6-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"c433d43adafb4b54a1c8816928fac923\",\"startTime\":1632546945,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/c433d43adafb4b54a1c8816928fac923/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:15:55 GMT", + "server" : "Kestrel", + "content-length" : "270", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2460", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "a8561f80-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505154602\",\"endTime\":1632546955,\"error\":null,\"jobId\":\"c433d43adafb4b54a1c8816928fac923\",\"startTime\":1632546945,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -86,101 +112,179 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:34 GMT", + "date" : "Sat, 25 Sep 2021 05:15:59 GMT", "server" : "Kestrel", - "content-length" : "180", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "4289", + "x-ms-server-latency" : "2600", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dc1821d0-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending" + "x-ms-request-id" : "a9d59f8e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:47 GMT", + "date" : "Sat, 25 Sep 2021 05:16:03 GMT", "server" : "Kestrel", - "content-length" : "180", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1211", + "x-ms-server-latency" : "2817", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e6ab9bae-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "ac04c820-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:50 GMT", + "date" : "Sat, 25 Sep 2021 05:16:06 GMT", "server" : "Kestrel", - "content-length" : "143", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "3189", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "ae5382e2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:16:11 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2908", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "b0db42ac-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:16:14 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2447", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "b337ff86-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:16:18 GMT", + "server" : "Kestrel", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1214", + "x-ms-server-latency" : "2519", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e8163bd4-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":1620352789,\"error\":null,\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "b5506c7c-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/f1e77dc88a644ee4acbb68ef2f03b627/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:52 GMT", + "date" : "Sat, 25 Sep 2021 05:16:21 GMT", "server" : "Kestrel", "content-length" : "143", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1160", + "x-ms-server-latency" : "2495", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e8e6117e-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":1620352789,\"error\":null,\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "b7727752-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546981,\"error\":null,\"jobId\":\"f1e77dc88a644ee4acbb68ef2f03b627\",\"startTime\":1632546959,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json index a0ca38a2f604a..4d2214ee3ff04 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json @@ -1,26 +1,26 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testKey/create?api-version=7.2", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey872128dc/create?api-version=7.2", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "750", + "content-length" : "759", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "322", + "x-ms-server-latency" : "202", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", "x-ms-keyvault-region" : "centralus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "721775da-cefb-11eb-9c83-000d3a9461a8", - "Body" : "{\"attributes\":{\"created\":1623886491,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623886491},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://REDACTED.managedhsm.azure.net/keys/testKey/8b013581f704093e04c95faed6633d18\",\"kty\":\"RSA-HSM\",\"n\":\"pu6mM_Xx_Sws9n4XBCsQNgewtS40Y-vW9DJjoYksxnL2oC55JbKhY7md6UOpfvK7iuUItNhjHB6vrYr3fIAVsTDc5JW5jleZ50WIqaHywDsA4Sp7POHm5LomDsTs0IEvo3debdpeFT5F3Yly4Nv-Rq3y9qTiXowke-C-ZM1kfptOWOwrsxuL31Y1NVuDi9VQHIdZko1Di8YCmWJSO4Ko9d7XuR8HRABoa9YO4vRtTaM-qMCAYcbozcykbnjcgY5QSen1ukchFqrYjph8EwtUeos9O1zU_OHykG6Xsjrmstd1Cm6Yq0zseBfKHEmx45sO5YEaJoUEQrgMziJC9NM26w\"}}" + "x-ms-request-id" : "8a9ccc82-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"attributes\":{\"created\":1632546904,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632546904},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://azsdk-tests.managedhsm.azure.net/keys/backupkey872128dc/04f25bc3c4750ffebf5c2ffdab86101d\",\"kty\":\"RSA-HSM\",\"n\":\"i_ZZVEFWuZuAxc-yQ3BOggYaMVu61cFSXbutJdRaS53x-M3OxJuXYkxvbWId8qOIUveebGNxdVtCawCr81ICKr25bPJUVm4iIv1-5j3MsDCoLpwWE96Podi1WIqJqhIeTuglvE3BikQ89UVaURueZSUh1F6Neow4sK3mvPCb_gtIehYUsRQ2H2Fvzp0bmsenFTBEHUQ6l2JeBiUKELNulW0U6MKInNzqkx_NE1HpE8vlVTE4gIKieFweXa_vNH7q5HBeVK1lQzfpgZ0qSATGPKUw5kBJs-ljHj8RsjYldWmzMh29BKUGjxfUvW26RLRxyN4AuVEdW_fODvbZ68mx4Q\"}}" }, "Exception" : null }, { @@ -31,182 +31,260 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:34:54 GMT", + "date" : "Sat, 25 Sep 2021 05:15:06 GMT", "server" : "Kestrel", "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "2724", + "x-ms-server-latency" : "2864", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "72feec30-cefb-11eb-9c83-000d3a9461a8", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1623886494,\"endTime\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending" + "x-ms-request-id" : "8ad65506-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546907,\"endTime\":null,\"jobId\":\"326ae18f19f843978fabbba3bb0a32ae\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/326ae18f19f843978fabbba3bb0a32ae/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/326ae18f19f843978fabbba3bb0a32ae/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:34:58 GMT", + "date" : "Sat, 25 Sep 2021 05:15:10 GMT", "server" : "Kestrel", "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1926", + "x-ms-server-latency" : "2653", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "758c5d48-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"startTime\":1623886494,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "8d2d238e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"326ae18f19f843978fabbba3bb0a32ae\",\"startTime\":1632546907,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/326ae18f19f843978fabbba3bb0a32ae/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:07 GMT", + "date" : "Sat, 25 Sep 2021 05:15:14 GMT", + "server" : "Kestrel", + "content-length" : "174", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2621", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "8f64c8f0-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"326ae18f19f843978fabbba3bb0a32ae\",\"startTime\":1632546907,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/326ae18f19f843978fabbba3bb0a32ae/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:15:18 GMT", "server" : "Kestrel", "content-length" : "270", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1908", + "x-ms-server-latency" : "2909", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7b0a8592-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021061623345525\",\"endTime\":1623886506,\"error\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"startTime\":1623886494,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "9196f3f0-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505150744\",\"endTime\":1632546917,\"error\":null,\"jobId\":\"326ae18f19f843978fabbba3bb0a32ae\",\"startTime\":1632546907,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testKey/restore?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey872128dc/restore?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:09 GMT", + "date" : "Sat, 25 Sep 2021 05:15:21 GMT", "server" : "Kestrel", "content-length" : "138", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "2176", + "x-ms-server-latency" : "2672", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7c431be0-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending" + "x-ms-request-id" : "935b140a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:13 GMT", + "date" : "Sat, 25 Sep 2021 05:15:24 GMT", "server" : "Kestrel", "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "2530", + "x-ms-server-latency" : "2408", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7e40440e-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "959505b4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:28 GMT", + "date" : "Sat, 25 Sep 2021 05:15:30 GMT", "server" : "Kestrel", - "content-length" : "233", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "3923", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "97a6bc08-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:15:33 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2493", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9a9ee070-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:15:36 GMT", + "server" : "Kestrel", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1854", + "x-ms-server-latency" : "2558", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "87a5b90c-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":1623886526,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "9cbc24c6-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c4e6ff5349704e8a96306d7c673e7184/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:30 GMT", + "date" : "Sat, 25 Sep 2021 05:15:41 GMT", "server" : "Kestrel", "content-length" : "233", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1953", + "x-ms-server-latency" : "3922", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "88d4730e-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":1623886526,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "9ee55f88-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546937,\"error\":null,\"jobId\":\"c4e6ff5349704e8a96306d7c673e7184\",\"startTime\":1632546921,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "backupkey872128dc" ] } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json index 67ab546ae54f6..39f071ef90b7a 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json @@ -7,75 +7,101 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:07 GMT", + "date" : "Sat, 25 Sep 2021 05:11:37 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "4296", + "x-ms-server-latency" : "2812", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ae9333d6-aed6-11eb-9ab0-000d3a59ae40", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":{\"code\":null,\"message\":null,\"innererror\":null},\"startTime\":1620352268,\"endTime\":null,\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending" + "x-ms-request-id" : "0e53d5e4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546698,\"endTime\":null,\"jobId\":\"99bd82f5bbc44f81aa8ae5724da46211\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/99bd82f5bbc44f81aa8ae5724da46211/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/99bd82f5bbc44f81aa8ae5724da46211/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:10 GMT", + "date" : "Sat, 25 Sep 2021 05:11:41 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1336", + "x-ms-server-latency" : "2536", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b21a12fe-aed6-11eb-a2cd-000d3a31c437", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"startTime\":1620352268,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "10a82dae-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"99bd82f5bbc44f81aa8ae5724da46211\",\"startTime\":1632546698,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8dc2fec887814b6ab5a1807277d81d05/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/99bd82f5bbc44f81aa8ae5724da46211/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:51:15 GMT", + "date" : "Sat, 25 Sep 2021 05:11:44 GMT", "server" : "Kestrel", - "content-length" : "271", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1292", + "x-ms-server-latency" : "2473", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b528dcd2-aed6-11eb-a2cd-000d3a31c437", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021050701510807\",\"endTime\":1620352276,\"error\":null,\"jobId\":\"8dc2fec887814b6ab5a1807277d81d05\",\"startTime\":1620352268,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "12cc93f4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"99bd82f5bbc44f81aa8ae5724da46211\",\"startTime\":1632546698,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/99bd82f5bbc44f81aa8ae5724da46211/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:11:48 GMT", + "server" : "Kestrel", + "content-length" : "270", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2402", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "14e7a07a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505113851\",\"endTime\":1632546709,\"error\":null,\"jobId\":\"99bd82f5bbc44f81aa8ae5724da46211\",\"startTime\":1632546698,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json index a2b4c81f252a0..bef1a991d9907 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json @@ -7,75 +7,101 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:21 GMT", + "date" : "Sat, 25 Sep 2021 05:12:32 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1588", + "x-ms-server-latency" : "2730", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d64faa20-aed7-11eb-bc0f-000d3a59ae40", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":{\"code\":null,\"message\":null,\"innererror\":null},\"startTime\":1620352761,\"endTime\":null,\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending" + "x-ms-request-id" : "2ec837e8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546752,\"endTime\":null,\"jobId\":\"583b92da32a34577af8a3a20081bb165\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/583b92da32a34577af8a3a20081bb165/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/583b92da32a34577af8a3a20081bb165/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:23 GMT", + "date" : "Sat, 25 Sep 2021 05:12:35 GMT", "server" : "Kestrel", - "content-length" : "216", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1502", + "x-ms-server-latency" : "2509", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d8372b6a-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"startTime\":1620352761,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "310aa96e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"583b92da32a34577af8a3a20081bb165\",\"startTime\":1632546752,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/55bb480d6c6b4fd9ae302696f35c3f5e/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/583b92da32a34577af8a3a20081bb165/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:29 GMT", + "date" : "Sat, 25 Sep 2021 05:12:39 GMT", "server" : "Kestrel", - "content-length" : "271", + "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1296", + "x-ms-server-latency" : "2457", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "db3806e0-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021050701592162\",\"endTime\":1620352769,\"error\":null,\"jobId\":\"55bb480d6c6b4fd9ae302696f35c3f5e\",\"startTime\":1620352761,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "332d0b7e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"583b92da32a34577af8a3a20081bb165\",\"startTime\":1632546752,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/583b92da32a34577af8a3a20081bb165/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:43 GMT", + "server" : "Kestrel", + "content-length" : "270", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2363", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "35452ce8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505123288\",\"endTime\":1632546762,\"error\":null,\"jobId\":\"583b92da32a34577af8a3a20081bb165\",\"startTime\":1632546752,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -86,101 +112,179 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:34 GMT", + "date" : "Sat, 25 Sep 2021 05:12:45 GMT", "server" : "Kestrel", - "content-length" : "180", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "4289", + "x-ms-server-latency" : "2513", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "36b66fe2-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:48 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2414", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "38d72190-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:54 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "3883", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "3ae8f2ec-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:57 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2622", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dc1821d0-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending" + "x-ms-request-id" : "3ddc6362-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:47 GMT", + "date" : "Sat, 25 Sep 2021 05:13:01 GMT", "server" : "Kestrel", - "content-length" : "180", + "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1211", + "x-ms-server-latency" : "2410", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e6ab9bae-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":null,\"error\":{\"code\":null,\"innererror\":null,\"message\":null},\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "400d41ec-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:50 GMT", + "date" : "Sat, 25 Sep 2021 05:13:05 GMT", "server" : "Kestrel", "content-length" : "143", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1214", + "x-ms-server-latency" : "2813", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e8163bd4-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":1620352789,\"error\":null,\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "421f117c-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546783,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/a5ebd32dce1b44308029a0711bd6d5ea/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/c35427fa235140729506c1e3528fef37/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Fri, 07 May 2021 01:59:52 GMT", + "date" : "Sat, 25 Sep 2021 05:13:10 GMT", "server" : "Kestrel", "content-length" : "143", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210407-3-27236ed1-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1160", + "x-ms-server-latency" : "5232", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.114.0;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e8e6117e-aed7-11eb-a15d-000d3a59ae40", - "Body" : "{\"endTime\":1620352789,\"error\":null,\"jobId\":\"a5ebd32dce1b44308029a0711bd6d5ea\",\"startTime\":1620352771,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "43d46490-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546783,\"error\":null,\"jobId\":\"c35427fa235140729506c1e3528fef37\",\"startTime\":1632546765,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json index a0ca38a2f604a..1e3795e6a31ee 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json @@ -1,26 +1,26 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testKey/create?api-version=7.2", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey88303724/create?api-version=7.2", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "750", + "content-length" : "759", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "322", + "x-ms-server-latency" : "252", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "content-type" : "application/json; charset=utf-8", "x-ms-keyvault-region" : "centralus", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "721775da-cefb-11eb-9c83-000d3a9461a8", - "Body" : "{\"attributes\":{\"created\":1623886491,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623886491},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://REDACTED.managedhsm.azure.net/keys/testKey/8b013581f704093e04c95faed6633d18\",\"kty\":\"RSA-HSM\",\"n\":\"pu6mM_Xx_Sws9n4XBCsQNgewtS40Y-vW9DJjoYksxnL2oC55JbKhY7md6UOpfvK7iuUItNhjHB6vrYr3fIAVsTDc5JW5jleZ50WIqaHywDsA4Sp7POHm5LomDsTs0IEvo3debdpeFT5F3Yly4Nv-Rq3y9qTiXowke-C-ZM1kfptOWOwrsxuL31Y1NVuDi9VQHIdZko1Di8YCmWJSO4Ko9d7XuR8HRABoa9YO4vRtTaM-qMCAYcbozcykbnjcgY5QSen1ukchFqrYjph8EwtUeos9O1zU_OHykG6Xsjrmstd1Cm6Yq0zseBfKHEmx45sO5YEaJoUEQrgMziJC9NM26w\"}}" + "x-ms-request-id" : "16851a84-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"attributes\":{\"created\":1632546709,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632546709},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://azsdk-tests.managedhsm.azure.net/keys/backupkey88303724/f2b98edad0e1039907c293f771825530\",\"kty\":\"RSA-HSM\",\"n\":\"kYwSymWgOqm-u32UjDhrnrUtRL9t0VbIc994Od710xmEcL168MMkGHtCiBa1SMYJlMjT8xrlDvRwMeaG7V1LYBieWIX4EcpvAgS7Y6sB3NIuIde6F-mBRDO2zqfTLhR-KNTcHRp7GJWYQjdA6blOPKxbBtzmjfwygATlvKZOkGx7-ZMOZEoxRJESXykUElMkLFbHA8OzaS9jFtL8DXFwgxpzlvJ4-OjLHyz0m8gMbNH9yMMjoC96NYHOYynh9XBbj40IvLMBWIj4DIOEd7R3lXn8KFkPPBWQf9BvqvI_HF7a2Ge42RHTVxUthxT-ucXMu0IH0LwGqum-25DQa8-Xuw\"}}" }, "Exception" : null }, { @@ -31,182 +31,286 @@ "Content-Type" : "application/json" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:34:54 GMT", + "date" : "Sat, 25 Sep 2021 05:11:51 GMT", "server" : "Kestrel", "content-length" : "174", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "2724", + "x-ms-server-latency" : "2603", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "72feec30-cefb-11eb-9c83-000d3a9461a8", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1623886494,\"endTime\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending" + "x-ms-request-id" : "16d476d8-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1632546712,\"endTime\":null,\"jobId\":\"93e8cfe4ab7a45e8810022c03e798d6d\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/backup/93e8cfe4ab7a45e8810022c03e798d6d/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/93e8cfe4ab7a45e8810022c03e798d6d/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:34:58 GMT", + "date" : "Sat, 25 Sep 2021 05:11:55 GMT", "server" : "Kestrel", "content-length" : "174", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1926", + "x-ms-server-latency" : "2590", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "758c5d48-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"startTime\":1623886494,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "19037774-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"93e8cfe4ab7a45e8810022c03e798d6d\",\"startTime\":1632546712,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/e4d841871df14fbdae8ee119ae27a6cd/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/93e8cfe4ab7a45e8810022c03e798d6d/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:07 GMT", + "date" : "Sat, 25 Sep 2021 05:11:58 GMT", + "server" : "Kestrel", + "content-length" : "174", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2490", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "1b31611e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"93e8cfe4ab7a45e8810022c03e798d6d\",\"startTime\":1632546712,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/93e8cfe4ab7a45e8810022c03e798d6d/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:03 GMT", "server" : "Kestrel", "content-length" : "270", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1908", + "x-ms-server-latency" : "2636", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7b0a8592-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://testaccount.blob.core.windows.net/backup/REDACTED-2021061623345525\",\"endTime\":1623886506,\"error\":null,\"jobId\":\"e4d841871df14fbdae8ee119ae27a6cd\",\"startTime\":1623886494,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "1d5049ba-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdk-tests.blob.core.windows.net/backup/mhsm-azsdk-tests-2021092505115256\",\"endTime\":1632546722,\"error\":null,\"jobId\":\"93e8cfe4ab7a45e8810022c03e798d6d\",\"startTime\":1632546712,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testKey/restore?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey88303724/restore?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:09 GMT", + "date" : "Sat, 25 Sep 2021 05:12:05 GMT", "server" : "Kestrel", "content-length" : "138", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "2176", + "x-ms-server-latency" : "3105", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "1eeb70ec-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://azsdk-tests.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:09 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2818", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "2168435e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:13 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2635", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-region" : "centralus", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "23b957c4-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "date" : "Sat, 25 Sep 2021 05:12:17 GMT", + "server" : "Kestrel", + "content-length" : "138", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", + "retry-after" : "0", + "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "2676", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7c431be0-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending" + "x-ms-request-id" : "25ec925e-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:13 GMT", + "date" : "Sat, 25 Sep 2021 05:12:21 GMT", "server" : "Kestrel", "content-length" : "138", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "2530", + "x-ms-server-latency" : "2612", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7e40440e-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "2828bf84-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:28 GMT", + "date" : "Sat, 25 Sep 2021 05:12:24 GMT", "server" : "Kestrel", "content-length" : "233", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1854", + "x-ms-server-latency" : "2718", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "87a5b90c-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":1623886526,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "2a586480-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546742,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/b1e5360fcf0841fe8ec1d74083c10a43/pending?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/189800d232764c3abf1d1eddd0f5459a/pending?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" }, "Response" : { - "date" : "Wed, 16 Jun 2021 23:35:30 GMT", + "date" : "Sat, 25 Sep 2021 05:12:29 GMT", "server" : "Kestrel", "content-length" : "233", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20210520-1-d6634624-develop", + "x-ms-build-version" : "1.0.20210907-1-d3b7f466-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1953", + "x-ms-server-latency" : "4387", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", "x-ms-keyvault-region" : "centralus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "88d4730e-cefb-11eb-8e90-000d3a9461a8", - "Body" : "{\"endTime\":1623886526,\"error\":null,\"jobId\":\"b1e5360fcf0841fe8ec1d74083c10a43\",\"startTime\":1623886510,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "2bff2b7a-1dbf-11ec-afdf-000d3a9f7bf5", + "Body" : "{\"endTime\":1632546742,\"error\":null,\"jobId\":\"189800d232764c3abf1d1eddd0f5459a\",\"startTime\":1632546726,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "backupkey88303724" ] } diff --git a/sdk/keyvault/azure-security-keyvault-certificates/pom.xml b/sdk/keyvault/azure-security-keyvault-certificates/pom.xml index 33a365171d0e2..53932c7c10b96 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-certificates/pom.xml @@ -46,13 +46,13 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -87,21 +87,21 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/CertificateAsyncClient.java b/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/CertificateAsyncClient.java index 34a4f96bbb6c9..215546e37fa65 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/CertificateAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/CertificateAsyncClient.java @@ -76,7 +76,6 @@ public final class CertificateAsyncClient { static final String ACCEPT_LANGUAGE = "en-US"; static final int DEFAULT_MAX_PAGE_RESULTS = 25; static final String CONTENT_TYPE_HEADER_VALUE = "application/json"; - static final String KEY_VAULT_SCOPE = "https://vault.azure.net/.default"; // Please see here // for more information on Azure resource provider namespaces. private static final String KEYVAULT_TRACING_NAMESPACE_VALUE = "Microsoft.KeyVault"; diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/KeyVaultCredentialPolicy.java b/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/KeyVaultCredentialPolicy.java index 8552c02c17b97..b6f0ac8d6eeb3 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/KeyVaultCredentialPolicy.java +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/KeyVaultCredentialPolicy.java @@ -1,91 +1,78 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.security.keyvault.certificates.implementation; import com.azure.core.credential.TokenCredential; import com.azure.core.credential.TokenRequestContext; import com.azure.core.http.HttpPipelineCallContext; -import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.util.CoreUtils; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.net.URL; +import java.nio.ByteBuffer; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** - * A policy that authenticates requests with Azure Key Vault service. The content added by this policy - * is leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. + * A policy that authenticates requests with the Azure Key Vault service. The content added by this policy is + * leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. * * @see TokenCredential */ -public final class KeyVaultCredentialPolicy implements HttpPipelinePolicy { - private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; +public class KeyVaultCredentialPolicy extends BearerTokenAuthenticationPolicy { private static final String BEARER_TOKEN_PREFIX = "Bearer "; - private static final String AUTHORIZATION = "Authorization"; - private final ScopeTokenCache cache; + private static final String CONTENT_LENGTH_HEADER = "Content-Length"; + private static final String KEY_VAULT_STASHED_CONTENT_KEY = "KeyVaultCredentialPolicyStashedBody"; + private static final String KEY_VAULT_STASHED_CONTENT_LENGTH_KEY = "KeyVaultCredentialPolicyStashedContentLength"; + private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; + private static final ConcurrentMap SCOPE_CACHE = new ConcurrentHashMap<>(); + private String scope; /** - * Creates KeyVaultCredentialPolicy. + * Creates a {@link KeyVaultCredentialPolicy}. * - * @param credential the token credential to authenticate the request + * @param credential The token credential to authenticate the request. */ public KeyVaultCredentialPolicy(TokenCredential credential) { - Objects.requireNonNull(credential, "'credential' cannot be null."); - this.cache = new ScopeTokenCache(credential::getToken); + super(credential); } /** - * Adds the required header to authenticate a request to Azure Key Vault service. + * Extracts attributes off the bearer challenge in the authentication header. * - * @param context The request context - * @param next The next HTTP pipeline policy to process the {@code context's} request after this policy completes. - * @return A {@link Mono} representing the HTTP response that will arrive asynchronously. - */ - @Override - public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { - if ("http".equals(context.getHttpRequest().getUrl().getProtocol())) { - return Mono.error(new RuntimeException("Token credentials require a URL using the HTTPS protocol scheme")); - } - return next.clone().process() - // Ignore body - .doOnNext(HttpResponse::close) - .map(res -> res.getHeaderValue(WWW_AUTHENTICATE)) - .map(header -> extractChallenge(header, BEARER_TOKEN_PREFIX)) - .flatMap(map -> { - cache.setRequest(new TokenRequestContext().addScopes(map.get("resource") + "/.default")); - return cache.getToken(); - }) - .flatMap(token -> { - context.getHttpRequest().setHeader(AUTHORIZATION, BEARER_TOKEN_PREFIX + token.getToken()); - return next.process(); - }); - } - - /** - * Extracts the challenge off the authentication header. - * - * @param authenticateHeader The authentication header containing all the challenges. + * @param authenticateHeader The authentication header containing the challenge. * @param authChallengePrefix The authentication challenge name. - * @return a challenge map. + * + * @return A challenge attributes map. */ - private static Map extractChallenge(String authenticateHeader, String authChallengePrefix) { - if (!isValidChallenge(authenticateHeader, authChallengePrefix)) { - return null; + private static Map extractChallengeAttributes(String authenticateHeader, + String authChallengePrefix) { + if (!isBearerChallenge(authenticateHeader, authChallengePrefix)) { + return Collections.emptyMap(); } - authenticateHeader = authenticateHeader.toLowerCase(Locale.ROOT).replace(authChallengePrefix.toLowerCase(Locale.ROOT), ""); - String[] challenges = authenticateHeader.split(", "); - Map challengeMap = new HashMap<>(); - for (String pair : challenges) { + authenticateHeader = + authenticateHeader.toLowerCase(Locale.ROOT).replace(authChallengePrefix.toLowerCase(Locale.ROOT), ""); + + String[] attributes = authenticateHeader.split(", "); + Map attributeMap = new HashMap<>(); + + for (String pair : attributes) { String[] keyValue = pair.split("="); - challengeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); + + attributeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); } - return challengeMap; + + return attributeMap; } /** @@ -93,10 +80,107 @@ private static Map extractChallenge(String authenticateHeader, S * * @param authenticateHeader The authentication header containing all the challenges. * @param authChallengePrefix The authentication challenge name. - * @return A boolean indicating tha challenge is valid or not. + * @return A boolean indicating if the challenge is a bearer challenge or not. */ - private static boolean isValidChallenge(String authenticateHeader, String authChallengePrefix) { + private static boolean isBearerChallenge(String authenticateHeader, String authChallengePrefix) { return (!CoreUtils.isNullOrEmpty(authenticateHeader) && authenticateHeader.toLowerCase(Locale.ROOT).startsWith(authChallengePrefix.toLowerCase(Locale.ROOT))); } + + @Override + public Mono authorizeRequest(HttpPipelineCallContext context) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + + // If this policy doesn't have an authorityScope cached try to get it from the static challenge cache. + if (this.scope == null) { + String authority = getRequestAuthority(request); + this.scope = SCOPE_CACHE.get(authority); + } + + if (this.scope != null) { + // We fetched the scope from the cache, but we have not initialized the scopes in the base yet. + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext); + } + + // The body is removed from the initial request because Key Vault supports other authentication schemes which + // also protect the body of the request. As a result, before we know the auth scheme we need to avoid sending + // an unprotected body to Key Vault. We don't currently support this enhanced auth scheme in the SDK but we + // still don't want to send any unprotected data to vaults which require it. + + // Do not overwrite previous contents if retrying after initial request failed (e.g. timeout). + if (!context.getData(KEY_VAULT_STASHED_CONTENT_KEY).isPresent()) { + if (request.getBody() != null) { + context.setData(KEY_VAULT_STASHED_CONTENT_KEY, request.getBody()); + context.setData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY, + request.getHeaders().getValue(CONTENT_LENGTH_HEADER)); + request.setHeader(CONTENT_LENGTH_HEADER, "0"); + request.setBody((Flux) null); + } + } + + return Mono.empty(); + }); + } + + @SuppressWarnings("unchecked") + @Override + public Mono authorizeRequestOnChallenge(HttpPipelineCallContext context, HttpResponse response) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + Optional contentOptional = context.getData(KEY_VAULT_STASHED_CONTENT_KEY); + Optional contentLengthOptional = context.getData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY); + + if (request.getBody() == null && contentOptional.isPresent() && contentLengthOptional.isPresent()) { + request.setBody((Flux) contentOptional.get()); + request.setHeader(CONTENT_LENGTH_HEADER, (String) contentLengthOptional.get()); + } + + String authority = getRequestAuthority(request); + Map challengeAttributes = + extractChallengeAttributes(response.getHeaderValue(WWW_AUTHENTICATE), BEARER_TOKEN_PREFIX); + String scope = challengeAttributes.get("resource"); + + if (scope != null) { + scope = scope + "/.default"; + } else { + scope = challengeAttributes.get("scope"); + } + + if (scope == null) { + this.scope = SCOPE_CACHE.get(authority); + + if (this.scope == null) { + return Mono.just(false); + } + } else { + this.scope = scope; + + SCOPE_CACHE.put(authority, this.scope); + } + + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext) + .then(Mono.just(true)); + }); + } + + static void clearCache() { + SCOPE_CACHE.clear(); + } + + private static String getRequestAuthority(HttpRequest request) { + URL url = request.getUrl(); + String authority = url.getAuthority(); + int port = url.getPort(); + + if (!authority.contains(":") && port > 0) { + authority = authority + ":" + port; + } + + return authority; + } } diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/ScopeTokenCache.java b/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/ScopeTokenCache.java deleted file mode 100644 index 42de6b85c5b34..0000000000000 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/ScopeTokenCache.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.security.keyvault.certificates.implementation; - -import com.azure.core.credential.AccessToken; -import com.azure.core.credential.TokenRequestContext; -import reactor.core.publisher.FluxSink; -import reactor.core.publisher.Mono; -import reactor.core.publisher.ReplayProcessor; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Function; - -/** - * A token cache that supports caching a token and refreshing it. - */ -class ScopeTokenCache { - private static final int REFRESH_TIMEOUT_SECONDS = 30; - - private final AtomicBoolean wip; - private AccessToken cache; - private final ReplayProcessor emitterProcessor = ReplayProcessor.create(1); - private final FluxSink sink = emitterProcessor.sink(FluxSink.OverflowStrategy.BUFFER); - private final Function> getNew; - private TokenRequestContext request; - - /** - * Creates an instance of RefreshableTokenCredential with default scheme "Bearer". - * - * @param getNew a method to get a new token - */ - ScopeTokenCache(Function> getNew) { - this.wip = new AtomicBoolean(false); - this.getNew = getNew; - } - - void setRequest(TokenRequestContext request) { - this.request = request; - } - - /** - * Asynchronously get a token from either the cache or replenish the cache with a new token. - * @return a Publisher that emits an AccessToken - */ - Mono getToken() { - if (cache != null && !cache.isExpired()) { - return Mono.just(cache); - } - return Mono.defer(() -> { - if (!wip.getAndSet(true)) { - return getNew.apply(request).doOnNext(ac -> cache = ac) - .doOnNext(sink::next) - .doOnError(sink::error) - .doOnTerminate(() -> wip.set(false)); - } else { - return emitterProcessor.next(); - } - }); - } -} diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTest.java b/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTest.java index be99344ecd019..4058f9550699f 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTest.java @@ -51,9 +51,8 @@ protected void beforeTest() { beforeTestSetup(); } - private void createCertificateClient(HttpClient httpClient, - CertificateServiceVersion serviceVersion) { - HttpPipeline httpPipeline = getHttpPipeline(httpClient, serviceVersion); + private void createCertificateClient(HttpClient httpClient, CertificateServiceVersion serviceVersion) { + HttpPipeline httpPipeline = getHttpPipeline(httpClient); CertificateAsyncClient asyncClient = spy(new CertificateClientBuilder() .vaultUrl(getEndpoint()) .pipeline(httpPipeline) diff --git a/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTestBase.java b/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTestBase.java index 1c447993dd55d..05b58567a57b7 100644 --- a/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-certificates/src/test/java/com/azure/security/keyvault/certificates/CertificateClientTestBase.java @@ -12,7 +12,6 @@ import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.RetryPolicy; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLogDetailLevel; @@ -29,6 +28,7 @@ import java.time.Duration; import java.util.stream.Stream; +import com.azure.security.keyvault.certificates.implementation.KeyVaultCredentialPolicy; import com.azure.security.keyvault.certificates.models.CertificateContact; import com.azure.security.keyvault.certificates.models.CertificateIssuer; import com.azure.security.keyvault.certificates.models.CertificateContentType; @@ -83,7 +83,7 @@ protected String getTestName() { void beforeTestSetup() { } - HttpPipeline getHttpPipeline(HttpClient httpClient, CertificateServiceVersion serviceVersion) { + HttpPipeline getHttpPipeline(HttpClient httpClient) { TokenCredential credential = null; if (!interceptorManager.isPlaybackMode()) { @@ -102,13 +102,13 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, CertificateServiceVersion se // Closest to API goes first, closest to wire goes last. final List policies = new ArrayList<>(); - policies.add(new UserAgentPolicy(SDK_NAME, SDK_VERSION, - Configuration.getGlobalConfiguration().clone(), serviceVersion)); + policies.add( + new UserAgentPolicy(null, SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone())); HttpPolicyProviders.addBeforeRetryPolicies(policies); RetryStrategy strategy = new ExponentialBackoff(5, Duration.ofSeconds(2), Duration.ofSeconds(16)); policies.add(new RetryPolicy(strategy)); if (credential != null) { - policies.add(new BearerTokenAuthenticationPolicy(credential, CertificateAsyncClient.KEY_VAULT_SCOPE)); + policies.add(new KeyVaultCredentialPolicy(credential)); } HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))); @@ -571,7 +571,7 @@ static void assertRestException(Runnable exceptionThrower, Class expectedExceptionType, int expectedStatusCode) { + static void assertRestException(HttpResponseException exception, + Class expectedExceptionType, + int expectedStatusCode) { assertEquals(expectedExceptionType, exception.getClass()); - assertEquals(expectedStatusCode, ((HttpResponseException) exception).getResponse().getStatusCode()); + assertEquals(expectedStatusCode, exception.getResponse().getStatusCode()); } /** diff --git a/sdk/keyvault/azure-security-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-keyvault-jca/pom.xml index 70fa88243602f..860cafd9e74ee 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-jca/pom.xml @@ -42,7 +42,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 true @@ -61,7 +61,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -200,7 +200,7 @@ - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] org.conscrypt:conscrypt-openjdk-uber:[2.2.1] org.apache.httpcomponents:httpclient:[4.5.13] org.slf4j:slf4j-nop:[1.7.32] diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java b/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java index 22ef46483dd19..b1b7b6bb41ec9 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/main/java/com/azure/security/keyvault/jca/KeyVaultKeyStore.java @@ -25,9 +25,11 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.List; +import java.util.Objects; import java.util.Map; import java.util.Optional; import java.util.logging.Logger; +import java.util.stream.Stream; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; @@ -122,10 +124,7 @@ public KeyVaultKeyStore() { String clientId = System.getProperty("azure.keyvault.client-id"); String clientSecret = System.getProperty("azure.keyvault.client-secret"); String managedIdentity = System.getProperty("azure.keyvault.managed-identity"); - long refreshInterval = Optional.of("azure.keyvault.jca.certificates-refresh-interval") - .map(System::getProperty) - .map(Long::valueOf) - .orElse(0L); + long refreshInterval = getRefreshInterval(); refreshCertificatesWhenHaveUnTrustCertificate = Optional.of("azure.keyvault.jca.refresh-certificates-when-have-un-trust-certificate") .map(System::getProperty) @@ -141,6 +140,15 @@ public KeyVaultKeyStore() { jreCertificates, wellKnowCertificates, customCertificates, keyVaultCertificates, classpathCertificates); } + Long getRefreshInterval() { + return Stream.of("azure.keyvault.jca.certificates-refresh-interval-in-ms", "azure.keyvault.jca.certificates-refresh-interval") + .map(System::getProperty) + .filter(Objects::nonNull) + .map(Long::valueOf) + .findFirst() + .orElse(0L); + } + /** * get key vault key store by system property * diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultCertificatesTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultCertificatesTest.java index 405862b7f9a1e..58b716edc4b0e 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultCertificatesTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultCertificatesTest.java @@ -84,7 +84,7 @@ private X509Certificate getTestCertificate() { @Test public void testCertificatesRefreshInterval() throws Exception { - System.setProperty("azure.keyvault.jca.certificates-refresh-interval", "1000"); + System.setProperty("azure.keyvault.jca.certificates-refresh-interval-in-ms", "1000"); KeyStore keyStore = PropertyConvertorUtils.getKeyVaultKeyStore(); assertNotNull(keyStore.getCertificate(certificateName)); keyStore.deleteEntry(certificateName); diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java index dbdb9a62d1d1f..ab52bd4b49f58 100644 --- a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreTest.java @@ -7,21 +7,16 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable; -import java.io.ByteArrayInputStream; import java.security.KeyStore; -import java.security.ProviderException; import java.security.Security; import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; -import java.util.Base64; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; + /** * The JUnit tests for the KeyVaultKeyStore class. @@ -29,35 +24,10 @@ @EnabledIfEnvironmentVariable(named = "AZURE_KEYVAULT_CERTIFICATE_NAME", matches = "myalias") public class KeyVaultKeyStoreTest { - - /** - * Stores the CER test certificate (which is valid til 2120). - */ - private static final String TEST_CERTIFICATE - = "MIIDeDCCAmCgAwIBAgIQGghBu97rQJKNnUHPWU7xjDANBgkqhkiG9w0BAQsFADAk" - + "MSIwIAYDVQQDExlodW5kcmVkLXllYXJzLmV4YW1wbGUuY29tMCAXDTIwMDkwMjE3" - + "NDUyNFoYDzIxMjAwOTAyMTc1NTI0WjAkMSIwIAYDVQQDExlodW5kcmVkLXllYXJz" - + "LmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuU14" - + "btkN5wmcO2WKXqm1NUKXzi79EtqiFFkrLgPAwj5NNwMw2Akm3GpdEpwkJ8/q3l7d" - + "frDEVOO9gwZbz7xppyqutjxjllw8CCgjFdfK02btz56CGgh3X25ZZtzPbuMZJM0j" - + "o4mVEdaFNJ0eUeMppS0DcbbuTWCF7Jf1gvr8GVqx+E0IJUFkE+D4kdTbnJSaeK0A" - + "KEt94z88MPX18h8ud14uRVmUCYVZrZeswdE2tO1BpazrXELHuXCtrjGxsDDjDzeP" - + "98aFI9kblkqoJS4TsmloLEjwZLm80cyJDEmpXXMtR7C0FFXFI1BAtIa4mxSgBLsT" - + "L4GVPEGNANR8COYkHQIDAQABo4GjMIGgMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRME" - + "AjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAkBgNVHREEHTAbghlo" - + "dW5kcmVkLXllYXJzLmV4YW1wbGUuY29tMB8GA1UdIwQYMBaAFOGTt4H3ho30O4e+" - + "hebwJjm2VMvIMB0GA1UdDgQWBBThk7eB94aN9DuHvoXm8CY5tlTLyDANBgkqhkiG" - + "9w0BAQsFAAOCAQEAGp8mCioVCmM+kZv6r+K2j2uog1k4HBwN1NfRoSsibDB8+QXF" - + "bmNf3M0imiuR/KJgODyuROwaa/AalxNFMOP8XTL2YmP7XsddBs9ONHHQXKjY/Ojl" - + "PsIPR7vZjwYPfEB+XEKl2fOIxDQQ921POBV7M6DdTC49T5X+FsLR1AIIfinVetT9" - + "QmNuvzulBX0T0rea/qpcPK4HTj7ToyImOaf8sXRv2s2ODLUrKWu5hhTNH2l6RIkQ" - + "U/aIAdQRfDaSE9jhtcVu5d5kCgBs7nz5AzeCisDPo5zIt4Mxej3iVaAJ79oEbHOE" - + "p192KLXLV/pscA4Wgb+PJ8AAEa5B6xq8p9JO+Q=="; + private static String certificateName; private static KeyVaultKeyStore keystore; - private static String certificateName; - @BeforeAll public static void setEnvironmentProperty() { PropertyConvertorUtils.putEnvironmentPropertyToSystemPropertyForKeyVaultJca(); @@ -76,44 +46,12 @@ public void testEngineGetCertificate() { assertNotNull(keystore.engineGetCertificate(certificateName)); } - @Test - public void testEngineGetCertificateAlias() { - X509Certificate certificate; - - try { - byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - certificate = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certificateBytes)); - } catch (CertificateException e) { - throw new ProviderException(e); - } - keystore.engineSetCertificateEntry("setcert", certificate); - assertNotNull(keystore.engineGetCertificateAlias(certificate)); - } @Test public void testEngineGetCertificateChain() { assertNotNull(keystore.engineGetCertificateChain(certificateName)); } - @Test - public void testEngineSetCertificateEntry() { - - X509Certificate certificate; - - try { - byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); - CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); - certificate = - (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(certificateBytes)); - } catch (CertificateException e) { - throw new ProviderException(e); - } - - keystore.engineSetCertificateEntry("setcert", certificate); - assertNotNull(keystore.engineGetCertificate("setcert")); - } - @Test public void testEngineGetKey() { assertNotNull(keystore.engineGetKey(certificateName, null)); @@ -152,12 +90,6 @@ public void testEngineSize() { assertTrue(keystore.engineSize() >= 0); } - @Test - public void testEngineStore() { - KeyVaultKeyStore keystore = new KeyVaultKeyStore(); - keystore.engineStore(null, null); - } - @Test public void testRefreshEngineGetCertificate() throws Exception { System.setProperty("azure.keyvault.jca.refresh-certificates-when-have-un-trust-certificate", "true"); diff --git a/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreUnitTest.java b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreUnitTest.java new file mode 100644 index 0000000000000..7ed7d256d6fd4 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-jca/src/test/java/com/azure/security/keyvault/jca/KeyVaultKeyStoreUnitTest.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.jca; + +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.security.ProviderException; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Base64; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +public class KeyVaultKeyStoreUnitTest { + + /** + * Stores the CER test certificate (which is valid til 2120). + */ + private static final String TEST_CERTIFICATE + = "MIIDeDCCAmCgAwIBAgIQGghBu97rQJKNnUHPWU7xjDANBgkqhkiG9w0BAQsFADAk" + + "MSIwIAYDVQQDExlodW5kcmVkLXllYXJzLmV4YW1wbGUuY29tMCAXDTIwMDkwMjE3" + + "NDUyNFoYDzIxMjAwOTAyMTc1NTI0WjAkMSIwIAYDVQQDExlodW5kcmVkLXllYXJz" + + "LmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuU14" + + "btkN5wmcO2WKXqm1NUKXzi79EtqiFFkrLgPAwj5NNwMw2Akm3GpdEpwkJ8/q3l7d" + + "frDEVOO9gwZbz7xppyqutjxjllw8CCgjFdfK02btz56CGgh3X25ZZtzPbuMZJM0j" + + "o4mVEdaFNJ0eUeMppS0DcbbuTWCF7Jf1gvr8GVqx+E0IJUFkE+D4kdTbnJSaeK0A" + + "KEt94z88MPX18h8ud14uRVmUCYVZrZeswdE2tO1BpazrXELHuXCtrjGxsDDjDzeP" + + "98aFI9kblkqoJS4TsmloLEjwZLm80cyJDEmpXXMtR7C0FFXFI1BAtIa4mxSgBLsT" + + "L4GVPEGNANR8COYkHQIDAQABo4GjMIGgMA4GA1UdDwEB/wQEAwIFoDAJBgNVHRME" + + "AjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAkBgNVHREEHTAbghlo" + + "dW5kcmVkLXllYXJzLmV4YW1wbGUuY29tMB8GA1UdIwQYMBaAFOGTt4H3ho30O4e+" + + "hebwJjm2VMvIMB0GA1UdDgQWBBThk7eB94aN9DuHvoXm8CY5tlTLyDANBgkqhkiG" + + "9w0BAQsFAAOCAQEAGp8mCioVCmM+kZv6r+K2j2uog1k4HBwN1NfRoSsibDB8+QXF" + + "bmNf3M0imiuR/KJgODyuROwaa/AalxNFMOP8XTL2YmP7XsddBs9ONHHQXKjY/Ojl" + + "PsIPR7vZjwYPfEB+XEKl2fOIxDQQ921POBV7M6DdTC49T5X+FsLR1AIIfinVetT9" + + "QmNuvzulBX0T0rea/qpcPK4HTj7ToyImOaf8sXRv2s2ODLUrKWu5hhTNH2l6RIkQ" + + "U/aIAdQRfDaSE9jhtcVu5d5kCgBs7nz5AzeCisDPo5zIt4Mxej3iVaAJ79oEbHOE" + + "p192KLXLV/pscA4Wgb+PJ8AAEa5B6xq8p9JO+Q=="; + + @Test + public void testEngineStore() { + KeyVaultKeyStore keystore = new KeyVaultKeyStore(); + keystore.engineStore(null, null); + } + + @Test + public void testGetRefreshInterval() { + System.clearProperty("azure.keyvault.jca.certificates-refresh-interval"); + System.clearProperty("azure.keyvault.jca.certificates-refresh-interval-in-ms"); + KeyVaultKeyStore keystore = new KeyVaultKeyStore(); + assertEquals(keystore.getRefreshInterval(), 0); + System.setProperty("azure.keyvault.jca.certificates-refresh-interval", "2000"); + keystore = new KeyVaultKeyStore(); + assertEquals(keystore.getRefreshInterval(), 2000); + System.setProperty("azure.keyvault.jca.certificates-refresh-interval-in-ms", "1000"); + assertEquals(keystore.getRefreshInterval(), 1000); + } + + @Test + public void testEngineGetCertificateAlias() { + KeyVaultKeyStore keystore = new KeyVaultKeyStore(); + X509Certificate certificate; + try { + byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + certificate = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certificateBytes)); + } catch (CertificateException e) { + throw new ProviderException(e); + } + keystore.engineSetCertificateEntry("setcert", certificate); + assertNotNull(keystore.engineGetCertificateAlias(certificate)); + } + + @Test + public void testEngineSetCertificateEntry() { + KeyVaultKeyStore keystore = new KeyVaultKeyStore(); + X509Certificate certificate; + try { + byte[] certificateBytes = Base64.getDecoder().decode(TEST_CERTIFICATE); + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + certificate = + (X509Certificate) certificateFactory.generateCertificate(new ByteArrayInputStream(certificateBytes)); + } catch (CertificateException e) { + throw new ProviderException(e); + } + + keystore.engineSetCertificateEntry("setcert", certificate); + assertNotNull(keystore.engineGetCertificate("setcert")); + } + +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/pom.xml b/sdk/keyvault/azure-security-keyvault-keys/pom.xml index 4e88e273d45b3..3e6670d529f10 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-keys/pom.xml @@ -61,13 +61,13 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -98,19 +98,19 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyAsyncClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyAsyncClient.java index 7923f5047e188..1a2af7ba350cb 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyAsyncClient.java @@ -24,6 +24,10 @@ import com.azure.core.util.polling.PollerFlux; import com.azure.core.util.polling.PollingContext; import com.azure.security.keyvault.keys.implementation.models.GetRandomBytesRequest; +import com.azure.security.keyvault.keys.implementation.models.KeyRotationPolicyAttributes; +import com.azure.security.keyvault.keys.implementation.models.LifetimeAction; +import com.azure.security.keyvault.keys.implementation.models.LifetimeActionTrigger; +import com.azure.security.keyvault.keys.implementation.models.LifetimeActionsType; import com.azure.security.keyvault.keys.models.CreateEcKeyOptions; import com.azure.security.keyvault.keys.models.CreateKeyOptions; import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; @@ -34,6 +38,9 @@ import com.azure.security.keyvault.keys.models.KeyCurveName; import com.azure.security.keyvault.keys.models.KeyOperation; import com.azure.security.keyvault.keys.models.KeyProperties; +import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicy; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyProperties; import com.azure.security.keyvault.keys.models.KeyType; import com.azure.security.keyvault.keys.models.KeyVaultKey; import com.azure.security.keyvault.keys.models.RandomBytes; @@ -45,7 +52,12 @@ import java.net.HttpURLConnection; import java.net.URL; import java.time.Duration; +import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -54,13 +66,13 @@ import static com.azure.core.util.tracing.Tracer.AZ_TRACING_NAMESPACE_KEY; /** - * The KeyAsyncClient provides asynchronous methods to manage {@link KeyVaultKey keys} in the Azure Key Vault. The client - * supports creating, retrieving, updating, deleting, purging, backing up, restoring and listing the {@link KeyVaultKey keys}. - * The client also supports listing {@link DeletedKey deleted keys} for a soft-delete enabled Azure Key Vault. + * The {@link KeyAsyncClient} provides asynchronous methods to manage {@link KeyVaultKey keys} in the Azure Key Vault. + * The client supports creating, retrieving, updating, deleting, purging, backing up, restoring, listing, releasing + * and rotating the {@link KeyVaultKey keys}. The client also supports listing {@link DeletedKey deleted keys} for a + * soft-delete enabled Azure Key Vault. * *

Samples to construct the async client

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.instantiation} * * @see KeyClientBuilder * @see PagedFlux @@ -71,8 +83,6 @@ public final class KeyAsyncClient { static final String ACCEPT_LANGUAGE = "en-US"; static final int DEFAULT_MAX_PAGE_RESULTS = 25; static final String CONTENT_TYPE_HEADER_VALUE = "application/json"; - static final String KEY_VAULT_SCOPE = "https://vault.azure.net/.default"; - static final String MHSM_SCOPE = "https://managedhsm.azure.net/.default"; // Please see here // for more information on Azure resource provider namespaces. private static final String KEYVAULT_TRACING_NAMESPACE_VALUE = "Microsoft.KeyVault"; @@ -85,15 +95,16 @@ public final class KeyAsyncClient { private final HttpPipeline pipeline; /** - * Creates a KeyAsyncClient that uses {@code pipeline} to service requests + * Creates a {@link KeyAsyncClient} that uses an {@link HttpPipeline} to service requests. * - * @param vaultUrl URL for the Azure KeyVault service. - * @param pipeline HttpPipeline that the HTTP requests and responses flow through. + * @param vaultUrl URL for the Azure Key Vault service. + * @param pipeline {@link HttpPipeline} that the HTTP requests and responses will flow through. * @param version {@link KeyServiceVersion} of the service to be used when making requests. */ KeyAsyncClient(URL vaultUrl, HttpPipeline pipeline, KeyServiceVersion version) { Objects.requireNonNull(vaultUrl, KeyVaultErrorCodeStrings.getErrorString(KeyVaultErrorCodeStrings.VAULT_END_POINT_REQUIRED)); + this.vaultUrl = vaultUrl.toString(); this.service = RestProxy.create(KeyService.class, pipeline); this.pipeline = pipeline; @@ -102,7 +113,8 @@ public final class KeyAsyncClient { /** * Get the vault endpoint url to which service requests are sent to. - * @return the vault endpoint url + * + * @return The vault endpoint url */ public String getVaultUrl() { return vaultUrl; @@ -111,36 +123,43 @@ public String getVaultUrl() { /** * Gets the {@link HttpPipeline} powering this client. * - * @return The pipeline. + * @return The {@link HttpPipeline pipeline}. */ HttpPipeline getHttpPipeline() { return this.pipeline; } + /** + * Gets the default polling interval for long running operations. + * + * @return The default polling interval for long running operations + */ Duration getDefaultPollingInterval() { return DEFAULT_POLLING_INTERVAL; } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link KeyType keyType} indicates the type of key to create. Possible values include: + *

The {@link KeyType keyType} indicates the type of {@link KeyVaultKey key} to create. Possible values include: * {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, {@link KeyType#RSA_HSM RSA-HSM}, * {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new EC key. Subscribes to the call asynchronously and prints out the newly created key details when - * a response has been received.

+ *

Creates a new {@link KeyVaultKey EC key}. Subscribes to the call asynchronously and prints out the newly + * {@link KeyVaultKey created key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createKey#String-KeyType} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createKey#string-keyType} + * @param name The name of the {@link KeyVaultKey key} being created. + * @param keyType The type of {@link KeyVaultKey key} to create. For valid values, see {@link KeyType KeyType}. * - * @param name The name of the key being created. - * @param keyType The type of key to create. For valid values, see {@link KeyType KeyType}. * @return A {@link Mono} containing the {@link KeyVaultKey created key}. - * @throws ResourceModifiedException if {@code name} or {@code keyType} is null. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws HttpResponseException If {@code name} is an empty string. + * @throws NullPointerException If {@code name} or {@code keyType} are {@code null}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono createKey(String name, KeyType keyType) { @@ -153,25 +172,30 @@ public Mono createKey(String name, KeyType keyType) { } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link KeyType keyType} indicates the type of key to create. Possible values include: + *

The {@link KeyType keyType} indicates the type of {@link KeyVaultKey key} to create. Possible values include: * {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, {@link KeyType#RSA_HSM RSA-HSM}, * {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new EC key. Subscribes to the call asynchronously and prints out the newly created key details when - * a response has been received.

+ *

Creates a new {@link KeyVaultKey EC key}. Subscribes to the call asynchronously and prints out the newly + * {@link KeyVaultKey created key} details when a response has been received.

+ * + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createKeyWithResponse#CreateKeyOptions} + * + * @param createKeyOptions The {@link CreateKeyOptions options object} containing information about the + * {@link KeyVaultKey key} being created. * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createKeyWithResponse#keyCreateOptions} + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultKey created key}. * - * @param createKeyOptions The key configuration object containing information about the key being created. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * created key}. - * @throws ResourceModifiedException if {@code name} or {@code keyType} is null. - * @throws HttpResponseException if {@code name} is empty string. + * @throws HttpResponseException If {@link CreateKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code name} or {@code keyType} are {@code null}. + * @throws ResourceModifiedException If {@code createKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> createKeyWithResponse(CreateKeyOptions createKeyOptions) { @@ -185,35 +209,41 @@ public Mono> createKeyWithResponse(CreateKeyOptions create Mono> createKeyWithResponse(String name, KeyType keyType, Context context) { KeyRequestParameters parameters = new KeyRequestParameters().setKty(keyType); return service.createKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, parameters, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Creating key - {}", name)) .doOnSuccess(response -> logger.verbose("Created key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to create key - {}", name, error)); } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link CreateKeyOptions} is required. The {@link CreateKeyOptions#getExpiresOn() expires} and {@link - * CreateKeyOptions#getNotBefore() notBefore} values are optional. The {@link CreateKeyOptions#isEnabled() enabled} - * field is set to true by Azure Key Vault, if not specified.

+ *

The {@link CreateKeyOptions} parameter is required. The {@link CreateKeyOptions#getExpiresOn() expires} and + * {@link CreateKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not specified. + *

* - *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, + *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, * {@link KeyType#RSA_HSM RSA-HSM}, {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new Rsa key which activates in one day and expires in one year. Subscribes to the call - * asynchronously and prints out the newly created key details when a response has been received.

+ *

Creates a new {@link KeyVaultKey RSA key} which activates in one day and expires in one year. Subscribes to + * the call asynchronously and prints out the newly {@link KeyVaultKey created key} details when a response has been + * received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createKey#CreateKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createKey#keyCreateOptions} + * @param createKeyOptions The {@link CreateKeyOptions options object} containing information about the + * {@link KeyVaultKey key} being created. * - * @param createKeyOptions The key configuration object containing information about the key being created. * @return A {@link Mono} containing the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code keyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code keyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono createKey(CreateKeyOptions createKeyOptions) { @@ -235,36 +265,42 @@ Mono> createKeyWithResponse(CreateKeyOptions createKeyOpti .setReleasePolicy(createKeyOptions.getReleasePolicy()); return service.createKey(vaultUrl, createKeyOptions.getName(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Creating key - {}", createKeyOptions.getName())) .doOnSuccess(response -> logger.verbose("Created key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to create key - {}", createKeyOptions.getName(), error)); } /** - * Creates a new Rsa key and stores it in the key vault. The create Rsa key operation can be used to create any Rsa - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. + * /** + * Creates a new {@link KeyVaultKey RSA key} and stores it in the key vault. The create RSA key operation can be + * used to create any RSA key type in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name already + * exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the + * {@code keys/create} permission. * - *

The {@link CreateRsaKeyOptions} is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} can be - * optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and + *

The {@link CreateRsaKeyOptions} parameter is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} + * can be optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and * {@link CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The - * {@link CreateRsaKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

+ * {@link CreateRsaKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

+ *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

* *

Code Samples

- *

Creates a new RSA key with size 2048 which activates in one day and expires in one year. Subscribes to the - * call asynchronously and prints out the newly created key details when a response has been received.

+ *

Creates a new {@link KeyVaultKey RSA key} with size 2048 which activates in one day and expires in one year. + * Subscribes to the call asynchronously and prints out the newly {@link KeyVaultKey created key} details when a + * response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKey#CreateRsaKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createRsaKey#RsaKeyCreateOptions} + * @param createRsaKeyOptions The {@link CreateRsaKeyOptions options object} containing information about the + * {@link KeyVaultKey RSA key} being created. * - * @param createRsaKeyOptions The key configuration object containing information about the rsa key being - * created. * @return A {@link Mono} containing the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code rsaKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code rsaKeyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateRsaKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createRsaKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createRsaKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono createRsaKey(CreateRsaKeyOptions createRsaKeyOptions) { @@ -276,26 +312,35 @@ public Mono createRsaKey(CreateRsaKeyOptions createRsaKeyOptions) { } /** - * Creates a new Rsa key and stores it in the key vault. The create Rsa key operation can be used to create any Rsa - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. - * - *

The {@link CreateRsaKeyOptions} is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} can be - * optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and - * {@link CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The {@link - * CreateRsaKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

- * - *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createRsaKeyWithResponse#RsaKeyCreateOptions} - * - * @param createRsaKeyOptions The key configuration object containing information about the rsa key being - * created. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * created key}. - * @throws NullPointerException if {@code rsaKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code rsaKeyCreateOptions} is malformed. + * Creates a new {@link KeyVaultKey RSA key} and stores it in the key vault. The create RSA key operation can be + * used to create any RSA key type in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name already + * exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the + * {@code keys/create} permission. + * + *

The {@link CreateRsaKeyOptions} parameter is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} + * can be optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and + * {@link CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateRsaKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

+ * + *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

+ * + *

Code Samples

+ *

Creates a new {@link KeyVaultKey RSA key} with size 2048 which activates in one day and expires in one year. + * Subscribes to the call asynchronously and prints out the newly {@link KeyVaultKey created key} details when a + * response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKeyWithResponse#CreateRsaKeyOptions} + * + * @param createRsaKeyOptions The {@link CreateRsaKeyOptions options object} containing information about the + * {@link KeyVaultKey RSA key} being created. + * + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link + * KeyVaultKey created key}. + * + * @throws HttpResponseException If {@link CreateRsaKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createRsaKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createRsaKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> createRsaKeyWithResponse(CreateRsaKeyOptions createRsaKeyOptions) { @@ -319,37 +364,42 @@ Mono> createRsaKeyWithResponse(CreateRsaKeyOptions createR .setReleasePolicy(createRsaKeyOptions.getReleasePolicy()); return service.createKey(vaultUrl, createRsaKeyOptions.getName(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Creating Rsa key - {}", createRsaKeyOptions.getName())) .doOnSuccess(response -> logger.verbose("Created Rsa key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to create Rsa key - {}", createRsaKeyOptions.getName(), error)); } /** - * Creates a new Ec key and stores it in the key vault. The create Ec key operation can be used to create any Ec key - * type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires + * Creates a new {@link KeyVaultKey EC key} and stores it in the key vault. The create EC key operation can be + * used to create any EC {@link KeyType key type} in Azure Key Vault. If a {@link KeyVaultKey key} with the + * provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires * the {@code keys/create} permission. * - *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} can be - * optionally specified. If not specified, default value of {@link KeyCurveName#P_256 P-256} is used by Azure Key - * Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and {@link CreateEcKeyOptions#getNotBefore() notBefore} - * values are optional. The {@link CreateEcKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, - * if not specified.

+ *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} + * can be optionally specified. If not specified, the default value {@link KeyCurveName#P_256 P-256} is used by + * Azure Key Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and + * {@link CreateEcKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateEcKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not specified. + *

* - *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values include: - * {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

+ *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. + * Possible values include: {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

* *

Code Samples

- *

Creates a new EC key with P-384 web key curve. The key activates in one day and expires in one year. - * Subscribes to the call asynchronously and prints out the newly created ec key details when a response has been - * received.

+ *

Creates a new {@link KeyVaultKey EC key} with a {@link KeyCurveName#P_384 P-384} web key curve. The key + * activates in one day and expires in one year. Subscribes to the call asynchronously and prints out the newly + * {@link KeyVaultKey created key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createEcKey#CreateEcKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createEcKey#EcKeyCreateOptions} + * @param createEcKeyOptions The {@link CreateEcKeyOptions options object} containing information about the + * {@link KeyVaultKey EC key} being created. * - * @param createEcKeyOptions The key options object containing information about the ec key being created. * @return A {@link Mono} containing the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code ecKeyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateEcKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code ecKeyCreateOptions} is {@code null}. + * @throws ResourceModifiedException If {@code ecKeyCreateOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono createEcKey(CreateEcKeyOptions createEcKeyOptions) { @@ -361,31 +411,37 @@ public Mono createEcKey(CreateEcKeyOptions createEcKeyOptions) { } /** - * Creates a new Ec key and stores it in the key vault. The create Ec key operation can be used to create any Ec key - * type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires + * Creates a new {@link KeyVaultKey EC key} and stores it in the key vault. The create EC key operation can be + * used to create any EC {@link KeyType key type} in Azure Key Vault. If a {@link KeyVaultKey key} with the + * provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires * the {@code keys/create} permission. * - *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} can be - * optionally specified. If not specified, default value of {@link KeyCurveName#P_256 P-256} is used by Azure Key - * Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and {@link CreateEcKeyOptions#getNotBefore() notBefore} - * values are optional. The {@link CreateEcKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if - * not specified.

+ *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} + * can be optionally specified. If not specified, the default value {@link KeyCurveName#P_256 P-256} is used by + * Azure Key Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and + * {@link CreateEcKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateEcKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified. + *

* - *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values include: - * {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

+ *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. + * Possible values include: {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

* *

Code Samples

- *

Creates a new EC key with P-384 web key curve. The key activates in one day and expires in one year. - * Subscribes to the call asynchronously and prints out the newly created ec key details when a response has been - * received.

+ *

Creates a new {@link KeyVaultKey EC key} with a {@link KeyCurveName#P_384 P-384} web key curve. The key + * activates in one day and expires in one year. Subscribes to the call asynchronously and prints out the newly + * {@link KeyVaultKey created key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createEcKeyWithResponse#CreateEcKeyOptions} + * + * @param createEcKeyOptions The {@link CreateEcKeyOptions options object} containing information about the + * {@link KeyVaultKey EC key} being created. * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.createEcKeyWithResponse#EcKeyCreateOptions} + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultKey created key}. * - * @param createEcKeyOptions The key options object containing information about the ec key being created. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * created key}. - * @throws NullPointerException if {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code ecKeyCreateOptions} is malformed. + * @throws HttpResponseException If {@link CreateEcKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code ecKeyCreateOptions} is {@code null}. + * @throws ResourceModifiedException If {@code ecKeyCreateOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> createEcKeyWithResponse(CreateEcKeyOptions createEcKeyOptions) { @@ -408,33 +464,37 @@ Mono> createEcKeyWithResponse(CreateEcKeyOptions createEcK .setReleasePolicy(createEcKeyOptions.getReleasePolicy()); return service.createKey(vaultUrl, createEcKeyOptions.getName(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Creating Ec key - {}", createEcKeyOptions.getName())) .doOnSuccess(response -> logger.verbose("Created Ec key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to create Ec key - {}", createEcKeyOptions.getName(), error)); } /** - * Creates and stores a new symmetric key in Key Vault. If the named key already exists, Azure Key Vault creates a - * new version of the key. This operation requires the keys/create permission. + * Creates and stores a new {@link KeyVaultKey symmetric key} in the key vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the key. This operation requires + * the {@code keys/create} permission. * *

The {@link CreateOctKeyOptions} parameter is required. The {@link CreateOctKeyOptions#getExpiresOn() expires} * and {@link CreateOctKeyOptions#getNotBefore() notBefore} values are optional. The - * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

+ * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of key to create. + *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. * Possible values include: {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new symmetric key. The key activates in one day and expires in one year. Subscribes to the call - * asynchronously and prints out the details of the newly created key when a response has been received.

+ *

Creates a new {@link KeyVaultKey symmetric key}. The {@link KeyVaultKey key} activates in one day and expires + * in one year. Subscribes to the call asynchronously and prints out the details of the newly + * {@link KeyVaultKey created key} when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createOctKey#CreateOctKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKey#CreateOctKeyOptions} - * - * @param createOctKeyOptions The key options object containing information about the ec key being created. + * @param createOctKeyOptions The {@link CreateOctKeyOptions options object} containing information about the + * {@link KeyVaultKey symmetric key} being created. * * @return A {@link Mono} containing the {@link KeyVaultKey created key}. * + * @throws HttpResponseException If {@link CreateOctKeyOptions#getName()} is an empty string. * @throws NullPointerException If {@code ecKeyCreateOptions} is {@code null}. * @throws ResourceModifiedException If {@code ecKeyCreateOptions} is malformed. */ @@ -448,27 +508,31 @@ public Mono createOctKey(CreateOctKeyOptions createOctKeyOptions) { } /** - * Creates and stores a new symmetric key in Key Vault. If the named key already exists, Azure Key Vault creates - * a new version of the key. This operation requires the keys/create permission. + * Creates and stores a new {@link KeyVaultKey symmetric key} in the key vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the key. This operation requires + * the {@code keys/create} permission. * *

The {@link CreateOctKeyOptions} parameter is required. The {@link CreateOctKeyOptions#getExpiresOn() expires} * and {@link CreateOctKeyOptions#getNotBefore() notBefore} values are optional. The - * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

+ * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of key to create. + *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. * Possible values include: {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new symmetric key. The key activates in one day and expires in one year. Subscribes to the call - * asynchronously and prints out the details of the newly created key when a response has been received.

+ *

Creates a new {@link KeyVaultKey symmetric key}. The {@link KeyVaultKey key} activates in one day and expires + * in one year. Subscribes to the call asynchronously and prints out the details of the newly + * {@link KeyVaultKey created key} when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions} - * - * @param createOctKeyOptions The key options object containing information about the ec key being created. + * @param createOctKeyOptions The {@link CreateOctKeyOptions options object} containing information about the + * {@link KeyVaultKey symmetric key} being created. * * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link * KeyVaultKey created key}. * + * @throws HttpResponseException If {@link CreateOctKeyOptions#getName()} is an empty string. * @throws NullPointerException If {@code createOctKeyOptions} is {@code null}. * @throws ResourceModifiedException If {@code createOctKeyOptions} is malformed. */ @@ -494,7 +558,7 @@ Mono> createOctKeyWithResponse(CreateOctKeyOptions createO .setReleasePolicy(createOctKeyOptions.getReleasePolicy()); return service.createKey(vaultUrl, createOctKeyOptions.getName(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Creating symmetric key - {}", createOctKeyOptions.getName())) .doOnSuccess(response -> logger.verbose("Created symmetric key - {}", response.getValue().getName())) .doOnError(error -> @@ -502,21 +566,24 @@ Mono> createOctKeyWithResponse(CreateOctKeyOptions createO } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. + * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. * *

Code Samples

- *

Imports a new key into key vault. Subscribes to the call asynchronously and prints out the newly imported key - * details when a response has been received.

- * - * {@codesnippet com.azure.security.keyvault.keys.keyasyncclient.importKey#string-jsonwebkey} + *

Imports a new {@link KeyVaultKey key} into key vault. Subscribes to the call asynchronously and prints out the + * newly {@link KeyVaultKey imported key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.importKey#String-JsonWebKey} * * @param name The name for the imported key. * @param keyMaterial The Json web key being imported. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * imported key}. - * @throws HttpResponseException if {@code name} is empty string. + * + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link + * KeyVaultKey + * imported key}. + * + * @throws HttpResponseException If {@code name} is an empty string. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono importKey(String name, JsonWebKey keyMaterial) { @@ -530,33 +597,38 @@ public Mono importKey(String name, JsonWebKey keyMaterial) { Mono> importKeyWithResponse(String name, JsonWebKey keyMaterial, Context context) { KeyImportRequestParameters parameters = new KeyImportRequestParameters().setKey(keyMaterial); return service.importKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, parameters, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Importing key - {}", name)) .doOnSuccess(response -> logger.verbose("Imported key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to import key - {}", name, error)); } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. - * - *

The {@code keyImportOptions} is required and its fields {@link ImportKeyOptions#getName() name} and {@link - * ImportKeyOptions#getKey() key material} cannot be null. The {@link ImportKeyOptions#getExpiresOn() expires} and - * {@link ImportKeyOptions#getNotBefore() notBefore} values in {@code keyImportOptions} are optional. If not specified, - * no values are set for the fields. The {@link ImportKeyOptions#isEnabled() enabled} field is set to true and the - * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to false by Azure Key Vault, if they are not specified.

+ * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. + * + *

{@link ImportKeyOptions} is required and its fields {@link ImportKeyOptions#getName() name} and + * {@link ImportKeyOptions#getKey() key material} cannot be {@code null}. The + * {@link ImportKeyOptions#getExpiresOn() expires} and {@link ImportKeyOptions#getNotBefore() notBefore} values + * in {@code keyImportOptions} are optional. If not specified, no values are set for the fields. The + * {@link ImportKeyOptions#isEnabled() enabled} field is set to {@code true} and the + * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to {@code false} by Azure Key Vault, if they are + * not specified.

* *

Code Samples

- *

Imports a new key into key vault. Subscribes to the call asynchronously and prints out the newly imported key - * details when a response has been received.

+ *

Imports a new {@link KeyVaultKey key} into key vault. Subscribes to the call asynchronously and prints out the + * newly {@link KeyVaultKey imported key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.importKey#ImportKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.keyasyncclient.importKey#options} + * @param importKeyOptions The {@link ImportKeyOptions options object} containing information about the + * {@link JsonWebKey} being imported. * - * @param importKeyOptions The key import configuration object containing information about the json web key - * being imported. * @return A {@link Mono} containing the {@link KeyVaultKey imported key}. - * @throws NullPointerException if {@code keyImportOptions} is {@code null}. + * + * @throws HttpResponseException If {@link ImportKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code importKeyOptions} is {@code null}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono importKey(ImportKeyOptions importKeyOptions) { @@ -568,28 +640,32 @@ public Mono importKey(ImportKeyOptions importKeyOptions) { } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. - * - *

The {@code keyImportOptions} is required and its fields {@link ImportKeyOptions#getName() name} and {@link - * ImportKeyOptions#getKey() key material} cannot be null. The {@link ImportKeyOptions#getExpiresOn() expires} and - * {@link ImportKeyOptions#getNotBefore() notBefore} values in {@code keyImportOptions} are optional. If not specified, - * no values are set for the fields. The {@link ImportKeyOptions#isEnabled() enabled} - * field is set to true and the {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to false by Azure Key Vault, if they - * are not specified.

+ * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. + * + *

{@link ImportKeyOptions} is required and its fields {@link ImportKeyOptions#getName() name} and + * {@link ImportKeyOptions#getKey() key material} cannot be {@code null}. The + * {@link ImportKeyOptions#getExpiresOn() expires} and {@link ImportKeyOptions#getNotBefore() notBefore} values + * in {@code keyImportOptions} are optional. If not specified, no values are set for the fields. The + * {@link ImportKeyOptions#isEnabled() enabled} field is set to {@code true} and the + * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to {@code false} by Azure Key Vault, if they are + * not specified.

* *

Code Samples

- *

Imports a new key into key vault. Subscribes to the call asynchronously and prints out the newly imported key - * details when a response has been received.

+ *

Imports a new {@link KeyVaultKey key} into key vault. Subscribes to the call asynchronously and prints out the + * newly {@link KeyVaultKey imported key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.importKeyWithResponse#ImportKeyOptions} + * + * @param importKeyOptions The {@link ImportKeyOptions options object} containing information about the + * {@link JsonWebKey} being imported. * - * {@codesnippet com.azure.security.keyvault.keys.keyasyncclient.importKeyWithResponse#options-response} + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultKey imported key}. * - * @param importKeyOptions The key import configuration object containing information about the json web key - * being imported. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * imported key}. - * @throws NullPointerException if {@code keyImportOptions} is {@code null}. + * @throws HttpResponseException If {@link ImportKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code importKeyOptions} is {@code null}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> importKeyWithResponse(ImportKeyOptions importKeyOptions) { @@ -611,30 +687,31 @@ Mono> importKeyWithResponse(ImportKeyOptions importKeyOpti .setReleasePolicy(importKeyOptions.getReleasePolicy()); return service.importKey(vaultUrl, importKeyOptions.getName(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Importing key - {}", importKeyOptions.getName())) .doOnSuccess(response -> logger.verbose("Imported key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to import key - {}", importKeyOptions.getName(), error)); } /** - * Gets the public part of the specified key and key version. The get key operation is applicable to all key types - * and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets a specific version of the key in the key vault. Subscribes to the call asynchronously and prints out the - * returned key details when a response has been received.

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.getKey#string-string} + *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Subscribes to the call asynchronously + * and prints out the {@link KeyVaultKey retrieved key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String-String} * - * @param name The name of the key, cannot be null + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. * @param version The version of the key to retrieve. If this is an empty String or null, this call is - * equivalent to calling {@link KeyAsyncClient#getKey(String)}, with the latest version being retrieved. + * equivalent to calling {@link KeyAsyncClient#getKey(String)}, with the latest version being retrieved. + * * @return A {@link Mono} containing the requested {@link KeyVaultKey key}. - * The content of the key is null if both {@code name} and {@code version} are null or empty. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault or - * an empty/null {@code name} and a non null/empty {@code version} is provided. - * @throws HttpResponseException if a valid {@code name} and a non null/empty {@code version} is specified. + * The content of the key is {@code null} if both {@code name} and {@code version} are {@code null} or empty. + * + * @throws HttpResponseException If a valid {@code name} and a non null/empty {@code version} is specified. + * @throws ResourceNotFoundException When a {@link KeyVaultKey key} with the provided {@code name} doesn't exist in + * the key vault or an empty/{@code null} {@code name} and a non-null/empty {@code version} is provided. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono getKey(String name, String version) { @@ -646,24 +723,25 @@ public Mono getKey(String name, String version) { } /** - * Gets the public part of the specified key and key version. The get key operation is applicable to all key types - * and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets a specific version of the key in the key vault. Subscribes to the call asynchronously and prints out the - * returned key details when a response has been received.

+ *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Subscribes to the call asynchronously + * and prints out the {@link KeyVaultKey retrieved key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getKeyWithResponse#String-String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.getKeyWithResponse#string-string} - * - * @param name The name of the key, cannot be null + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. * @param version The version of the key to retrieve. If this is an empty String or null, this call is - * equivalent to calling {@link KeyAsyncClient#getKey(String)}, with the latest version being retrieved. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the requested - * {@link KeyVaultKey key}. The content of the key is null if both {@code name} and {@code version} - * are null or empty. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault or - * an empty/null {@code name} and a non null/empty {@code version} is provided. - * @throws HttpResponseException if a valid {@code name} and a non null/empty {@code version} is specified. + * equivalent to calling {@link KeyAsyncClient#getKey(String)}, with the latest version being retrieved. + * + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * requested {@link KeyVaultKey key}. The content of the key is {@code null} if both {@code name} and + * {@code version} are {@code null} or empty. + * + * @throws HttpResponseException If a valid {@code name} and a non-null/empty {@code version} is specified. + * @throws ResourceNotFoundException When a {@link KeyVaultKey key} with the provided {@code name} doesn't exist in + * the key vault or an empty/{@code null} {@code name} and a non-null/empty {@code version} is provided. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getKeyWithResponse(String name, String version) { @@ -677,27 +755,29 @@ public Mono> getKeyWithResponse(String name, String versio Mono> getKeyWithResponse(String name, String version, Context context) { context = context == null ? Context.NONE : context; return service.getKey(vaultUrl, name, version, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Retrieving key - {}", name)) .doOnSuccess(response -> logger.verbose("Retrieved key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to get key - {}", name, error)); } /** - * Get the public part of the latest version of the specified key from the key vault. The get key operation is - * applicable to all key types and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets latest version of the key in the key vault. Subscribes to the call asynchronously and prints out the - * returned key details when a response has been received.

+ *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Subscribes to the call asynchronously + * and prints out the {@link KeyVaultKey retrieved key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.getKey#string} + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. * - * @param name The name of the key. - * @return A {@link Mono} containing the requested {@link KeyVaultKey key}. The content of the key is null - * if {@code name} is null or empty. - * @throws ResourceNotFoundException when a key with non null/empty {@code name} doesn't exist in the key vault. - * @throws HttpResponseException if a non null/empty and an invalid {@code name} is specified. + * @return A {@link Mono} containing the requested {@link KeyVaultKey key}. The content of the key is {@code null} + * if {@code name} is {@code null} or empty. + * + * @throws HttpResponseException If a valid {@code name} and a non-null/empty {@code version} is specified. + * @throws ResourceNotFoundException When a {@link KeyVaultKey key} with the provided {@code name} doesn't exist in + * the key vault or an empty/{@code null} {@code name} and a non-null/empty {@code version} is provided. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono getKey(String name) { @@ -709,27 +789,31 @@ public Mono getKey(String name) { } /** - * Updates the attributes and key operations associated with the specified key, but not the cryptographic key - * material of the specified key in the key vault. The update operation changes specified attributes of an existing - * stored key and attributes that are not specified in the request are left unchanged. The cryptographic key - * material of a key itself cannot be changed. This operation requires the {@code keys/set} permission. + * Updates the {@link KeyProperties attributes} and {@link KeyOperation key operations} associated with the + * specified {@link KeyVaultKey key}, but not the cryptographic key material of the specified + * {@link KeyVaultKey key} in the key vault. The update operation changes specified + * {@link KeyProperties attributes} of an existing stored {@link KeyVaultKey key} and + * {@link KeyProperties attributes} that are not specified in the request are left unchanged. The cryptographic + * key material of a {@link KeyVaultKey key} itself cannot be changed. This operation requires the + * {@code keys/set} permission. * *

Code Samples

- *

Gets latest version of the key, changes its notBefore time and then updates it in the Azure Key Vault. - * Subscribes to the call asynchronously and prints out the returned key details when a response has been received. - *

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations} + *

Gets latest version of the {@link KeyVaultKey key}, changes its notBefore time and then updates it in the + * Azure Key Vault. Subscribes to the call asynchronously and prints out the {@link KeyVaultKey returned key} + * details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyPropertiesWithResponse#KeyProperties-KeyOperation} * * @param keyProperties The {@link KeyProperties key properties} object with updated properties. - * @param keyOperations The updated key operations to associate with the key. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link - * KeyVaultKey updated key}. - * @throws NullPointerException if {@code key} is {@code null}. - * @throws ResourceNotFoundException when a key with {@link KeyProperties#getName() name} and {@link KeyProperties#getVersion() - * version} doesn't exist in the key vault. - * @throws HttpResponseException if {@link KeyProperties#getName() name} or {@link KeyProperties#getVersion() version} is empty - * string. + * @param keyOperations The updated {@link KeyOperation key operations} to associate with the key. + * + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultKey updated key}. + * + * @throws HttpResponseException If {@link KeyProperties#getName() name} or + * {@link KeyProperties#getVersion() version} is an empty string. + * @throws NullPointerException If {@code key} is {@code null}. + * @throws ResourceNotFoundException When a key with {@link KeyProperties#getName() name} and + * {@link KeyProperties#getVersion() version} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> updateKeyPropertiesWithResponse(KeyProperties keyProperties, KeyOperation... keyOperations) { @@ -741,26 +825,30 @@ public Mono> updateKeyPropertiesWithResponse(KeyProperties } /** - * Updates the attributes and key operations associated with the specified key, but not the cryptographic key - * material of the specified key in the key vault. The update operation changes specified attributes of an existing - * stored key and attributes that are not specified in the request are left unchanged. The cryptographic key - * material of a key itself cannot be changed. This operation requires the {@code keys/set} permission. + * Updates the {@link KeyProperties attributes} and {@link KeyOperation key operations} associated with the + * specified {@link KeyVaultKey key}, but not the cryptographic key material of the specified + * {@link KeyVaultKey key} in the key vault. The update operation changes specified + * {@link KeyProperties attributes} of an existing stored {@link KeyVaultKey key} and + * {@link KeyProperties attributes} that are not specified in the request are left unchanged. The cryptographic + * key material of a {@link KeyVaultKey key} itself cannot be changed. This operation requires the + * {@code keys/set} permission. * *

Code Samples

- *

Gets latest version of the key, changes its notBefore time and then updates it in the Azure Key Vault. - * Subscribes to the call asynchronously and prints out the returned key details when a response has been received. - *

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.updateKeyProperties#KeyProperties-keyOperations} + *

Gets latest version of the {@link KeyVaultKey key}, changes its notBefore time and then updates it in the + * Azure Key Vault. Subscribes to the call asynchronously and prints out the {@link KeyVaultKey returned key} + * details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyProperties#KeyProperties-KeyOperation} * * @param keyProperties The {@link KeyProperties key properties} object with updated properties. - * @param keyOperations The updated key operations to associate with the key. + * @param keyOperations The updated {@link KeyOperation key operations} to associate with the key. + * * @return A {@link Mono} containing the {@link KeyVaultKey updated key}. - * @throws NullPointerException if {@code key} is {@code null}. - * @throws ResourceNotFoundException when a key with {@link KeyProperties#getName() name} and {@link KeyProperties#getVersion() - * version} doesn't exist in the key vault. - * @throws HttpResponseException if {@link KeyProperties#getName() name} or {@link KeyProperties#getVersion() version} is empty - * string. + * + * @throws HttpResponseException If {@link KeyProperties#getName() name} or + * {@link KeyProperties#getVersion() version} is an empty string. + * @throws NullPointerException If {@code key} is {@code null}. + * @throws ResourceNotFoundException When a key with {@link KeyProperties#getName() name} and + * {@link KeyProperties#getVersion() version} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono updateKeyProperties(KeyProperties keyProperties, KeyOperation... keyOperations) { @@ -784,30 +872,33 @@ Mono> updateKeyPropertiesWithResponse(KeyProperties keyPro } return service.updateKey(vaultUrl, keyProperties.getName(), keyProperties.getVersion(), apiVersion, ACCEPT_LANGUAGE, parameters, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Updating key - {}", keyProperties.getName())) .doOnSuccess(response -> logger.verbose("Updated key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to update key - {}", keyProperties.getName(), error)); } /** - * Deletes a key of any type from the key vault. If soft-delete is enabled on the key vault then the key is placed - * in the deleted state and requires to be purged for permanent deletion else the key is permanently deleted. The - * delete operation applies to any key stored in Azure Key Vault but it cannot be applied to an individual version - * of a key. This operation removes the cryptographic material associated with the key, which means the key is not - * usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the - * {@code keys/delete} permission. + * Deletes a {@link KeyVaultKey key} of any type from the key vault. If soft-delete is enabled on the key vault then + * the {@link KeyVaultKey key} is placed in the deleted state and requires to be purged for permanent deletion + * else the {@link KeyVaultKey key} is permanently deleted. The delete operation applies to any + * {@link KeyVaultKey key} stored in Azure Key Vault but it cannot be applied to an individual version + * of a {@link KeyVaultKey key}. This operation removes the cryptographic material associated with the + * {@link KeyVaultKey key}, which means the {@link KeyVaultKey key} is not usable for {@code Sign/Verify}, + * {@code Wrap/Unwrap} or {@code Encrypt/Decrypt} operations. This operation requires the {@code keys/delete} + * permission. * *

Code Samples

- *

Deletes the key in the Azure Key Vault. Subscribes to the call asynchronously and prints out the deleted key - * details when a response has been received.

+ *

Deletes the {@link KeyVaultKey key} in the Azure Key Vault. Subscribes to the call asynchronously and prints + * out the {@link KeyVaultKey deleted key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.deleteKey#String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.deleteKey#String} + * @param name The name of the {@link KeyVaultKey key} to be deleted. * - * @param name The name of the key to be deleted. * @return A {@link PollerFlux} to poll on the {@link DeletedKey deleted key} status. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) public PollerFlux beginDeleteKey(String name) { @@ -824,8 +915,8 @@ private Function, Mono> activationOperati } /* - Polling operation to poll on create delete key operation status. - */ + * Polling operation to poll on create delete key operation status. + */ private Function, Mono>> createPollOperation(String keyName) { return pollingContext -> withContext(context -> service.getDeletedKeyPoller(vaultUrl, keyName, apiVersion, @@ -834,7 +925,7 @@ private Function, Mono>> cre .flatMap(deletedKeyResponse -> { if (deletedKeyResponse.getStatusCode() == HttpURLConnection.HTTP_NOT_FOUND) { return Mono.defer(() -> Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS, - pollingContext.getLatestResponse().getValue()))); + pollingContext.getLatestResponse().getValue()))); } return Mono.defer(() -> Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, deletedKeyResponse.getValue()))); }) @@ -845,27 +936,27 @@ private Function, Mono>> cre Mono> deleteKeyWithResponse(String name, Context context) { return service.deleteKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Deleting key - {}", name)) .doOnSuccess(response -> logger.verbose("Deleted key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to delete key - {}", name, error)); } /** - * Gets the public part of a deleted key. The Get Deleted Key operation is applicable for soft-delete enabled - * vaults. This operation requires the {@code keys/get} permission. + * Gets the public part of a {@link KeyVaultKey deleted key}. The get deleted Key operation is applicable for + * soft-delete enabled vaults. This operation requires the {@code keys/get} permission. * *

Code Samples

- *

Gets the deleted key from the key vault enabled for soft-delete. Subscribes to the call asynchronously and - * prints out the deleted key details when a response has been received.

- * //Assuming key is deleted on a soft-delete enabled vault. + *

Gets the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Subscribes to the call + * asynchronously and prints out the {@link KeyVaultKey deleted key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKey#String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.getDeletedKey#string} + * @param name The name of the deleted {@link KeyVaultKey key}. * - * @param name The name of the deleted key. * @return A {@link Mono} containing the {@link DeletedKey deleted key}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono getDeletedKey(String name) { @@ -877,21 +968,21 @@ public Mono getDeletedKey(String name) { } /** - * Gets the public part of a deleted key. The Get Deleted Key operation is applicable for soft-delete enabled - * vaults. This operation requires the {@code keys/get} permission. + * Gets the public part of a {@link KeyVaultKey deleted key}. The get deleted Key operation is applicable for + * soft-delete enabled vaults. This operation requires the {@code keys/get} permission. * *

Code Samples

- *

Gets the deleted key from the key vault enabled for soft-delete. Subscribes to the call asynchronously and - * prints out the deleted key details when a response has been received.

+ *

Gets the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Subscribes to the call + * asynchronously and prints out the {@link KeyVaultKey deleted key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKeyWithResponse#String} * - * //Assuming key is deleted on a soft-delete enabled vault. - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.getDeletedKeyWithResponse#string} + * @param name The name of the deleted {@link KeyVaultKey key}. * - * @param name The name of the deleted key. * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link - * DeletedKey deleted key}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * DeletedKey deleted key}. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getDeletedKeyWithResponse(String name) { @@ -905,27 +996,28 @@ public Mono> getDeletedKeyWithResponse(String name) { Mono> getDeletedKeyWithResponse(String name, Context context) { context = context == null ? Context.NONE : context; return service.getDeletedKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Retrieving deleted key - {}", name)) .doOnSuccess(response -> logger.verbose("Retrieved deleted key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to get key - {}", name, error)); } /** - * Permanently deletes the specified key without the possibility of recovery. The Purge Deleted Key operation is - * applicable for soft-delete enabled vaults. This operation requires the {@code keys/purge} permission. + * Permanently deletes the specified {@link KeyVaultKey key} without the possibility of recovery. The purge + * deleted key operation is applicable for soft-delete enabled vaults. This operation requires the + * {@code keys/purge} permission. * *

Code Samples

- *

Purges the deleted key from the key vault enabled for soft-delete. Subscribes to the call asynchronously and - * prints out the status code from the server response when a response has been received.

+ *

Purges the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Subscribes to the call + * asynchronously and prints out the status code from the server response when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKey#String} * - * //Assuming key is deleted on a soft-delete enabled vault. - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKey#string} + * @param name The name of the {@link KeyVaultKey deleted key}. * - * @param name The name of the deleted key. * @return An empty {@link Mono}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono purgeDeletedKey(String name) { @@ -937,20 +1029,21 @@ public Mono purgeDeletedKey(String name) { } /** - * Permanently deletes the specified key without the possibility of recovery. The Purge Deleted Key operation is - * applicable for soft-delete enabled vaults. This operation requires the {@code keys/purge} permission. + * Permanently deletes the specified {@link KeyVaultKey key} without the possibility of recovery. The purge + * deleted key operation is applicable for soft-delete enabled vaults. This operation requires the + * {@code keys/purge} permission. * *

Code Samples

- *

Purges the deleted key from the key vault enabled for soft-delete. Subscribes to the call asynchronously and - * prints out the status code from the server response when a response has been received.

+ *

Purges the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Subscribes to the call + * asynchronously and prints out the status code from the server response when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKeyWithResponse#String} * - * //Assuming key is deleted on a soft-delete enabled vault. - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKeyWithResponse#string} + * @param name The name of the {@link KeyVaultKey deleted key}. * - * @param name The name of the deleted key. * @return A {@link Mono} containing a Response containing status code and HTTP headers. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> purgeDeletedKeyWithResponse(String name) { @@ -964,27 +1057,29 @@ public Mono> purgeDeletedKeyWithResponse(String name) { Mono> purgeDeletedKeyWithResponse(String name, Context context) { context = context == null ? Context.NONE : context; return service.purgeDeletedKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Purging deleted key - {}", name)) .doOnSuccess(response -> logger.verbose("Purged deleted key - {}", name)) .doOnError(error -> logger.warning("Failed to purge deleted key - {}", name, error)); } /** - * Recovers the deleted key in the key vault to its latest version and can only be performed on a soft-delete - * enabled vault. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the - * delete operation on soft-delete enabled vaults. This operation requires the {@code keys/recover} permission. + * Recovers the {@link KeyVaultKey deleted key} in the key vault to its latest version and can only be performed + * on a soft-delete enabled vault. An attempt to recover an {@link KeyVaultKey non-deleted key} will return an + * error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation + * requires the {@code keys/recover} permission. * *

Code Samples

- *

Recovers the deleted key from the key vault enabled for soft-delete. Subscribes to the call asynchronously and - * prints out the recovered key details when a response has been received.

- * //Assuming key is deleted on a soft-delete enabled vault. - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.recoverDeletedKey#String} + *

Recovers the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Subscribes to the + * call asynchronously and prints out the recovered key details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.recoverDeletedKey#String} + * + * @param name The name of the {@link KeyVaultKey deleted key} to be recovered. * - * @param name The name of the deleted key to be recovered. * @return A {@link PollerFlux} to poll on the {@link KeyVaultKey recovered key} status. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) public PollerFlux beginRecoverDeletedKey(String name) { @@ -1001,8 +1096,8 @@ private Function, Mono> recoverActivati } /* - Polling operation to poll on create delete key operation status. - */ + * Polling operation to poll on create delete key operation status. + */ private Function, Mono>> createRecoverPollOperation(String keyName) { return pollingContext -> withContext(context -> service.getKeyPoller(vaultUrl, keyName, "", apiVersion, @@ -1011,47 +1106,50 @@ private Function, Mono>> c .flatMap(keyResponse -> { if (keyResponse.getStatusCode() == 404) { return Mono.defer(() -> Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS, - pollingContext.getLatestResponse().getValue()))); + pollingContext.getLatestResponse().getValue()))); } return Mono.defer(() -> Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, - keyResponse.getValue()))); + keyResponse.getValue()))); }) // This means permission is not granted for the get deleted key operation. - // In both cases deletion operation was successful when activation operation succeeded before reaching here. + // In both cases deletion operation was successful when activation operation succeeded before reaching + // here. .onErrorReturn(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, - pollingContext.getLatestResponse().getValue())); + pollingContext.getLatestResponse().getValue())); } Mono> recoverDeletedKeyWithResponse(String name, Context context) { return service.recoverDeletedKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Recovering deleted key - {}", name)) .doOnSuccess(response -> logger.verbose("Recovered deleted key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to recover deleted key - {}", name, error)); } /** - * Requests a backup of the specified key be downloaded to the client. The Key Backup operation exports a key from - * Azure Key Vault in a protected form. Note that this operation does not return key material in a form that can be - * used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM - * or to Azure Key Vault itself. The intent of this operation is to allow a client to generate a key in one Azure - * Key Vault instance, backup the key, and then restore it into another Azure Key Vault instance. The backup - * operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a - * key cannot be backed up. Backup / Restore can be performed within geographical boundaries only; meaning that a - * backup from one geographical area cannot be restored to another geographical area. For example, a backup from the - * US geographical area cannot be restored in an EU geographical area. This operation requires the {@code - * key/backup} permission. + * Requests a backup of the specified {@link KeyVaultKey key} be downloaded to the client. The key backup + * operation exports a {@link KeyVaultKey key} from Azure Key Vault in a protected form. Note that this operation + * does not return key material in a form that can be used outside the Azure Key Vault system, the returned key + * material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this + * operation is to allow a client to generate a {@link KeyVaultKey key} in one Azure Key Vault instance, backup the + * {@link KeyVaultKey key}, and then restore it into another Azure Key Vault instance. The backup operation may + * be used to export, in protected form, any {@link KeyType key type} from Azure Key Vault. Individual versions + * of a {@link KeyVaultKey key} cannot be backed up. {@code Backup/Restore} can be performed within geographical + * boundaries only; meaning that a backup from one geographical area cannot be restored to another geographical + * area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This + * operation requires the {@code key/backup} permission. * *

Code Samples

- *

Backs up the key from the key vault. Subscribes to the call asynchronously and prints out the length of the - * key's backup byte array returned in the response.

+ *

Backs up the {@link KeyVaultKey key} from the key vault. Subscribes to the call asynchronously and prints out + * the length of the key's backup byte array returned in the response.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.backupKey#String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.backupKey#string} + * @param name The name of the {@link KeyVaultKey key}. * - * @param name The name of the key. * @return A {@link Mono} containing the backed up key blob. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono backupKey(String name) { @@ -1063,28 +1161,30 @@ public Mono backupKey(String name) { } /** - * Requests a backup of the specified key be downloaded to the client. The Key Backup operation exports a key from - * Azure Key Vault in a protected form. Note that this operation does not return key material in a form that can be - * used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM - * or to Azure Key Vault itself. The intent of this operation is to allow a client to generate a key in one Azure - * Key Vault instance, backup the key, and then restore it into another Azure Key Vault instance. The backup - * operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a - * key cannot be backed up. Backup / Restore can be performed within geographical boundaries only; meaning that a - * backup from one geographical area cannot be restored to another geographical area. For example, a backup from the - * US geographical area cannot be restored in an EU geographical area. This operation requires the {@code - * key/backup} permission. + * Requests a backup of the specified {@link KeyVaultKey key} be downloaded to the client. The key backup + * operation exports a {@link KeyVaultKey key} from Azure Key Vault in a protected form. Note that this operation + * does not return key material in a form that can be used outside the Azure Key Vault system, the returned key + * material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this + * operation is to allow a client to generate a {@link KeyVaultKey key} in one Azure Key Vault instance, backup the + * {@link KeyVaultKey key}, and then restore it into another Azure Key Vault instance. The backup operation may + * be used to export, in protected form, any {@link KeyType key type} from Azure Key Vault. Individual versions + * of a {@link KeyVaultKey key} cannot be backed up. {@code Backup/Restore} can be performed within geographical + * boundaries only; meaning that a backup from one geographical area cannot be restored to another geographical + * area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This + * operation requires the {@code key/backup} permission. * *

Code Samples

- *

Backs up the key from the key vault. Subscribes to the call asynchronously and prints out the length of the - * key's backup byte array returned in the response.

+ *

Backs up the {@link KeyVaultKey key} from the key vault. Subscribes to the call asynchronously and prints out + * the length of the key's backup byte array returned in the response.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.backupKeyWithResponse#String} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.backupKeyWithResponse#string} + * @param name The name of the {@link KeyVaultKey key}. * - * @param name The name of the key. * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the backed up - * key blob. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * key blob. + * + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. + * @throws HttpResponseException When a key with {@code name} is an empty string. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> backupKeyWithResponse(String name) { @@ -1098,7 +1198,7 @@ public Mono> backupKeyWithResponse(String name) { Mono> backupKeyWithResponse(String name, Context context) { context = context == null ? Context.NONE : context; return service.backupKey(vaultUrl, name, apiVersion, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Backing up key - {}", name)) .doOnSuccess(response -> logger.verbose("Backed up key - {}", name)) .doOnError(error -> logger.warning("Failed to backup key - {}", name, error)) @@ -1107,26 +1207,29 @@ Mono> backupKeyWithResponse(String name, Context context) { } /** - * Restores a backed up key to a vault. Imports a previously backed up key into Azure Key Vault, restoring the key, - * its key identifier, attributes and access control policies. The restore operation may be used to import a - * previously backed up key. The individual versions of a key cannot be restored. The key is restored in its - * entirety with the same key name as it had when it was backed up. If the key name is not available in the target - * Key Vault, the restore operation will be rejected. While the key name is retained during restore, the final key - * identifier will change if the key is restored to a different vault. Restore will restore all versions and - * preserve version identifiers. The restore operation is subject to security constraints: The target Key Vault must - * be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have restore permission - * in the target Key Vault. This operation requires the {@code keys/restore} permission. + * Restores a backed up {@link KeyVaultKey key} to a vault. Imports a previously backed up {@link KeyVaultKey key} + * into Azure Key Vault, restoring the {@link KeyVaultKey key}, its key identifier, attributes and access control + * policies. The restore operation may be used to import a previously backed up {@link KeyVaultKey key}. Individual + * versions of a {@link KeyVaultKey key} cannot be restored. The {@link KeyVaultKey key} is restored in its entirety + * with the same key name as it had when it was backed up. If the key name is not available in the target key vault, + * the restore operation will be rejected. While the key name is retained during restore, the final key identifier + * will change if the {@link KeyVaultKey key} is restored to a different vault. Restore will restore all versions + * and preserve version identifiers. The restore operation is subject to security constraints: The target key + * vault must be owned by the same Microsoft Azure Subscription as the source key vault. The user must have + * the {@code restore} permission in the target key vault. This operation requires the {@code keys/restore} + * permission. * *

Code Samples

- *

Restores the key in the key vault from its backup. Subscribes to the call asynchronously and prints out the - * restored key details when a response has been received.

+ *

Restores the {@link KeyVaultKey key} in the key vault from its backup. Subscribes to the call asynchronously + * and prints out the restored key details when a response has been received.

* //Pass the Key Backup Byte array to the restore operation. + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackup#byte} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackup#byte} + * @param backup The backup blob associated with the {@link KeyVaultKey key}. * - * @param backup The backup blob associated with the key. * @return A {@link Mono} containing the {@link KeyVaultKey restored key}. - * @throws ResourceModifiedException when {@code backup} blob is malformed. + * + * @throws ResourceModifiedException When {@code backup} blob is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono restoreKeyBackup(byte[] backup) { @@ -1138,27 +1241,30 @@ public Mono restoreKeyBackup(byte[] backup) { } /** - * Restores a backed up key to a vault. Imports a previously backed up key into Azure Key Vault, restoring the key, - * its key identifier, attributes and access control policies. The restore operation may be used to import a - * previously backed up key. The individual versions of a key cannot be restored. The key is restored in its - * entirety with the same key name as it had when it was backed up. If the key name is not available in the target - * Key Vault, the restore operation will be rejected. While the key name is retained during restore, the final key - * identifier will change if the key is restored to a different vault. Restore will restore all versions and - * preserve version identifiers. The restore operation is subject to security constraints: The target Key Vault must - * be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have restore permission - * in the target Key Vault. This operation requires the {@code keys/restore} permission. + * Restores a backed up {@link KeyVaultKey key} to a vault. Imports a previously backed up {@link KeyVaultKey key} + * into Azure Key Vault, restoring the {@link KeyVaultKey key}, its key identifier, attributes and access control + * policies. The restore operation may be used to import a previously backed up {@link KeyVaultKey key}. Individual + * versions of a {@link KeyVaultKey key} cannot be restored. The {@link KeyVaultKey key} is restored in its entirety + * with the same key name as it had when it was backed up. If the key name is not available in the target key vault, + * the restore operation will be rejected. While the key name is retained during restore, the final key identifier + * will change if the {@link KeyVaultKey key} is restored to a different vault. Restore will restore all versions + * and preserve version identifiers. The restore operation is subject to security constraints: The target key + * vault must be owned by the same Microsoft Azure Subscription as the source key vault. The user must have + * the {@code restore} permission in the target key vault. This operation requires the {@code keys/restore} + * permission. * *

Code Samples

- *

Restores the key in the key vault from its backup. Subscribes to the call asynchronously and prints out the - * restored key details when a response has been received.

+ *

Restores the {@link KeyVaultKey key} in the key vault from its backup. Subscribes to the call asynchronously + * and prints out the restored key details when a response has been received.

* //Pass the Key Backup Byte array to the restore operation. + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackupWithResponse#byte} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackupWithResponse#byte} + * @param backup The backup blob associated with the {@link KeyVaultKey key}. * - * @param backup The backup blob associated with the key. - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey - * restored key}. - * @throws ResourceModifiedException when {@code backup} blob is malformed. + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultKey restored key}. + * + * @throws ResourceModifiedException When {@code backup} blob is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> restoreKeyBackupWithResponse(byte[] backup) { @@ -1173,24 +1279,25 @@ Mono> restoreKeyBackupWithResponse(byte[] backup, Context context = context == null ? Context.NONE : context; KeyRestoreRequestParameters parameters = new KeyRestoreRequestParameters().setKeyBackup(backup); return service.restoreKey(vaultUrl, apiVersion, parameters, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Attempting to restore key")) .doOnSuccess(response -> logger.verbose("Restored Key - {}", response.getValue().getName())) .doOnError(error -> logger.warning("Failed to restore key - {}", error)); } /** - * List keys in the key vault. Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain - * the public part of a stored key. The List operation is applicable to all key types and the individual key - * response in the flux is represented by {@link KeyProperties} as only the key identifier, attributes and tags are + * List {@link KeyVaultKey keys} in the key vault. Retrieves a list of the {@link KeyVaultKey keys} in the key + * vault as {@link JsonWebKey} structures that contain the public part of a stored {@link KeyVaultKey key}. The list + * operation is applicable to all {@link KeyType key types} and the individual {@link KeyVaultKey key} response + * in the list is represented by {@link KeyProperties} as only the key identifier, attributes and tags are * provided in the response. The key material and individual key versions are not listed in the response. This * operation requires the {@code keys/list} permission. * - *

It is possible to get full keys with key material from this information. Convert the {@link Flux} containing - * {@link KeyProperties key properties} to {@link Flux} containing {@link KeyVaultKey key} using - * {@link KeyAsyncClient#getKey(String, String)} within {@link Flux#flatMap(Function)}.

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.listKeys} + *

It is possible to get {@link KeyVaultKey full keys} with key material from this information. Convert the + * {@link Flux} containing {@link KeyProperties key properties} to {@link Flux} containing + * {@link KeyVaultKey key} using {@link KeyAsyncClient#getKey(String, String)} within + * {@link Flux#flatMap(Function)}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.listPropertiesOfKeys} * * @return A {@link PagedFlux} containing {@link KeyProperties key} of all the keys in the vault. */ @@ -1198,7 +1305,7 @@ Mono> restoreKeyBackupWithResponse(byte[] backup, Context public PagedFlux listPropertiesOfKeys() { try { return new PagedFlux<>( - () -> withContext(context -> listKeysFirstPage(context)), + () -> withContext(this::listKeysFirstPage), continuationToken -> withContext(context -> listKeysNextPage(continuationToken, context))); } catch (RuntimeException ex) { return new PagedFlux<>(() -> monoError(logger, ex)); @@ -1211,18 +1318,20 @@ PagedFlux listPropertiesOfKeys(Context context) { continuationToken -> listKeysNextPage(continuationToken, context)); } - /* + /** * Gets attributes of all the keys given by the {@code nextPageLink} that was retrieved from a call to - * {@link KeyAsyncClient#listKeys()}. + * {@link KeyAsyncClient#listPropertiesOfKeys()}. * - * @param continuationToken The {@link PagedResponse#nextLink()} from a previous, successful call to one of the - * listKeys operations. - * @return A {@link Mono} of {@link PagedResponse} from the next page of results. + * @param continuationToken The {@link PagedResponse#getContinuationToken()} from a previous, successful call to one + * of the list operations. + * + * @return A {@link Mono} of {@link PagedResponse} containing {@link KeyProperties} instances from the next page of + * results. */ private Mono> listKeysNextPage(String continuationToken, Context context) { try { return service.getKeys(vaultUrl, continuationToken, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing next keys page - Page {} ", continuationToken)) .doOnSuccess(response -> logger.verbose("Listed next keys page - Page {} ", continuationToken)) .doOnError(error -> logger.warning("Failed to list next keys page - Page {} ", continuationToken, error)); @@ -1231,14 +1340,14 @@ private Mono> listKeysNextPage(String continuationT } } - /* - * Calls the service and retrieve first page result. It makes one call and retrieve {@code - * DEFAULT_MAX_PAGE_RESULTS} values. + /** + * Calls the service and retrieve first page result. It makes one call and retrieve + * {@link KeyAsyncClient#DEFAULT_MAX_PAGE_RESULTS} values. */ private Mono> listKeysFirstPage(Context context) { try { return service.getKeys(vaultUrl, DEFAULT_MAX_PAGE_RESULTS, apiVersion, ACCEPT_LANGUAGE, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing keys")) .doOnSuccess(response -> logger.verbose("Listed keys")) .doOnError(error -> logger.warning("Failed to list keys", error)); @@ -1248,15 +1357,15 @@ private Mono> listKeysFirstPage(Context context) { } /** - * Lists {@link DeletedKey deleted keys} of the key vault. The deleted keys are retrieved as JSON Web Key structures - * that contain the public part of a deleted key. The Get Deleted Keys operation is applicable for vaults enabled - * for soft-delete. This operation requires the {@code keys/list} permission. + * Lists {@link DeletedKey deleted keys} of the key vault. The {@link DeletedKey deleted keys} are retrieved as + * {@link JsonWebKey} structures that contain the public part of a {@link DeletedKey deleted key}. The get deleted + * keys operation is applicable for vaults enabled for soft-delete. This operation requires the {@code keys/list} + * permission. * *

Code Samples

- *

Lists the deleted keys in the key vault. Subscribes to the call asynchronously and prints out the recovery id - * of each deleted key when a response has been received.

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.listDeletedKeys} + *

Lists the {@link DeletedKey deleted keys} in the key vault. Subscribes to the call asynchronously and prints + * out the recovery id of each {@link DeletedKey deleted key} when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.listDeletedKeys} * * @return A {@link PagedFlux} containing all of the {@link DeletedKey deleted keys} in the vault. */ @@ -1264,7 +1373,7 @@ private Mono> listKeysFirstPage(Context context) { public PagedFlux listDeletedKeys() { try { return new PagedFlux<>( - () -> withContext(context -> listDeletedKeysFirstPage(context)), + () -> withContext(this::listDeletedKeysFirstPage), continuationToken -> withContext(context -> listDeletedKeysNextPage(continuationToken, context))); } catch (RuntimeException ex) { return new PagedFlux<>(() -> monoError(logger, ex)); @@ -1277,18 +1386,20 @@ PagedFlux listDeletedKeys(Context context) { continuationToken -> listDeletedKeysNextPage(continuationToken, context)); } - /* + /** * Gets attributes of all the keys given by the {@code nextPageLink} that was retrieved from a call to * {@link KeyAsyncClient#listDeletedKeys()}. * - * @param continuationToken The {@link PagedResponse#nextLink()} from a previous, successful call to one of the - * list operations. - * @return A {@link Mono} of {@link PagedResponse} from the next page of results. + * @param continuationToken The {@link PagedResponse#getContinuationToken()} from a previous, successful call to + * one of the list operations. + * + * @return A {@link Mono} of {@link PagedResponse} containing {@link DeletedKey} instances from the next page of + * results. */ private Mono> listDeletedKeysNextPage(String continuationToken, Context context) { try { return service.getDeletedKeys(vaultUrl, continuationToken, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing next deleted keys page - Page {} ", continuationToken)) .doOnSuccess(response -> logger.verbose("Listed next deleted keys page - Page {} ", continuationToken)) .doOnError(error -> logger.warning("Failed to list next deleted keys page - Page {} ", continuationToken, @@ -1298,14 +1409,14 @@ private Mono> listDeletedKeysNextPage(String continuat } } - /* - * Calls the service and retrieve first page result. It makes one call and retrieve {@code - * DEFAULT_MAX_PAGE_RESULTS} values. + /** + * Calls the service and retrieve first page result. It makes one call and retrieve + * {@link KeyAsyncClient#DEFAULT_MAX_PAGE_RESULTS} values. */ private Mono> listDeletedKeysFirstPage(Context context) { try { return service.getDeletedKeys(vaultUrl, DEFAULT_MAX_PAGE_RESULTS, apiVersion, ACCEPT_LANGUAGE, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing deleted keys")) .doOnSuccess(response -> logger.verbose("Listed deleted keys")) .doOnError(error -> logger.warning("Failed to list deleted keys", error)); @@ -1315,20 +1426,24 @@ private Mono> listDeletedKeysFirstPage(Context context } /** - * List all versions of the specified key. The individual key response in the flux is represented by {@link KeyProperties} - * as only the key identifier, attributes and tags are provided in the response. The key material values are - * not provided in the response. This operation requires the {@code keys/list} permission. + * List all versions of the specified {@link KeyVaultKey keys}. The individual key response in the flux is + * represented by {@link KeyProperties} as only the key identifier, attributes and tags are provided in the + * response. The key material values are not provided in the response. This operation requires the + * {@code keys/list} permission. + * + *

It is possible to get the keys with key material of all the versions from this information. Convert the + * {@link Flux} containing {@link KeyProperties key properties} to {@link Flux} containing + * {@link KeyVaultKey key } using {@link KeyAsyncClient#getKey(String, String)} within + * {@link Flux#flatMap(Function)}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.listKeyVersions} * - *

It is possible to get the keys with key material of all the versions from this information. Convert the {@link - * Flux} containing {@link KeyProperties key properties} to {@link Flux} containing {@link KeyVaultKey key} using - * {@link KeyAsyncClient#getKey(String, String)} within {@link Flux#flatMap(Function)}.

+ * @param name The name of the {@link KeyVaultKey key}. * - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.listKeyVersions} + * @return A {@link PagedFlux} containing {@link KeyProperties} of all the versions of the specified + * {@link KeyVaultKey keys} in the vault. {@link Flux} is empty if key with {@code name} does not exist in the key + * vault. * - * @param name The name of the key. - * @return A {@link PagedFlux} containing {@link KeyProperties key} of all the versions of the specified key in the vault. - * Flux is empty if key with {@code name} does not exist in key vault. - * @throws ResourceNotFoundException when a given key {@code name} is null or an empty string. + * @throws ResourceNotFoundException When a given key {@code name} is {@code null} or an empty string. */ @ServiceMethod(returns = ReturnType.COLLECTION) public PagedFlux listPropertiesOfKeyVersions(String name) { @@ -1350,7 +1465,7 @@ PagedFlux listPropertiesOfKeyVersions(String name, Context contex private Mono> listKeyVersionsFirstPage(String name, Context context) { try { return service.getKeyVersions(vaultUrl, name, DEFAULT_MAX_PAGE_RESULTS, apiVersion, ACCEPT_LANGUAGE, - CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + CONTENT_TYPE_HEADER_VALUE, context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing key versions - {}", name)) .doOnSuccess(response -> logger.verbose("Listed key versions - {}", name)) .doOnError(error -> logger.warning("Failed to list key versions - {}", name, error)); @@ -1359,18 +1474,20 @@ private Mono> listKeyVersionsFirstPage(String name, } } - /* + /** * Gets attributes of all the keys given by the {@code nextPageLink} that was retrieved from a call to - * {@link KeyAsyncClient#listKeyVersions()}. + * {@link KeyAsyncClient#listPropertiesOfKeyVersions(String)}. + * + * @param continuationToken The {@link PagedResponse#getContinuationToken()} from a previous, successful call to one + * of the list operations. * - * @param continuationToken The {@link PagedResponse#nextLink()} from a previous, successful call to one of the - * listKeys operations. - * @return A {@link Mono} of {@link PagedResponse} from the next page of results. + * @return A {@link Mono} of {@link PagedResponse} containing {@link KeyProperties} instances from the next page of + * results. */ private Mono> listKeyVersionsNextPage(String continuationToken, Context context) { try { return service.getKeys(vaultUrl, continuationToken, ACCEPT_LANGUAGE, CONTENT_TYPE_HEADER_VALUE, - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Listing next key versions page - Page {} ", continuationToken)) .doOnSuccess(response -> logger.verbose("Listed next key versions page - Page {} ", continuationToken)) .doOnError(error -> logger.warning("Failed to list next key versions page - Page {} ", continuationToken, @@ -1386,7 +1503,6 @@ private Mono> listKeyVersionsNextPage(String contin *

Code Samples

*

Gets a number of bytes containing random values from a Managed HSM. Prints out the retrieved bytes in * base64Url format.

- * * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getRandomBytes#int} * * @param count The requested number of random bytes. @@ -1409,7 +1525,6 @@ public Mono getRandomBytes(int count) { *

Code Samples

*

Gets a number of bytes containing random values from a Managed HSM. Prints out the * {@link Response HTTP Response} details and the retrieved bytes in base64Url format.

- * * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getRandomBytesWithResponse#int} * * @param count The requested number of random bytes. @@ -1440,16 +1555,23 @@ Mono> getRandomBytesWithResponse(int count, Context contex } /** - * Releases the latest version of a key. + * Releases the latest version of a {@link KeyVaultKey key}. * - *

The key must be exportable. This operation requires the 'keys/release' permission.

+ *

The {@link KeyVaultKey key} must be exportable. This operation requires the {@code keys/release} permission. + *

* - * @param name The name of the key to release. - * @param target The attestation assertion for the target of the key release. + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Subscribes to the call asynchronously and prints out the signed object + * that contains the {@link KeyVaultKey released key} when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String} + * + * @param name The name of the {@link KeyVaultKey key} to release. + * @param target The attestation assertion for the target of the {@link KeyVaultKey key} release. * * @return A {@link Mono} containing the {@link ReleaseKeyResult} containing the released key. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono releaseKey(String name, String target) { @@ -1466,7 +1588,12 @@ public Mono releaseKey(String name, String target) { * *

The key must be exportable. This operation requires the 'keys/release' permission.

* - * @param name The name of the key to release. + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Subscribes to the call asynchronously and prints out the signed object + * that contains the {@link KeyVaultKey released key} when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.releaseKey#String-String-String} + * + * @param name The name of the {@link KeyVaultKey key} to release. * @param version The version of the key to retrieve. If this is empty or {@code null}, this call is equivalent to * calling {@link KeyAsyncClient#releaseKey(String, String)}, with the latest key version being released. * @param target The attestation assertion for the target of the key release. @@ -1474,6 +1601,7 @@ public Mono releaseKey(String name, String target) { * @return A {@link Mono} containing the {@link ReleaseKeyResult} containing the released key. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono releaseKey(String name, String version, String target) { @@ -1490,16 +1618,23 @@ public Mono releaseKey(String name, String version, String tar * *

The key must be exportable. This operation requires the 'keys/release' permission.

* + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Subscribes to the call asynchronously and prints out the + * {@link Response HTTP Response} details and the signed object that contains the {@link KeyVaultKey released key} + * when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions} + * * @param name The name of the key to release. * @param version The version of the key to retrieve. If this is empty or {@code null}, this call is equivalent to * calling {@link KeyAsyncClient#releaseKey(String, String)}, with the latest key version being released. * @param target The attestation assertion for the target of the key release. - * @param options Additional options for releasing a key. + * @param options Additional {@link ReleaseKeyOptions options} for releasing a {@link KeyVaultKey key}. * * @return A {@link Mono} containing the {@link Response HTTP response} for this operation and the * {@link ReleaseKeyResult} containing the released key. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> releaseKeyWithResponse(String name, String version, String target, @@ -1530,7 +1665,7 @@ Mono> releaseKeyWithResponse(String name, String vers .setNonce(options.getNonce()); return service.release(vaultUrl, name, version, apiVersion, keyReleaseParameters, "application/json", - context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) .doOnRequest(ignored -> logger.verbose("Releasing key with name %s and version %s.", name, version)) .doOnSuccess(response -> logger.verbose("Released key with name %s and version %s.", name, version)) .doOnError(error -> logger.warning("Failed to release key - {}", error)); @@ -1538,5 +1673,267 @@ Mono> releaseKeyWithResponse(String name, String vers return monoError(logger, e); } } + + /** + * Rotates a {@link KeyVaultKey key}. The rotate key operation will do so based on + * {@link KeyRotationPolicy key's rotation policy}. This operation requires the {@code keys/rotate} permission. + * + *

Code Samples

+ *

Rotates a {@link KeyVaultKey key}. Prints out {@link KeyVaultKey rotated key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.rotateKey#String} + * + * @param name The name of {@link KeyVaultKey key} to be rotated. The system will generate a new version in the + * specified {@link KeyVaultKey key}. + * + * @return The new version of the rotated {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono rotateKey(String name) { + try { + return rotateKeyWithResponse(name).flatMap(FluxUtil::toMono); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * Rotates a {@link KeyVaultKey key}. The rotate key operation will do so based on + * {@link KeyRotationPolicy key's rotation policy}. This operation requires the {@code keys/rotate} permission. + * + *

Code Samples

+ *

Rotates a {@link KeyVaultKey key}. Subscribes to the call asynchronously and prints out the + * {@link Response HTTP Response} and {@link KeyVaultKey rotated key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.rotateKeyWithResponse#String} + * + * @param name The name of {@link KeyVaultKey key} to be rotated. The system will generate a new version in the + * specified {@link KeyVaultKey key}. + * + * @return A {@link Mono} containing the {@link Response HTTP response} for this operation and the new version of + * the rotated {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> rotateKeyWithResponse(String name) { + try { + return withContext(context -> rotateKeyWithResponse(name, context)); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + Mono> rotateKeyWithResponse(String name, Context context) { + try { + if (CoreUtils.isNullOrEmpty(name)) { + return monoError(logger, new IllegalArgumentException("'name' cannot be null or empty")); + } + + return service.rotateKey(vaultUrl, name, apiVersion, "application/json", + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + .doOnRequest(ignored -> logger.verbose("Rotating key with name %s.", name)) + .doOnSuccess(response -> logger.verbose("Rotated key with name %s.", name)) + .doOnError(error -> logger.warning("Failed to rotate key - {}", error)); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * Gets the {@link KeyRotationPolicy} for the {@link KeyVaultKey key} with the provided name. This operation + * requires the {@code keys/get} permission. + * + *

Code Samples

+ *

Retrieves the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Subscribes to the + * call asynchronously and prints out the {@link KeyRotationPolicy rotation policy key} details when a response + * has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicy#String} + * + * @param name The name of the {@link KeyVaultKey key}. + * + * @return A {@link Mono} containing the {@link KeyRotationPolicy} for the key. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getKeyRotationPolicy(String name) { + try { + return getKeyRotationPolicyWithResponse(name).flatMap(FluxUtil::toMono); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * Gets the {@link KeyRotationPolicy} for the {@link KeyVaultKey key} with the provided name. This operation + * requires the {@code keys/get} permission. + * + *

Code Samples

+ *

Retrieves the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Subscribes to the + * call asynchronously and prints out the {@link Response HTTP Response} and + * {@link KeyRotationPolicy rotation policy key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicyWithResponse#String} + * + * @param name The name of the {@link KeyVaultKey key}. + * + * @return A {@link Mono} containing the {@link Response HTTP response} for this operation and the + * {@link KeyRotationPolicy} for the key. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getKeyRotationPolicyWithResponse(String name) { + try { + return withContext(context -> getKeyRotationPolicyWithResponse(name, context)); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + Mono> getKeyRotationPolicyWithResponse(String name, Context context) { + try { + if (CoreUtils.isNullOrEmpty(name)) { + return monoError(logger, new IllegalArgumentException("'name' cannot be null or empty")); + } + + return service.getKeyRotationPolicy(vaultUrl, name, apiVersion, "application/json", + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + .doOnRequest(ignored -> logger.verbose("Retrieving key rotation policy for key with name.", name)) + .doOnSuccess(response -> logger.verbose("Retrieved key rotation policy for key with name.", name)) + .doOnError(error -> logger.warning("Failed to retrieve key rotation policy - {}", error)) + .map(response -> new SimpleResponse<>(response, toKeyRotationPolicy(response.getValue()))); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * Updates the {@link KeyRotationPolicy} of the key with the provided name. This operation requires the + * {@code keys/update} permission. + * + *

Code Samples

+ *

Updates the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Subscribes to the + * call asynchronously and prints out the {@link KeyRotationPolicy rotation policy key} details when a response + * has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param keyRotationPolicyProperties The {@link KeyRotationPolicyProperties} for the key. + * + * @return A {@link Mono} containing the {@link KeyRotationPolicy} for the key. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateKeyRotationPolicy(String name, KeyRotationPolicyProperties keyRotationPolicyProperties) { + try { + return updateKeyRotationPolicyWithResponse(name, keyRotationPolicyProperties).flatMap(FluxUtil::toMono); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * Updates the {@link KeyRotationPolicy} of the key with the provided name. This operation requires the + * {@code keys/update} permission. + * + *

Code Samples

+ *

Updates the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Subscribes to the + * call asynchronously and prints out the {@link Response HTTP Response} and + * {@link KeyRotationPolicy rotation policy key} details when a response has been received.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param keyRotationPolicyProperties The {@link KeyRotationPolicyProperties} for the key. + * + * @return A {@link Mono} containing the {@link Response HTTP response} for this operation and the + * {@link KeyRotationPolicy} for the key. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateKeyRotationPolicyWithResponse(String name, KeyRotationPolicyProperties keyRotationPolicyProperties) { + try { + return withContext(context -> + updateKeyRotationPolicyWithResponse(name, keyRotationPolicyProperties, context)); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + Mono> updateKeyRotationPolicyWithResponse(String name, KeyRotationPolicyProperties keyRotationPolicyProperties, Context context) { + try { + if (CoreUtils.isNullOrEmpty(name)) { + return monoError(logger, new IllegalArgumentException("'name' cannot be null or empty")); + } + + List lifetimeActions = new ArrayList<>(); + + for (KeyRotationLifetimeAction lifetimeAction : keyRotationPolicyProperties.getLifetimeActions()) { + lifetimeActions.add(new LifetimeAction() + .setAction(new LifetimeActionsType() + .setType(lifetimeAction.getType())) + .setTrigger(new LifetimeActionTrigger() + .setTimeAfterCreate(lifetimeAction.getTimeAfterCreate()) + .setTimeBeforeExpiry(lifetimeAction.getTimeBeforeExpiry()))); + } + + com.azure.security.keyvault.keys.implementation.models.KeyRotationPolicy keyRotationPolicy = + new com.azure.security.keyvault.keys.implementation.models.KeyRotationPolicy() + .setAttributes(new KeyRotationPolicyAttributes() + .setExpiryTime(keyRotationPolicyProperties.getExpiryTime())) + .setLifetimeActions(lifetimeActions); + + return service.updateKeyRotationPolicy(vaultUrl, name, apiVersion, keyRotationPolicy, "application/json", + context.addData(AZ_TRACING_NAMESPACE_KEY, KEYVAULT_TRACING_NAMESPACE_VALUE)) + .doOnRequest(ignored -> logger.verbose("Updating key rotation policy for key with name.", name)) + .doOnSuccess(response -> logger.verbose("Updated key rotation policy for key with name.", name)) + .doOnError(error -> logger.warning("Failed to retrieve key rotation policy - {}", error)) + .map(response -> new SimpleResponse<>(response, toKeyRotationPolicy(response.getValue()))); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + private KeyRotationPolicy toKeyRotationPolicy(com.azure.security.keyvault.keys.implementation.models.KeyRotationPolicy keyRotationPolicy) { + if (keyRotationPolicy == null) { + return null; + } + + List keyRotationLifetimeActions = null; + + if (keyRotationPolicy.getLifetimeActions() != null) { + keyRotationLifetimeActions = new ArrayList<>(); + + for (LifetimeAction lifetimeAction : keyRotationPolicy.getLifetimeActions()) { + keyRotationLifetimeActions.add(new KeyRotationLifetimeAction(lifetimeAction.getAction().getType()) + .setTimeBeforeExpiry(lifetimeAction.getTrigger().getTimeBeforeExpiry()) + .setTimeAfterCreate(lifetimeAction.getTrigger().getTimeAfterCreate())); + } + } + + OffsetDateTime createdOn = null; + OffsetDateTime updatedOn = null; + String expiryTime = null; + + if (keyRotationPolicy.getAttributes() != null) { + createdOn = OffsetDateTime.of(LocalDateTime.ofEpochSecond(keyRotationPolicy.getAttributes().getCreatedOn(), + 0, ZoneOffset.UTC), ZoneOffset.UTC); + updatedOn = OffsetDateTime.of(LocalDateTime.ofEpochSecond(keyRotationPolicy.getAttributes().getUpdatedOn(), + 0, ZoneOffset.UTC), ZoneOffset.UTC); + expiryTime = keyRotationPolicy.getAttributes().getExpiryTime(); + } + + return new KeyRotationPolicy(keyRotationPolicy.getId(), createdOn, updatedOn) + .setExpiryTime(expiryTime) + .setLifetimeActions(keyRotationLifetimeActions); + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClient.java index 8ee9de66e6146..9a136344c3c22 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClient.java @@ -4,38 +4,42 @@ package com.azure.security.keyvault.keys; import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; import com.azure.core.exception.HttpResponseException; import com.azure.core.exception.ResourceModifiedException; import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpPipeline; import com.azure.core.http.rest.PagedIterable; import com.azure.core.http.rest.Response; -import com.azure.core.annotation.ServiceClient; import com.azure.core.util.Context; import com.azure.core.util.polling.SyncPoller; -import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; -import com.azure.security.keyvault.keys.models.DeletedKey; import com.azure.security.keyvault.keys.models.CreateEcKeyOptions; -import com.azure.security.keyvault.keys.models.KeyVaultKey; -import com.azure.security.keyvault.keys.models.KeyProperties; import com.azure.security.keyvault.keys.models.CreateKeyOptions; -import com.azure.security.keyvault.keys.models.ImportKeyOptions; +import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; +import com.azure.security.keyvault.keys.models.DeletedKey; +import com.azure.security.keyvault.keys.models.ImportKeyOptions; import com.azure.security.keyvault.keys.models.JsonWebKey; import com.azure.security.keyvault.keys.models.KeyCurveName; import com.azure.security.keyvault.keys.models.KeyOperation; +import com.azure.security.keyvault.keys.models.KeyProperties; +import com.azure.security.keyvault.keys.models.KeyRotationPolicy; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyProperties; import com.azure.security.keyvault.keys.models.KeyType; +import com.azure.security.keyvault.keys.models.KeyVaultKey; import com.azure.security.keyvault.keys.models.RandomBytes; import com.azure.security.keyvault.keys.models.ReleaseKeyOptions; import com.azure.security.keyvault.keys.models.ReleaseKeyResult; /** - * The KeyClient provides synchronous methods to manage {@link KeyVaultKey keys} in the Azure Key Vault. The client supports - * creating, retrieving, updating, deleting, purging, backing up, restoring and listing the {@link KeyVaultKey keys}. The client - * also supports listing {@link DeletedKey deleted keys} for a soft-delete enabled Azure Key Vault. + * The {@link KeyClient} provides synchronous methods to manage {@link KeyVaultKey keys} in the Azure Key Vault. The + * client supports creating, retrieving, updating, deleting, purging, backing up, restoring, listing, releasing and + * rotating the {@link KeyVaultKey keys}. The client also supports listing {@link DeletedKey deleted keys} for a + * soft-delete enabled Azure Key Vault. * *

Samples to construct the sync client

- * {@codesnippet com.azure.security.keyvault.keys.keyclient.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyClient.instantiation} * * @see KeyClientBuilder * @see PagedIterable @@ -45,7 +49,7 @@ public final class KeyClient { private final KeyAsyncClient client; /** - * Creates a KeyClient that uses {@code pipeline} to service requests + * Creates a {@link KeyClient} that uses a {@link KeyAsyncClient} to service requests. * * @param client The {@link KeyAsyncClient} that the client routes its request through. */ @@ -54,31 +58,35 @@ public final class KeyClient { } /** - * Get the vault endpoint url - * @return the vault endpoint url + * Get the vault endpoint url to which service requests are sent to. + * + * @return The vault endpoint url. */ public String getVaultUrl() { return client.getVaultUrl(); } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link KeyType keyType} indicates the type of key to create. Possible values include: + *

The {@link KeyType keyType} indicates the type of {@link KeyVaultKey key} to create. Possible values include: * {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, {@link KeyType#RSA_HSM RSA-HSM}, * {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new EC key. Prints out the details of the created key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.createKey#string-keyType} + *

Creates a new {@link KeyVaultKey EC key}. Prints out the details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createKey#String-KeyType} + * + * @param name The name of the {@link KeyVaultKey key} being created. + * @param keyType The type of {@link KeyVaultKey key} to create. For valid values, see {@link KeyType KeyType}. * - * @param name The name of the key being created. - * @param keyType The type of key to create. For valid values, see {@link KeyType KeyType}. * @return The {@link KeyVaultKey created key}. - * @throws ResourceModifiedException if {@code name} or {@code keyType} is null. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws ResourceModifiedException If {@code name} or {@code keyType} are {@code null}. + * @throws HttpResponseException If {@code name} is an empty string. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey createKey(String name, KeyType keyType) { @@ -86,26 +94,33 @@ public KeyVaultKey createKey(String name, KeyType keyType) { } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link CreateKeyOptions} is required. The {@link CreateKeyOptions#getExpiresOn() expires} and {@link - * CreateKeyOptions#getNotBefore() notBefore} values are optional. The {@link CreateKeyOptions#isEnabled()} enabled} field - * is set to true by Azure Key Vault, if not specified.

+ *

The {@link CreateKeyOptions} parameter is required. The {@link CreateKeyOptions#getExpiresOn() expires} and + * {@link CreateKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateKeyOptions#isEnabled()} enabled} field is set to {@code true} by Azure Key Vault, if not specified. + *

* - *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, + *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, * {@link KeyType#RSA_HSM RSA-HSM}, {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new RSA key which activates in one day and expires in one year. Prints out the details of the - * created key.

{@codesnippet com.azure.keyvault.keys.keyclient.createKey#keyOptions} + *

Creates a new {@link KeyVaultKey RSA key} which activates in one day and expires in one year. Prints out the + * details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createKey#CreateKeyOptions} + * + * @param createKeyOptions The {@link CreateKeyOptions options object} containing information about the + * {@link KeyVaultKey key} being created. * - * @param createKeyOptions The key options object containing information about the key being created. * @return The {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code keyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code keyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createKeyOptions} is {@code null}. + * @throws HttpResponseException If {@code name} is an empty string. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey createKey(CreateKeyOptions createKeyOptions) { @@ -113,27 +128,35 @@ public KeyVaultKey createKey(CreateKeyOptions createKeyOptions) { } /** - * Creates a new key and stores it in the key vault. The create key operation can be used to create any key type in - * key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the + * Creates a new {@link KeyVaultKey key} and stores it in the key vault. The create key operation can be used to + * create any {@link KeyType keyType} in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name + * already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the * {@code keys/create} permission. * - *

The {@link CreateKeyOptions} is required. The {@link CreateKeyOptions#getExpiresOn() expires} and {@link - * CreateKeyOptions#getNotBefore() notBefore} values are optional. The {@link CreateKeyOptions#isEnabled() enabled} field - * is set to true by Azure Key Vault, if not specified.

+ *

The {@link CreateKeyOptions} parameter is required. The {@link CreateKeyOptions#getExpiresOn() expires} and + * {@link CreateKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not specified. + *

* - *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, + *

The {@link CreateKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#EC EC}, {@link KeyType#EC_HSM EC-HSM}, {@link KeyType#RSA RSA}, * {@link KeyType#RSA_HSM RSA-HSM}, {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new RSA key which activates in one day and expires in one year. Prints out the details of the - * created key.

{@codesnippet com.azure.keyvault.keys.keyclient.createKeyWithResponse#keyCreateOptions-Context} + *

Creates a new {@link KeyVaultKey RSA key} which activates in one day and expires in one year. Prints out the + * details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createKeyWithResponse#CreateKeyOptions-Context} + * + * @param createKeyOptions The {@link CreateKeyOptions options object} containing information about the + * {@link KeyVaultKey key} being created. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param createKeyOptions The key options object containing information about the key being created. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code keyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code keyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response createKeyWithResponse(CreateKeyOptions createKeyOptions, Context context) { @@ -141,28 +164,33 @@ public Response createKeyWithResponse(CreateKeyOptions createKeyOpt } /** - * Creates a new Rsa key and stores it in the key vault. The create Rsa key operation can be used to create any Rsa - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. + * Creates a new {@link KeyVaultKey RSA key} and stores it in the key vault. The create RSA key operation can be + * used to create any RSA key type in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name already + * exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the + * {@code keys/create} permission. * - *

The {@link CreateRsaKeyOptions} is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} can be - * optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and {@link - * CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The {@link CreateRsaKeyOptions#isEnabled() enabled} - * field is set to true by Azure Key Vault, if not specified.

+ *

The {@link CreateRsaKeyOptions} parameter is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} + * can be optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and + * {@link CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateRsaKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

+ *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

* *

Code Samples

- *

Creates a new RSA key with size 2048 which activates in one day and expires in one year. Prints out the - * details of the created key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.createRsaKey#keyOptions} + *

Creates a new {@link KeyVaultKey RSA key} with size 2048 which activates in one day and expires in one year. + * Prints out the details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createRsaKey#CreateRsaKeyOptions} + * + * @param createRsaKeyOptions The {@link CreateRsaKeyOptions options object} containing information about the + * {@link KeyVaultKey RSA key} being created. * - * @param createRsaKeyOptions The key options object containing information about the rsa key being created. * @return The {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code rsaKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code rsaKeyCreateOptions} is malformed. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws HttpResponseException If {@link CreateRsaKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createRsaKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createRsaKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey createRsaKey(CreateRsaKeyOptions createRsaKeyOptions) { @@ -170,28 +198,35 @@ public KeyVaultKey createRsaKey(CreateRsaKeyOptions createRsaKeyOptions) { } /** - * Creates a new Rsa key and stores it in the key vault. The create Rsa key operation can be used to create any Rsa - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. + * Creates a new {@link KeyVaultKey RSA key} and stores it in the key vault. The create RSA key operation can be + * used to create any RSA key type in Azure Key Vault. If a {@link KeyVaultKey key} with the provided name already + * exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires the + * {@code keys/create} permission. * - *

The {@link CreateRsaKeyOptions} is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} can be - * optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and {@link - * CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The {@link CreateRsaKeyOptions#isEnabled() enabled} - * field is set to true by Azure Key Vault, if not specified.

+ *

The {@link CreateRsaKeyOptions} parameter is required. The {@link CreateRsaKeyOptions#getKeySize() keySize} + * can be optionally specified. The {@link CreateRsaKeyOptions#getExpiresOn() expires} and + * {@link CreateRsaKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateRsaKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

+ *

The {@link CreateRsaKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey key} to create. + * Possible values include: {@link KeyType#RSA RSA} and {@link KeyType#RSA_HSM RSA-HSM}.

* *

Code Samples

- *

Creates a new RSA key with size 2048 which activates in one day and expires in one year. Prints out the - * details of the created key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.createRsaKeyWithResponse#keyOptions-Context} + *

Creates a new {@link KeyVaultKey RSA key} with size 2048 which activates in one day and expires in one year. + * Prints out the details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createRsaKeyWithResponse#CreateRsaKeyOptions-Context} + * + * @param createRsaKeyOptions The {@link CreateRsaKeyOptions options object} containing information about the + * {@link KeyVaultKey RSA key} being created. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param createRsaKeyOptions The key options object containing information about the rsa key being created. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code rsaKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code rsaKeyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateRsaKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createRsaKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createRsaKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response createRsaKeyWithResponse(CreateRsaKeyOptions createRsaKeyOptions, Context context) { @@ -199,28 +234,34 @@ public Response createRsaKeyWithResponse(CreateRsaKeyOptions create } /** - * Creates a new Ec key and stores it in the key vault. The create Ec key operation can be used to create any Ec - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. + * Creates a new {@link KeyVaultKey EC key} and stores it in the key vault. The create EC key operation can be + * used to create any EC {@link KeyType key type} in Azure Key Vault. If a {@link KeyVaultKey key} with the + * provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires + * the {@code keys/create} permission. * - *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} can be - * optionally specified. If not specified, default value of {@link KeyCurveName#P_256 P-256} is used by Azure Key - * Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and {@link CreateEcKeyOptions#getNotBefore() notBefore} - * values are optional. The {@link CreateEcKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if - * not specified.

+ *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} + * can be optionally specified. If not specified, the default value {@link KeyCurveName#P_256 P-256} is used by + * Azure Key Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and + * {@link CreateEcKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateEcKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not specified. + *

* - *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

+ *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. + * Possible values include: {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

* *

Code Samples

- *

Creates a new EC key with P-384 web key curve. The key activates in one day and expires in one year. Prints - * out the details of the created key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.createEcKey#keyOptions} + *

Creates a new {@link KeyVaultKey EC key} with a {@link KeyCurveName#P_384 P-384} web key curve. The key + * activates in one day and expires in one year. Prints out the details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createEcKey#CreateOctKeyOptions} + * + * @param createEcKeyOptions The {@link CreateEcKeyOptions options object} containing information about the + * {@link KeyVaultKey EC key} being created. * - * @param createEcKeyOptions The key options object containing information about the ec key being created. * @return The {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code ecKeyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateEcKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createEcKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createEcKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey createEcKey(CreateEcKeyOptions createEcKeyOptions) { @@ -228,31 +269,37 @@ public KeyVaultKey createEcKey(CreateEcKeyOptions createEcKeyOptions) { } /** - * Creates a new Ec key and stores it in the key vault. The create Ec key operation can be used to create any Ec - * key type in key vault. If the named key already exists, Azure Key Vault creates a new version of the key. It - * requires the {@code keys/create} permission. - * - *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} can be - * optionally specified. If not specified, default value of {@link KeyCurveName#P_256 P-256} is used by Azure Key - * Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and {@link CreateEcKeyOptions#getNotBefore() notBefore} - * values are optional. The {@link CreateEcKeyOptions#isEnabled()} enabled} field is set to true by Azure Key Vault, if - * not specified.

- * - *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of key to create. Possible values - * include: - * {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

+ * Creates a new {@link KeyVaultKey EC key} and stores it in the key vault. The create EC key operation can be + * used to create any EC {@link KeyType key type} in Azure Key Vault. If a {@link KeyVaultKey key} with the + * provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. It requires + * the {@code keys/create} permission. + * + *

The {@link CreateEcKeyOptions} parameter is required. The {@link CreateEcKeyOptions#getCurveName() key curve} + * can be optionally specified. If not specified, the default value {@link KeyCurveName#P_256 P-256} is used by + * Azure Key Vault. The {@link CreateEcKeyOptions#getExpiresOn() expires} and + * {@link CreateEcKeyOptions#getNotBefore() notBefore} values are optional. The + * {@link CreateEcKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified. + *

+ * + *

The {@link CreateEcKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. + * Possible values include: {@link KeyType#EC EC} and {@link KeyType#EC_HSM EC-HSM}.

* *

Code Samples

- *

Creates a new EC key with P-384 web key curve. The key activates in one day and expires in one year. Prints - * out the details of the newly created key.

+ *

Creates a new {@link KeyVaultKey EC key} with a {@link KeyCurveName#P_384 P-384} web key curve. The key + * activates in one day and expires in one year. Prints out the details of the {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.createEcKeyWithResponse#CreateEcKeyOptions-Context} * - * {@codesnippet com.azure.keyvault.keys.keyclient.createEcKeyWithResponse#keyOptions-Context} + * @param createEcKeyOptions The {@link CreateEcKeyOptions options object} containing information about the + * {@link KeyVaultKey EC key} being created. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param createEcKeyOptions The key options object containing information about the ec key being created. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey created key}. - * @throws NullPointerException if {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException if {@code ecKeyCreateOptions} is malformed. + * + * @throws HttpResponseException If {@link CreateEcKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createEcKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createEcKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response createEcKeyWithResponse(CreateEcKeyOptions createEcKeyOptions, Context context) { @@ -260,28 +307,31 @@ public Response createEcKeyWithResponse(CreateEcKeyOptions createEc } /** - * Creates and stores a new symmetric key in Key Vault. If the named key already exists, Azure Key Vault creates - * a new version of the key. This operation requires the keys/create permission. + * Creates and stores a new {@link KeyVaultKey symmetric key} in the key vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the key. This operation requires + * the {@code keys/create} permission. * *

The {@link CreateOctKeyOptions} parameter is required. The {@link CreateOctKeyOptions#getExpiresOn() expires} * and {@link CreateOctKeyOptions#getNotBefore() notBefore} values are optional. The - * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

+ * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of key to create. + *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. * Possible values include: {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new symmetric key. The key activates in one day and expires in one year. Prints out the details of - * the newly created key.

- * - * {@codesnippet com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions} + *

Creates a new {@link KeyVaultKey symmetric key}. The {@link KeyVaultKey key} activates in one day and expires + * in one year. Prints out the details of the newly {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions} * - * @param createOctKeyOptions The key options object containing information about the ec key being created. + * @param createOctKeyOptions The {@link CreateOctKeyOptions options object} containing information about the + * {@link KeyVaultKey symmetric key} being created. * * @return The {@link KeyVaultKey created key}. * - * @throws NullPointerException If {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException If {@code ecKeyCreateOptions} is malformed. + * @throws HttpResponseException If {@link CreateOctKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createOctKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createOctKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey createOctKey(CreateOctKeyOptions createOctKeyOptions) { @@ -289,30 +339,33 @@ public KeyVaultKey createOctKey(CreateOctKeyOptions createOctKeyOptions) { } /** - * Creates and stores a new symmetric key in Key Vault. If the named key already exists, Azure Key Vault creates a - * new version of the key. This operation requires the keys/create permission. + * Creates and stores a new {@link KeyVaultKey symmetric key} in the key vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the key. This operation requires + * the {@code keys/create} permission. * *

The {@link CreateOctKeyOptions} parameter is required. The {@link CreateOctKeyOptions#getExpiresOn() expires} * and {@link CreateOctKeyOptions#getNotBefore() notBefore} values are optional. The - * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to true by Azure Key Vault, if not specified.

+ * {@link CreateOctKeyOptions#isEnabled() enabled} field is set to {@code true} by Azure Key Vault, if not + * specified.

* - *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of key to create. + *

The {@link CreateOctKeyOptions#getKeyType() keyType} indicates the type of {@link KeyVaultKey} key to create. * Possible values include: {@link KeyType#OCT OCT} and {@link KeyType#OCT_HSM OCT-HSM}.

* *

Code Samples

- *

Creates a new symmetric key. The key activates in one day and expires in one year. Prints out the details of - * the - * created key.

+ *

Creates a new {@link KeyVaultKey symmetric key}. The {@link KeyVaultKey key} activates in one day and expires + * in one year. Prints out the details of the newly {@link KeyVaultKey created key}.

+ * {@codesnippet com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions-Context} * - * {@codesnippet com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions-Context} - * - * @param createOctKeyOptions The key options object containing information about the ec key being created. - * @param context Additional context that is passed through the Http pipeline during the service call. + * @param createOctKeyOptions The {@link CreateOctKeyOptions options object} containing information about the + * {@link KeyVaultKey symmetric key} being created. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey created key}. * - * @throws NullPointerException If {@code ecKeyCreateOptions} is {@code null}. - * @throws ResourceModifiedException If {@code ecKeyCreateOptions} is malformed. + * @throws HttpResponseException If {@link CreateOctKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code createOctKeyOptions} is {@code null}. + * @throws ResourceModifiedException If {@code createOctKeyOptions} is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response createOctKeyWithResponse(CreateOctKeyOptions createOctKeyOptions, Context context) { @@ -320,19 +373,22 @@ public Response createOctKeyWithResponse(CreateOctKeyOptions create } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. + * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. * *

Code Samples

- *

Imports a new key into key vault. Prints out the details of the imported key.

+ *

Imports a new {@link KeyVaultKey key} into the key vault. Prints out the details of the + * {@link KeyVaultKey imported key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.importKey#String-JsonWebKey} * - * {@codesnippet com.azure.security.keyvault.keys.keyclient.importKey#string-jsonwebkey} + * @param name The name for the {@link KeyVaultKey imported key}. + * @param keyMaterial The {@link JsonWebKey} being imported. * - * @param name The name for the imported key. - * @param keyMaterial The Json web key being imported. * @return The {@link KeyVaultKey imported key}. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws HttpResponseException If {@code name} is an empty string. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey importKey(String name, JsonWebKey keyMaterial) { @@ -340,26 +396,31 @@ public KeyVaultKey importKey(String name, JsonWebKey keyMaterial) { } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. - * - *

The {@code keyImportOptions} is required and its fields {@link ImportKeyOptions#getName() name} and {@link - * ImportKeyOptions#getKey() key material} cannot be null. The {@link ImportKeyOptions#getExpiresOn() expires} and - * {@link ImportKeyOptions#getNotBefore() notBefore} values in {@code keyImportOptions} are optional. If not specified, - * no values are set for the fields. The {@link ImportKeyOptions#isEnabled() enabled} field is set to true and the - * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to false by Azure Key Vault, if they are not specified.

+ * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. + * + *

{@link ImportKeyOptions} is required and its fields {@link ImportKeyOptions#getName() name} and + * {@link ImportKeyOptions#getKey() key material} cannot be {@code null}. The + * {@link ImportKeyOptions#getExpiresOn() expires} and {@link ImportKeyOptions#getNotBefore() notBefore} values + * in {@code keyImportOptions} are optional. If not specified, no values are set for the fields. The + * {@link ImportKeyOptions#isEnabled() enabled} field is set to {@code true} and the + * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to {@code false} by Azure Key Vault, if they are + * not specified.

* *

Code Samples

- *

Imports a new key into key vault. Prints out the details of the imported key.

+ *

Imports a new {@link KeyVaultKey key} into the key vault. Prints out the details of the + * {@link KeyVaultKey imported key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.importKey#ImportKeyOptions} * - * {@codesnippet com.azure.security.keyvault.keys.keyclient.importKey#options} + * @param importKeyOptions The {@link ImportKeyOptions options object} containing information about the + * {@link JsonWebKey} being imported. * - * @param importKeyOptions The key import configuration object containing information about the json web key - * being imported. * @return The {@link KeyVaultKey imported key}. - * @throws NullPointerException if {@code keyImportOptions} is {@code null}. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws HttpResponseException If {@link ImportKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code importKeyOptions} is {@code null}. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey importKey(ImportKeyOptions importKeyOptions) { @@ -367,27 +428,33 @@ public KeyVaultKey importKey(ImportKeyOptions importKeyOptions) { } /** - * Imports an externally created key and stores it in key vault. The import key operation may be used to import any - * key type into the Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the - * key. This operation requires the {@code keys/import} permission. - * - *

The {@code keyImportOptions} is required and its fields {@link ImportKeyOptions#getName() name} and {@link - * ImportKeyOptions#getKey() key material} cannot be null. The {@link ImportKeyOptions#getExpiresOn() expires} and - * {@link ImportKeyOptions#getNotBefore() notBefore} values in {@code keyImportOptions} are optional. If not specified, - * no values are set for the fields. The {@link ImportKeyOptions#isEnabled() enabled} field is set to true and the - * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to false by Azure Key Vault, if they are not specified.

+ * Imports an externally created {@link JsonWebKey key} and stores it in the key vault. The import key operation + * may be used to import any {@link KeyType key type} into Azure Key Vault. If a {@link KeyVaultKey key} with + * the provided name already exists, Azure Key Vault creates a new version of the {@link KeyVaultKey key}. This + * operation requires the {@code keys/import} permission. + * + *

{@link ImportKeyOptions} is required and its fields {@link ImportKeyOptions#getName() name} and + * {@link ImportKeyOptions#getKey() key material} cannot be {@code null}. The + * {@link ImportKeyOptions#getExpiresOn() expires} and {@link ImportKeyOptions#getNotBefore() notBefore} values + * in {@code keyImportOptions} are optional. If not specified, no values are set for the fields. The + * {@link ImportKeyOptions#isEnabled() enabled} field is set to {@code true} and the + * {@link ImportKeyOptions#isHardwareProtected() hsm} field is set to {@code false} by Azure Key Vault, if they are + * not specified.

* *

Code Samples

- *

Imports a new key into key vault. Prints out the details of the imported key.

+ *

Imports a new {@link KeyVaultKey key} into the key vault. Prints out the details of the + * {@link KeyVaultKey imported key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.importKeyWithResponse#ImportKeyOptions-Context} * - * {@codesnippet com.azure.security.keyvault.keys.keyclient.importKeyWithResponse#options-response} + * @param importKeyOptions The {@link ImportKeyOptions options object} containing information about the + * {@link JsonWebKey} being imported. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param importKeyOptions The key import configuration object containing information about the json web key - * being imported. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey imported key}. - * @throws NullPointerException if {@code keyImportOptions} is {@code null}. - * @throws HttpResponseException if {@code name} is empty string. + * + * @throws HttpResponseException If {@link ImportKeyOptions#getName()} is an empty string. + * @throws NullPointerException If {@code keyImportOptions} is {@code null}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response importKeyWithResponse(ImportKeyOptions importKeyOptions, Context context) { @@ -395,21 +462,25 @@ public Response importKeyWithResponse(ImportKeyOptions importKeyOpt } /** - * Gets the public part of the specified key and key version. The get key operation is applicable to all key types - * and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets a specific version of the key in the key vault. Prints out the details of the returned key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.getKey#string-string} + *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Prints out the details of the + * {@link KeyVaultKey retrieved key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getKey#String-String} + * + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. + * @param version The version of the {@link KeyVaultKey key} to retrieve. If this is an empty string or + * {@code null}, this call is equivalent to calling {@link KeyClient#getKey(String)}, with the latest version + * being retrieved. * - * @param name The name of the key, cannot be null - * @param version The version of the key to retrieve. If this is an empty String or null, this call is - * equivalent to calling {@link KeyClient#getKey(String)}, with the latest version being retrieved. - * @return The requested {@link KeyVaultKey key}. The content of the key is null if - * both {@code name} and {@code version} are null or empty. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault or - * an empty/null {@code name} and a non null/empty {@code version} is provided. - * @throws HttpResponseException if a valid {@code name} and a non null/empty {@code version} is specified. + * @return The requested {@link KeyVaultKey key}. The content of the {@link KeyVaultKey key} is {@code null} if + * both {@code name} and {@code version} are {@code null} or empty. + * + * @throws HttpResponseException If a valid {@code name} and a non-null/empty {@code version} is specified. + * @throws ResourceNotFoundException When a {@link KeyVaultKey key} with the provided {@code name} doesn't exist in + * the key vault or an empty/{@code null} {@code name} and a non-null/empty {@code version} is provided. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey getKey(String name, String version) { @@ -417,22 +488,28 @@ public KeyVaultKey getKey(String name, String version) { } /** - * Gets the public part of the specified key and key version. The get key operation is applicable to all key types - * and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets a specific version of the key in the key vault. Prints out the details of the returned key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.getKeyWithResponse#string-string-Context} - * - * @param name The name of the key, cannot be null - * @param context Additional context that is passed through the Http pipeline during the service call. - * @param version The version of the key to retrieve. If this is an empty String or null, this call is - * equivalent to calling {@link KeyClient#getKey(String)}, with the latest version being retrieved. - * @return A {@link Response} whose {@link Response#getValue() value} contains the requested {@link KeyVaultKey key}. - * The content of the key is null if both {@code name} and {@code version} are null or empty. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault or - * an empty/null {@code name} and a non null/empty {@code version} is provided. - * @throws HttpResponseException if a valid {@code name} and a non null/empty {@code version} is specified. + *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Prints out the details of the + * {@link KeyVaultKey retrieved key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getKeyWithResponse#String-String-Context} + * + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * @param version The version of the {@link KeyVaultKey key} to retrieve. If this is an empty string or + * {@code null}, this call is equivalent to calling {@link KeyClient#getKey(String)}, with the latest version + * being retrieved. + * + * @return A {@link Response} whose {@link Response#getValue() value} contains the requested + * {@link KeyVaultKey key}. The content of the {@link KeyVaultKey key} is {@code null} if both {@code name} and + * {@code version} are {@code null} or empty. + * + * @throws HttpResponseException If a valid {@code name} and a non-null/empty {@code version} is specified. + * @throws ResourceNotFoundException When a {@link KeyVaultKey key} with the provided {@code name} doesn't exist in + * the key vault or an empty/{@code null} {@code name} and a non-null/empty {@code version} is provided. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getKeyWithResponse(String name, String version, Context context) { @@ -440,17 +517,21 @@ public Response getKeyWithResponse(String name, String version, Con } /** - * Get the public part of the latest version of the specified key from the key vault. The get key operation is - * applicable to all key types and it requires the {@code keys/get} permission. + * Gets the public part of the specified {@link KeyVaultKey key} and key version. The get key operation is + * applicable to all {@link KeyType key types} and it requires the {@code keys/get} permission. * *

Code Samples

- *

Gets the latest version of the key in the key vault. Prints out the details of the returned key.

- * {@codesnippet com.azure.keyvault.keys.keyclient.getKey#string} + *

Gets a specific version of the {@link KeyVaultKey key} in the key vault. Prints out the details of the + * {@link KeyVaultKey retrieved key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getKey#String} + * + * @param name The name of the {@link KeyVaultKey key}, cannot be {@code null}. + * + * @return The requested {@link KeyVaultKey key}. The content of the key is {@code null} if {@code name} is + * {@code null} or empty. * - * @param name The name of the key. - * @return The requested {@link KeyVaultKey key}. The content of the key is null if {@code name} is null or empty. - * @throws ResourceNotFoundException when a key with non null/empty {@code name} doesn't exist in the key vault. - * @throws HttpResponseException if a non null/empty and an invalid {@code name} is specified. + * @throws HttpResponseException If a non null/empty and an invalid {@code name} is specified. + * @throws ResourceNotFoundException When a key with non null/empty {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey getKey(String name) { @@ -458,24 +539,29 @@ public KeyVaultKey getKey(String name) { } /** - * Updates the attributes and key operations associated with the specified key, but not the cryptographic key - * material of the specified key in the key vault. The update operation changes specified attributes of an existing - * stored key and attributes that are not specified in the request are left unchanged. The cryptographic key - * material of a key itself cannot be changed. This operation requires the {@code keys/set} permission. + * Updates the {@link KeyProperties attributes} and {@link KeyOperation key operations} associated with the + * specified {@link KeyVaultKey key}, but not the cryptographic key material of the specified + * {@link KeyVaultKey key} in the key vault. The update operation changes specified + * {@link KeyProperties attributes} of an existing stored {@link KeyVaultKey key} and + * {@link KeyProperties attributes} that are not specified in the request are left unchanged. The cryptographic + * key material of a {@link KeyVaultKey key} itself cannot be changed. This operation requires the + * {@code keys/set} permission. * *

Code Samples

- *

Gets the latest version of the key, changes its expiry time and key operations and the updates the key in the - * key vault.

- * {@codesnippet com.azure.keyvault.keys.keyclient.updateKeyProperties#KeyProperties-keyOperations} + *

Gets the latest version of the {@link KeyVaultKey key}, changes its expiry time and + * {@link KeyOperation key operations} and the updates the {@link KeyVaultKey key} in the key vault.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.updateKeyProperties#KeyProperties-KeyOperation} * * @param keyProperties The {@link KeyProperties key properties} object with updated properties. - * @param keyOperations The updated key operations to associate with the key. + * @param keyOperations The updated {@link KeyOperation key operations} to associate with the key. + * * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey updated key}. - * @throws NullPointerException if {@code key} is {@code null}. - * @throws ResourceNotFoundException when a key with {@link KeyProperties#getName() name} and {@link KeyProperties#getVersion() - * version} doesn't exist in the key vault. - * @throws HttpResponseException if {@link KeyProperties#getName() name} or {@link KeyProperties#getVersion() version} is empty - * string. + * + * @throws HttpResponseException If {@link KeyProperties#getName() name} or + * {@link KeyProperties#getVersion() version} is an empty string. + * @throws NullPointerException If {@code key} is {@code null}. + * @throws ResourceNotFoundException When a key with {@link KeyProperties#getName() name} and + * {@link KeyProperties#getVersion() version} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey updateKeyProperties(KeyProperties keyProperties, KeyOperation... keyOperations) { @@ -483,48 +569,59 @@ public KeyVaultKey updateKeyProperties(KeyProperties keyProperties, KeyOperation } /** - * Updates the attributes and key operations associated with the specified key, but not the cryptographic key - * material of the specified key in the key vault. The update operation changes specified attributes of an existing - * stored key and attributes that are not specified in the request are left unchanged. The cryptographic key - * material of a key itself cannot be changed. This operation requires the {@code keys/set} permission. + * Updates the {@link KeyProperties attributes} and {@link KeyOperation key operations} associated with the + * specified {@link KeyVaultKey key}, but not the cryptographic key material of the specified + * {@link KeyVaultKey key} in the key vault. The update operation changes specified + * {@link KeyProperties attributes} of an existing stored {@link KeyVaultKey key} and + * {@link KeyProperties attributes} that are not specified in the request are left unchanged. The cryptographic + * key material of a {@link KeyVaultKey key} itself cannot be changed. This operation requires the + * {@code keys/set} permission. * *

Code Samples

- *

Gets the latest version of the key, changes its expiry time and key operations and the updates the key in the - * key vault.

- * {@codesnippet com.azure.keyvault.keys.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations-Context} + *

Gets the latest version of the {@link KeyVaultKey key}, changes its expiry time and + * {@link KeyOperation key operations} and the updates the {@link KeyVaultKey key} in the key vault.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.updateKeyPropertiesWithResponse#KeyProperties-Context-KeyOperation} * * @param keyProperties The {@link KeyProperties key properties} object with updated properties. - * @param context Additional context that is passed through the Http pipeline during the service call. - * @param keyOperations The updated key operations to associate with the key. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * @param keyOperations The updated {@link KeyOperation key operations} to associate with the key. + * * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey updated key}. - * @throws NullPointerException if {@code key} is {@code null}. - * @throws ResourceNotFoundException when a key with {@link KeyProperties#getName() name} and {@link KeyProperties#getVersion() - * version} doesn't exist in the key vault. - * @throws HttpResponseException if {@link KeyProperties#getName() name} or {@link KeyProperties#getVersion() version} is empty - * string. + * + * @throws HttpResponseException If {@link KeyProperties#getName() name} or + * {@link KeyProperties#getVersion() version} is an empty string. + * @throws NullPointerException If {@code key} is {@code null}. + * @throws ResourceNotFoundException When a key with {@link KeyProperties#getName() name} and + * {@link KeyProperties#getVersion() version} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateKeyPropertiesWithResponse(KeyProperties keyProperties, Context context, KeyOperation... keyOperations) { + public Response updateKeyPropertiesWithResponse(KeyProperties keyProperties, Context context, + KeyOperation... keyOperations) { return client.updateKeyPropertiesWithResponse(keyProperties, context, keyOperations).block(); } /** - * Deletes a key of any type from the key vault. If soft-delete is enabled on the key vault then the key is placed - * in the deleted state and requires to be purged for permanent deletion else the key is permanently deleted. The - * delete operation applies to any key stored in Azure Key Vault but it cannot be applied to an individual version - * of a key. This operation removes the cryptographic material associated with the key, which means the key is not - * usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the {@code - * keys/delete} permission. + * Deletes a {@link KeyVaultKey key} of any type from the key vault. If soft-delete is enabled on the key vault then + * the {@link KeyVaultKey key} is placed in the deleted state and requires to be purged for permanent deletion + * else the {@link KeyVaultKey key} is permanently deleted. The delete operation applies to any + * {@link KeyVaultKey key} stored in Azure Key Vault but it cannot be applied to an individual version + * of a {@link KeyVaultKey key}. This operation removes the cryptographic material associated with the + * {@link KeyVaultKey key}, which means the {@link KeyVaultKey key} is not usable for {@code Sign/Verify}, + * {@code Wrap/Unwrap} or {@code Encrypt/Decrypt} operations. This operation requires the {@code keys/delete} + * permission. * *

Code Samples

- *

Deletes the key from the keyvault. Prints out the recovery id of the deleted key returned in the - * response.

- * {@codesnippet com.azure.keyvault.keys.keyclient.deleteKey#String} + *

Deletes the {@link KeyVaultKey key} from the key vault. Prints out the recovery id of the + * {@link KeyVaultKey deleted key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.deleteKey#String} + * + * @param name The name of the {@link KeyVaultKey key} to be deleted. * - * @param name The name of the key to be deleted. * @return A {@link SyncPoller} to poll on and retrieve {@link DeletedKey deleted key} - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) public SyncPoller beginDeleteKey(String name) { @@ -532,19 +629,20 @@ public SyncPoller beginDeleteKey(String name) { } /** - * Gets the public part of a deleted key. The Get Deleted Key operation is applicable for soft-delete enabled - * vaults. This operation requires the {@code keys/get} permission. + * Gets the public part of a {@link KeyVaultKey deleted key}. The get deleted Key operation is applicable for + * soft-delete enabled vaults. This operation requires the {@code keys/get} permission. * *

Code Samples

- *

Gets the deleted key from the key vault enabled for soft-delete. Prints out the details of the deleted key - * returned in the response.

- * //Assuming key is deleted on a soft-delete enabled key vault. - * {@codesnippet com.azure.keyvault.keys.keyclient.getDeletedKey#string} + *

Gets the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Prints out the details + * of the {@link KeyVaultKey deleted key}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getDeletedKey#String} + * + * @param name The name of the deleted {@link KeyVaultKey key}. * - * @param name The name of the deleted key. * @return The {@link DeletedKey deleted key}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public DeletedKey getDeletedKey(String name) { @@ -552,20 +650,22 @@ public DeletedKey getDeletedKey(String name) { } /** - * Gets the public part of a deleted key. The Get Deleted Key operation is applicable for soft-delete enabled - * vaults. This operation requires the {@code keys/get} permission. + * Gets the public part of a {@link KeyVaultKey deleted key}. The get deleted Key operation is applicable for + * soft-delete enabled vaults. This operation requires the {@code keys/get} permission. * *

Code Samples

- *

Gets the deleted key from the key vault enabled for soft-delete. Prints out the details of the deleted key - * returned in the response.

- * //Assuming key is deleted on a soft-delete enabled key vault. - * {@codesnippet com.azure.keyvault.keys.keyclient.getDeletedKeyWithResponse#string-Context} + *

Gets the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete. Prints out the details + * of the {@link KeyVaultKey deleted key} returned in the {@link Response HTTPresponse}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getDeletedKeyWithResponse#String-Context} + * + * @param name The name of the deleted {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param name The name of the deleted key. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link DeletedKey deleted key}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getDeletedKeyWithResponse(String name, Context context) { @@ -573,18 +673,18 @@ public Response getDeletedKeyWithResponse(String name, Context conte } /** - * Permanently deletes the specified key without the possibility of recovery. The Purge Deleted Key operation is - * applicable for soft-delete enabled vaults. This operation requires the {@code keys/purge} permission. + * Permanently deletes the specified {@link KeyVaultKey key} without the possibility of recovery. The purge + * deleted key operation is applicable for soft-delete enabled vaults. This operation requires the + * {@code keys/purge} permission. * *

Code Samples

- *

Purges the deleted key from the key vault enabled for soft-delete. Prints out the status code from the server - * response.

- * //Assuming key is deleted on a soft-delete enabled key vault. - * {@codesnippet com.azure.keyvault.keys.keyclient.purgeDeletedKey#string} + *

Purges the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.purgeDeletedKey#String} + * + * @param name The name of the {@link KeyVaultKey deleted key}. * - * @param name The name of the deleted key. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public void purgeDeletedKey(String name) { @@ -592,20 +692,22 @@ public void purgeDeletedKey(String name) { } /** - * Permanently deletes the specified key without the possibility of recovery. The Purge Deleted Key operation is - * applicable for soft-delete enabled vaults. This operation requires the {@code keys/purge} permission. + * Permanently deletes the specified {@link KeyVaultKey key} without the possibility of recovery. The purge + * deleted key operation is applicable for soft-delete enabled vaults. This operation requires the + * {@code keys/purge} permission. * *

Code Samples

- *

Purges the deleted key from the key vault enabled for soft-delete. Prints out the status code from the server - * response.

- * //Assuming key is deleted on a soft-delete enabled key vault. - * {@codesnippet com.azure.keyvault.keys.keyclient.purgeDeletedKeyWithResponse#string-Context} + *

Purges the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.purgeDeletedKeyWithResponse#String-Context} + * + * @param name The name of the {@link KeyVaultKey deleted key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param name The name of the deleted key. - * @param context Additional context that is passed through the Http pipeline during the service call. - * @return A response containing status code and HTTP headers. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * @return A {@link Response} containing status code and HTTP headers. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response purgeDeletedKeyWithResponse(String name, Context context) { @@ -613,19 +715,21 @@ public Response purgeDeletedKeyWithResponse(String name, Context context) } /** - * Recovers the deleted key in the key vault to its latest version and can only be performed on a soft-delete - * enabled vault. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the - * delete operation on soft-delete enabled vaults. This operation requires the {@code keys/recover} permission. + * Recovers the {@link KeyVaultKey deleted key} in the key vault to its latest version and can only be performed + * on a soft-delete enabled vault. An attempt to recover an {@link KeyVaultKey non-deleted key} will return an + * error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation + * requires the {@code keys/recover} permission. * *

Code Samples

- *

Recovers the deleted key from the key vault enabled for soft-delete.

- * //Assuming key is deleted on a soft-delete enabled key vault. - * {@codesnippet com.azure.keyvault.keys.keyclient.recoverDeletedKey#String} + *

Recovers the {@link KeyVaultKey deleted key} from the key vault enabled for soft-delete.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.recoverDeletedKey#String} + * + * @param name The name of the {@link KeyVaultKey deleted key} to be recovered. * - * @param name The name of the deleted key to be recovered. * @return A {@link SyncPoller} to poll on and retrieve {@link KeyVaultKey recovered key}. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) public SyncPoller beginRecoverDeletedKey(String name) { @@ -633,26 +737,28 @@ public SyncPoller beginRecoverDeletedKey(String name) { } /** - * Requests a backup of the specified key be downloaded to the client. The Key Backup operation exports a key from - * Azure Key Vault in a protected form. Note that this operation does not return key material in a form that can be - * used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM - * or to Azure Key Vault itself. The intent of this operation is to allow a client to generate a key in one Azure - * Key Vault instance, backup the key, and then restore it into another Azure Key Vault instance. The backup - * operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a - * key cannot be backed up. Backup / Restore can be performed within geographical boundaries only; meaning that a - * backup from one geographical area cannot be restored to another geographical area. For example, a backup from the - * US geographical area cannot be restored in an EU geographical area. This operation requires the {@code - * key/backup} permission. + * Requests a backup of the specified {@link KeyVaultKey key} be downloaded to the client. The key backup + * operation exports a {@link KeyVaultKey key} from Azure Key Vault in a protected form. Note that this operation + * does not return key material in a form that can be used outside the Azure Key Vault system, the returned key + * material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this + * operation is to allow a client to generate a {@link KeyVaultKey key} in one Azure Key Vault instance, backup the + * {@link KeyVaultKey key}, and then restore it into another Azure Key Vault instance. The backup operation may + * be used to export, in protected form, any {@link KeyType key type} from Azure Key Vault. Individual versions + * of a {@link KeyVaultKey key} cannot be backed up. {@code Backup/Restore} can be performed within geographical + * boundaries only; meaning that a backup from one geographical area cannot be restored to another geographical + * area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This + * operation requires the {@code key/backup} permission. * *

Code Samples

- *

Backs up the key from the key vault and prints out the length of the key's backup byte array returned in the - * response

- * {@codesnippet com.azure.keyvault.keys.keyclient.backupKey#string} + *

Backs up the {@link KeyVaultKey key} from the key vault.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.backupKey#String} + * + * @param name The name of the {@link KeyVaultKey key}. * - * @param name The name of the key. * @return The backed up key blob. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public byte[] backupKey(String name) { @@ -660,27 +766,31 @@ public byte[] backupKey(String name) { } /** - * Requests a backup of the specified key be downloaded to the client. The Key Backup operation exports a key from - * Azure Key Vault in a protected form. Note that this operation does not return key material in a form that can be - * used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM - * or to Azure Key Vault itself. The intent of this operation is to allow a client to generate a key in one Azure - * Key Vault instance, backup the key, and then restore it into another Azure Key Vault instance. The backup - * operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a - * key cannot be backed up. Backup / Restore can be performed within geographical boundaries only; meaning that a - * backup from one geographical area cannot be restored to another geographical area. For example, a backup from the - * US geographical area cannot be restored in an EU geographical area. This operation requires the {@code - * key/backup} permission. + * Requests a backup of the specified {@link KeyVaultKey key} be downloaded to the client. The key backup + * operation exports a {@link KeyVaultKey key} from Azure Key Vault in a protected form. Note that this operation + * does not return key material in a form that can be used outside the Azure Key Vault system, the returned key + * material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this + * operation is to allow a client to generate a {@link KeyVaultKey key} in one Azure Key Vault instance, backup the + * {@link KeyVaultKey key}, and then restore it into another Azure Key Vault instance. The backup operation may + * be used to export, in protected form, any {@link KeyType key type} from Azure Key Vault. Individual versions + * of a {@link KeyVaultKey key} cannot be backed up. {@code Backup/Restore} can be performed within geographical + * boundaries only; meaning that a backup from one geographical area cannot be restored to another geographical + * area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This + * operation requires the {@code key/backup} permission. * *

Code Samples

- *

Backs up the key from the key vault and prints out the length of the key's backup byte array returned in the - * response

- * {@codesnippet com.azure.keyvault.keys.keyclient.backupKeyWithResponse#string-Context} + *

Backs up the {@link KeyVaultKey key} from the key vault and prints out the length of the key's backup byte + * array returned in the {@link Response HTTPresponse}.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.backupKeyWithResponse#String-Context} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param name The name of the key. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the backed up key blob. - * @throws ResourceNotFoundException when a key with {@code name} doesn't exist in the key vault. - * @throws HttpResponseException when a key with {@code name} is empty string. + * + * @throws HttpResponseException When a key with {@code name} is an empty string. + * @throws ResourceNotFoundException When a key with {@code name} doesn't exist in the key vault. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response backupKeyWithResponse(String name, Context context) { @@ -688,25 +798,28 @@ public Response backupKeyWithResponse(String name, Context context) { } /** - * Restores a backed up key to a vault. Imports a previously backed up key into Azure Key Vault, restoring the key, - * its key identifier, attributes and access control policies. The restore operation may be used to import a - * previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety - * with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, + * Restores a backed up {@link KeyVaultKey key} to a vault. Imports a previously backed up {@link KeyVaultKey key} + * into Azure Key Vault, restoring the {@link KeyVaultKey key}, its key identifier, attributes and access control + * policies. The restore operation may be used to import a previously backed up {@link KeyVaultKey key}. Individual + * versions of a {@link KeyVaultKey key} cannot be restored. The {@link KeyVaultKey key} is restored in its entirety + * with the same key name as it had when it was backed up. If the key name is not available in the target key vault, * the restore operation will be rejected. While the key name is retained during restore, the final key identifier - * will change if the key is restored to a different vault. Restore will restore all versions and preserve version - * identifiers. The restore operation is subject to security constraints: The target Key Vault must be owned by the - * same Microsoft Azure Subscription as the source Key Vault The user must have restore permission in the target Key - * Vault. This operation requires the {@code keys/restore} permission. + * will change if the {@link KeyVaultKey key} is restored to a different vault. Restore will restore all versions + * and preserve version identifiers. The restore operation is subject to security constraints: The target key + * vault must be owned by the same Microsoft Azure Subscription as the source key vault. The user must have + * the {@code restore} permission in the target key vault. This operation requires the {@code keys/restore} + * permission. * *

Code Samples

- *

Restores the key in the key vault from its backup. Prints out the details of the restored key returned in the - * response.

- * //Pass the Key Backup Byte array to the restore operation. - * {@codesnippet com.azure.keyvault.keys.keyclient.restoreKeyBackup#byte} + *

Restores the {@link KeyVaultKey key} in the key vault from its backup.

+ * // Pass the key backup byte array to the restore operation. + * {@codesnippet com.azure.security.keyvault.keys.KeyClient.restoreKeyBackup#byte} + * + * @param backup The backup blob associated with the {@link KeyVaultKey key}. * - * @param backup The backup blob associated with the key. * @return The {@link KeyVaultKey restored key}. - * @throws ResourceModifiedException when {@code backup} blob is malformed. + * + * @throws ResourceModifiedException When the {@code backup} blob is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultKey restoreKeyBackup(byte[] backup) { @@ -714,26 +827,31 @@ public KeyVaultKey restoreKeyBackup(byte[] backup) { } /** - * Restores a backed up key to a vault. Imports a previously backed up key into Azure Key Vault, restoring the key, - * its key identifier, attributes and access control policies. The restore operation may be used to import a - * previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety - * with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, + * Restores a backed up {@link KeyVaultKey key} to a vault. Imports a previously backed up {@link KeyVaultKey key} + * into Azure Key Vault, restoring the {@link KeyVaultKey key}, its key identifier, attributes and access control + * policies. The restore operation may be used to import a previously backed up {@link KeyVaultKey key}. Individual + * versions of a {@link KeyVaultKey key} cannot be restored. The {@link KeyVaultKey key} is restored in its entirety + * with the same key name as it had when it was backed up. If the key name is not available in the target key vault, * the restore operation will be rejected. While the key name is retained during restore, the final key identifier - * will change if the key is restored to a different vault. Restore will restore all versions and preserve version - * identifiers. The restore operation is subject to security constraints: The target Key Vault must be owned by the - * same Microsoft Azure Subscription as the source Key Vault The user must have restore permission in the target Key - * Vault. This operation requires the {@code keys/restore} permission. + * will change if the {@link KeyVaultKey key} is restored to a different vault. Restore will restore all versions + * and preserve version identifiers. The restore operation is subject to security constraints: The target key + * vault must be owned by the same Microsoft Azure Subscription as the source key vault. The user must have + * the {@code restore} permission in the target key vault. This operation requires the {@code keys/restore} + * permission. * *

Code Samples

- *

Restores the key in the key vault from its backup. Prints out the details of the restored key returned in the - * response.

- * //Pass the Key Backup Byte array to the restore operation. - * {@codesnippet com.azure.keyvault.keys.keyclient.restoreKeyBackupWithResponse#byte-Context} + *

Restores the {@link KeyVaultKey key} in the key vault from its backup. Prints out the details of the + * {@link KeyVaultKey restored key} returned in the {@link Response HTTPresponse}.

+ * // Pass the key backup byte array to the restore operation. + * {@codesnippet com.azure.security.keyvault.keys.KeyClient.restoreKeyBackupWithResponse#byte-Context} + * + * @param backup The backup blob associated with the {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param backup The backup blob associated with the key. - * @param context Additional context that is passed through the Http pipeline during the service call. * @return A {@link Response} whose {@link Response#getValue() value} contains the {@link KeyVaultKey restored key}. - * @throws ResourceModifiedException when {@code backup} blob is malformed. + * + * @throws ResourceModifiedException When the {@code backup} blob is malformed. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response restoreKeyBackupWithResponse(byte[] backup, Context context) { @@ -741,24 +859,25 @@ public Response restoreKeyBackupWithResponse(byte[] backup, Context } /** - * List keys in the key vault. Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain - * the public part of a stored key. The List operation is applicable to all key types and the individual key - * response in the list is represented by {@link KeyProperties} as only the key identifier, attributes and tags are + * List {@link KeyVaultKey keys} in the key vault. Retrieves a list of the {@link KeyVaultKey keys} in the key + * vault as {@link JsonWebKey} structures that contain the public part of a stored {@link KeyVaultKey key}. The list + * operation is applicable to all {@link KeyType key types} and the individual {@link KeyVaultKey key} response + * in the list is represented by {@link KeyProperties} as only the key identifier, attributes and tags are * provided in the response. The key material and individual key versions are not listed in the response. This * operation requires the {@code keys/list} permission. * - *

It is possible to get full keys with key material from this information. Loop over the {@link KeyProperties key} - * and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey key} with key material - * included of its latest version.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeys} + *

It is possible to get {@link KeyVaultKey full keys} with key material from this information. Loop over the + * {@link KeyProperties} and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey key} with key material included as of its latest version.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys} * *

Code Samples to iterate keys by page

- *

It is possible to get full keys with key material from this information. Iterate over all the {@link KeyProperties - * key} by page and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey key} with key - * material included of its latest version.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeys.iterableByPage} + *

It is possible to get {@link KeyVaultKey full keys} with key material from this information. Iterate over all + * the {@link KeyProperties} by page and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey key} with key material included as of its latest version.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys.iterableByPage} * - * @return {@link PagedIterable} of {@link KeyProperties key} of all the keys in the vault. + * @return {@link PagedIterable} of {@link KeyProperties key} of all the {@link KeyVaultKey keys} in the vault. */ @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable listPropertiesOfKeys() { @@ -766,25 +885,28 @@ public PagedIterable listPropertiesOfKeys() { } /** - * List keys in the key vault. Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain - * the public part of a stored key. The List operation is applicable to all key types and the individual key - * response in the list is represented by {@link KeyProperties} as only the key identifier, attributes and tags are + * List {@link KeyVaultKey keys} in the key vault. Retrieves a list of the {@link KeyVaultKey keys} in the key + * vault as {@link JsonWebKey} structures that contain the public part of a stored {@link KeyVaultKey key}. The list + * operation is applicable to all {@link KeyType key types} and the individual {@link KeyVaultKey key} response + * in the list is represented by {@link KeyProperties} as only the key identifier, attributes and tags are * provided in the response. The key material and individual key versions are not listed in the response. This * operation requires the {@code keys/list} permission. * - *

It is possible to get full keys with key material from this information. Loop over the {@link KeyProperties key} - * and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey key} with key material - * included of its latest version.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeys#Context} + *

It is possible to get {@link KeyVaultKey full keys} with key material from this information. Loop over the + * {@link KeyProperties} and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey key} with key material included as of its latest version.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys#Context} * *

Code Samples to iterate keys by page

- *

It is possible to get full keys with key material from this information. Iterate over all the {@link KeyProperties - * key} by page and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey key} with key - * material included of its latest version.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeys.iterableByPage} + *

It is possible to get {@link KeyVaultKey full keys} with key material from this information. Iterate over all + * the {@link KeyProperties} by page and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey key} with key material included as of its latest version.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys.iterableByPage} * - * @param context Additional context that is passed through the Http pipeline during the service call. - * @return {@link PagedIterable} of {@link KeyProperties key} of all the keys in the vault. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * + * @return {@link PagedIterable} of {@link KeyProperties key} of all the {@link KeyVaultKey keys} in the vault. */ @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable listPropertiesOfKeys(Context context) { @@ -792,18 +914,20 @@ public PagedIterable listPropertiesOfKeys(Context context) { } /** - * Lists {@link DeletedKey deleted keys} of the key vault. The deleted keys are retrieved as JSON Web Key structures - * that contain the public part of a deleted key. The Get Deleted Keys operation is applicable for vaults enabled - * for soft-delete. This operation requires the {@code keys/list} permission. + * Lists {@link DeletedKey deleted keys} of the key vault. The {@link DeletedKey deleted keys} are retrieved as + * {@link JsonWebKey} structures that contain the public part of a {@link DeletedKey deleted key}. The get deleted + * keys operation is applicable for vaults enabled for soft-delete. This operation requires the {@code keys/list} + * permission. * *

Code Samples

- *

Lists the deleted keys in the key vault and for each deleted key prints out its recovery id.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listDeletedKeys} + *

Lists the {@link DeletedKey deleted keys} in the key vault and for each {@link DeletedKey deleted key} prints + * out its recovery id.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listDeletedKeys} * *

Code Samples to iterate over deleted keys by page

- *

Iterate over the lists the deleted keys by each page in the key vault and for each deleted key prints out its - * recovery id.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listDeletedKeys.iterableByPage} + *

Iterates over the {@link DeletedKey deleted keys} by page in the key vault and for each deleted key prints out + * its recovery id.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listDeletedKeys.iterableByPage} * * @return {@link PagedIterable} of all of the {@link DeletedKey deleted keys} in the vault. */ @@ -813,20 +937,24 @@ public PagedIterable listDeletedKeys() { } /** - * Lists {@link DeletedKey deleted keys} of the key vault. The deleted keys are retrieved as JSON Web Key structures - * that contain the public part of a deleted key. The Get Deleted Keys operation is applicable for vaults enabled - * for soft-delete. This operation requires the {@code keys/list} permission. + * Lists {@link DeletedKey deleted keys} of the key vault. The {@link DeletedKey deleted keys} are retrieved as + * {@link JsonWebKey} structures that contain the public part of a {@link DeletedKey deleted key}. The get deleted + * keys operation is applicable for vaults enabled for soft-delete. This operation requires the {@code keys/list} + * permission. * *

Code Samples

- *

Lists the deleted keys in the key vault and for each deleted key prints out its recovery id.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listDeletedKeys#Context} + *

Lists the {@link DeletedKey deleted keys} in the key vault and for each {@link DeletedKey deleted key} prints + * out its recovery id.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listDeletedKeys#Context} * *

Code Samples to iterate over deleted keys by page

- *

Iterate over the lists the deleted keys by each page in the key vault and for each deleted key prints out its - * recovery id.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listDeletedKeys.iterableByPage} + *

Iterates over the {@link DeletedKey deleted keys} by page in the key vault and for each deleted key prints out + * its recovery id.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listDeletedKeys.iterableByPage} + * + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param context Additional context that is passed through the Http pipeline during the service call. * @return {@link PagedIterable} of all of the {@link DeletedKey deleted keys} in the vault. */ @ServiceMethod(returns = ReturnType.COLLECTION) @@ -835,25 +963,28 @@ public PagedIterable listDeletedKeys(Context context) { } /** - * List all versions of the specified key. The individual key response in the flux is represented by {@link KeyProperties} - * as only the key identifier, attributes and tags are provided in the response. The key material values are - * not provided in the response. This operation requires the {@code keys/list} permission. + * List all versions of the specified {@link KeyVaultKey keys}. The individual key response in the flux is + * represented by {@link KeyProperties} as only the key identifier, attributes and tags are provided in the + * response. The key material values are not provided in the response. This operation requires the + * {@code keys/list} permission. * - *

It is possible to get full keys with key material for each version from this information. Loop over the - * {@link KeyProperties key} and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey keys} - * with key material included of the specified versions.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeyVersions} + *

It is possible to get {@link KeyVaultKey full keys} with key material for each version from this information. + * Loop over the {@link KeyProperties key} and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey keys} with key material included of the specified versions.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String} * *

Code Samples to iterate over key versions by page

- *

It is possible to get full keys with key material for each version from this information. Iterate over all - * the {@link KeyProperties key} by page and call {@link KeyClient#getKey(String, String)}. This will return the {@link - * KeyVaultKey keys} with key material included of the specified versions.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeyVersions.iterableByPage} + *

It is possible to get {@link KeyVaultKey full keys} with key material for each version from this information. + * Iterate over all the {@link KeyProperties key} by page and call {@link KeyClient#getKey(String, String)}. This + * will return the {@link KeyVaultKey keys} with key material included of the specified versions.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions.iterableByPage} + * + * @param name The name of the {@link KeyVaultKey key}. * - * @param name The name of the key. - * @return {@link PagedIterable} of {@link KeyProperties key} of all the versions of the specified key in the vault. List - * is empty if key with {@code name} does not exist in key vault. - * @throws ResourceNotFoundException when a given key {@code name} is null or an empty string. + * @return {@link PagedIterable} of {@link KeyProperties key} of all the versions of the specified key in the vault. + * The list is empty if a {@link KeyVaultKey key} with the provided {@code name} does not exist in the key vault. + * + * @throws ResourceNotFoundException When a given key {@code name} is {@code null} or an empty string. */ @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable listPropertiesOfKeyVersions(String name) { @@ -861,27 +992,31 @@ public PagedIterable listPropertiesOfKeyVersions(String name) { } /** - * List all versions of the specified key. The individual key response in the flux is represented by {@link KeyProperties} - * as only the key identifier, attributes and tags are provided in the response. The key material values are - * not provided in the response. This operation requires the {@code keys/list} permission. + * List all versions of the specified {@link KeyVaultKey keys}. The individual key response in the flux is + * represented by {@link KeyProperties} as only the key identifier, attributes and tags are provided in the + * response. The key material values are not provided in the response. This operation requires the + * {@code keys/list} permission. * - *

It is possible to get full keys with key material for each version from this information. Loop over the - * {@link KeyProperties key} and call {@link KeyClient#getKey(String, String)}. This will return the {@link KeyVaultKey keys} - * with key material included of the specified versions.

- * {@codesnippet com.azure.keyvault.keys.keyclient.listKeyVersions} + *

It is possible to get {@link KeyVaultKey full keys} with key material for each version from this information. + * Loop over the {@link KeyProperties key} and call {@link KeyClient#getKey(String, String)}. This will return the + * {@link KeyVaultKey keys} with key material included of the specified versions.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String-Context} * *

Code Samples to iterate over key versions by page

- *

It is possible to get full keys with key material for each version from this information. Iterate over all - * the {@link KeyProperties key} by page and call {@link KeyClient#getKey(String, String)}. This will return the - * {@link KeyVaultKey keys} with key material included of the specified versions.

+ *

It is possible to get {@link KeyVaultKey full keys} with key material for each version from this information. + * Iterate over all the {@link KeyProperties key} by page and call {@link KeyClient#getKey(String, String)}. This + * will return the {@link KeyVaultKey keys} with key material included of the specified versions.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions.iterableByPage} * - * {@codesnippet com.azure.keyvault.keys.keyclient.listKeyVersions.iterableByPage} + * @param name The name of the {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * - * @param name The name of the key. - * @param context Additional context that is passed through the Http pipeline during the service call. - * @return {@link PagedIterable} of {@link KeyProperties key} of all the versions of the specified key in the vault. List - * is empty if key with {@code name} does not exist in key vault. - * @throws ResourceNotFoundException when a given key {@code name} is null or an empty string. + * @return {@link PagedIterable} of {@link KeyProperties key} of all the versions of the specified + * {@link KeyVaultKey key} in the vault. The list is empty if a {@link KeyVaultKey key} with the provided + * {@code name} does not exist in the key vault. + * + * @throws ResourceNotFoundException When a given key {@code name} is {@code null} or an empty string. */ @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable listPropertiesOfKeyVersions(String name, Context context) { @@ -894,7 +1029,6 @@ public PagedIterable listPropertiesOfKeyVersions(String name, Con *

Code Samples

*

Gets a number of bytes containing random values from a Managed HSM. Prints out the retrieved bytes in * base64Url format.

- * * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getRandomBytes#int} * * @param count The requested number of random bytes. @@ -911,11 +1045,11 @@ public RandomBytes getRandomBytes(int count) { *

Code Samples

*

Gets a number of bytes containing random values from a Managed HSM. Prints out the * {@link Response HTTP Response} details and the retrieved bytes in base64Url format.

- * * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getRandomBytesWithResponse#int-Context} * * @param count The requested number of random bytes. - * @param context Additional context that is passed through the Http pipeline during the service call. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * * @return The {@link Response HTTP response} for this operation and the requested number of bytes containing * random values from a managed HSM. @@ -925,16 +1059,22 @@ public Response getRandomBytesWithResponse(int count, Context conte } /** - * Releases the latest version of a key. + * Releases the latest version of a {@link KeyVaultKey key}. * - *

The key must be exportable. This operation requires the 'keys/release' permission.

+ *

The {@link KeyVaultKey key} must be exportable. This operation requires the {@code keys/release} permission. + *

* - * @param name The name of the key to release. - * @param target The attestation assertion for the target of the key release. + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Prints out the signed object that contains the release key.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String} * - * @return The key release result containing the released key. + * @param name The name of the {@link KeyVaultKey key} to release. + * @param target The attestation assertion for the target of the {@link KeyVaultKey key} release. + * + * @return The key release result containing the {@link KeyVaultKey released key}. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public ReleaseKeyResult releaseKey(String name, String target) { @@ -942,18 +1082,24 @@ public ReleaseKeyResult releaseKey(String name, String target) { } /** - * Releases a key. + * Releases a specific version of a {@link KeyVaultKey key}. * - *

The key must be exportable. This operation requires the 'keys/release' permission.

+ *

The {@link KeyVaultKey key} must be exportable. This operation requires the {@code keys/release} permission. + *

* - * @param name The name of the key to release. - * @param version The version of the key to retrieve. If this is empty or {@code null}, this call is equivalent to + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Prints out the signed object that contains the release key.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String-String} + * + * @param name The name of the {@link KeyVaultKey key} to release. + * @param version The version of the key to release. If this is empty or {@code null}, this call is equivalent to * calling {@link KeyAsyncClient#releaseKey(String, String)}, with the latest key version being released. - * @param target The attestation assertion for the target of the key release. + * @param target The attestation assertion for the target of the {@link KeyVaultKey key} release. * - * @return The key release result containing the released key. + * @return The key release result containing the {@link KeyVaultKey released key}. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public ReleaseKeyResult releaseKey(String name, String version, String target) { @@ -961,24 +1107,171 @@ public ReleaseKeyResult releaseKey(String name, String version, String target) { } /** - * Releases a key. + * Releases a {@link KeyVaultKey key}. * - *

The key must be exportable. This operation requires the 'keys/release' permission.

+ *

The key must be exportable. This operation requires the {@code keys/release} permission.

* - * @param name The name of the key to release. - * @param version Version of the key to release.This parameter is optional. + *

Code Samples

+ *

Releases a {@link KeyVaultKey key}. Prints out the + * {@link Response HTTP Response} details and the signed object that contains the release key.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions-Context} + * + * @param name The name of the {@link KeyVaultKey key} to release. + * @param version The version of the {@link KeyVaultKey key} to release. If this is empty or {@code null}, this call + * is equivalent to calling {@link KeyAsyncClient#releaseKey(String, String)}, with the latest key version being + * released. * @param target The attestation assertion for the target of the key release. - * @param options Additional options for releasing a key. - * @param context Additional context that is passed through the Http pipeline during the service call. + * @param options Additional {@link ReleaseKeyOptions options} for releasing a {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. * * @return The {@link Response HTTP response} for this operation and the {@link ReleaseKeyResult} containing the - * released key. + * {@link KeyVaultKey released key}. * * @throws IllegalArgumentException If {@code name} or {@code target} are {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response releaseKeyWithResponse(String name, String version, String target, ReleaseKeyOptions options, Context context) { return client.releaseKeyWithResponse(name, version, target, options, context).block(); } + + /** + * Rotates a {@link KeyVaultKey key}. The rotate key operation will do so based on + * {@link KeyRotationPolicy key's rotation policy}. This operation requires the {@code keys/rotate} permission. + * + *

Code Samples

+ *

Rotates a {@link KeyVaultKey key}. Prints out {@link KeyVaultKey rotated key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String} + * + * @param name The name of {@link KeyVaultKey key} to be rotated. The system will generate a new version in the + * specified {@link KeyVaultKey key}. + * + * @return The new version of the rotated {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public KeyVaultKey rotateKey(String name) { + return client.rotateKey(name).block(); + } + + /** + * Rotates a {@link KeyVaultKey key}. The rotate key operation will do so based on + * {@link KeyRotationPolicy key's rotation policy}. This operation requires the {@code keys/rotate} permission. + * + *

Code Samples

+ *

Rotates a {@link KeyVaultKey key}. Prints out the {@link Response HTTP Response} and + * {@link KeyVaultKey rotated key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String-Context} + * + * @param name The name of {@link KeyVaultKey key} to be rotated. The system will generate a new version in the + * specified {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * + * @return The {@link Response HTTP response} for this operation containing the new version of the rotated + * {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response rotateKeyWithResponse(String name, Context context) { + return client.rotateKeyWithResponse(name, context).block(); + } + + /** + * Gets the {@link KeyRotationPolicy} for the {@link KeyVaultKey key} with the provided name. This operation + * requires the {@code keys/get} permission. + * + *

Code Samples

+ *

Retrieves the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Prints out the + * {@link KeyRotationPolicy rotation policy key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicy#String} + * + * @param name The name of the {@link KeyVaultKey key}. + * + * @return The {@link KeyRotationPolicy} for the {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public KeyRotationPolicy getKeyRotationPolicy(String name) { + return client.getKeyRotationPolicy(name).block(); + } + + /** + * Gets the {@link KeyRotationPolicy} for the {@link KeyVaultKey key} with the provided name. This operation + * requires the {@code keys/get} permission. + * + *

Code Samples

+ *

Retrieves the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Prints out the + * {@link Response HTTP Response} and {@link KeyRotationPolicy rotation policy key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicyWithResponse#String-Context} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * + * @return A {@link Response HTTP response} for this operation containing the {@link KeyRotationPolicy} for the + * {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getKeyRotationPolicyWithResponse(String name, Context context) { + return client.getKeyRotationPolicyWithResponse(name, context).block(); + } + + /** + * Updates the {@link KeyRotationPolicy} of the {@link KeyVaultKey key} with the provided name. This operation + * requires the {@code keys/update} permission. + * + *

Code Samples

+ *

Updates the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Prints out the + * {@link KeyRotationPolicy rotation policy key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param keyRotationPolicyProperties The {@link KeyRotationPolicy} for the ke{@link KeyVaultKey key}y. + * + * @return The {@link KeyRotationPolicy} for the {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public KeyRotationPolicy updateKeyRotationPolicy(String name, KeyRotationPolicyProperties keyRotationPolicyProperties) { + return client.updateKeyRotationPolicy(name, keyRotationPolicyProperties).block(); + } + + /** + * Updates the {@link KeyRotationPolicy} of the key with the provided name. This operation requires the + * {@code keys/update} permission. + * + *

Code Samples

+ *

Updates the {@link KeyRotationPolicy rotation policy} of a given {@link KeyVaultKey key}. Prints out the + * {@link Response HTTP Response} and {@link KeyRotationPolicy rotation policy key} details.

+ * {@codesnippet com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties-Context} + * + * @param name The name of the {@link KeyVaultKey key}. + * @param keyRotationPolicyProperties The {@link KeyRotationPolicyProperties} for the key. + * @param context Additional {@link Context} that is passed through the {@link HttpPipeline} during the service + * call. + * + * @return A {@link Response HTTP response} for this operation containing the {@link KeyRotationPolicy} for the + * {@link KeyVaultKey key}. + * + * @throws IllegalArgumentException If {@code name} is {@code null} or empty. + * @throws ResourceNotFoundException If the {@link KeyVaultKey key} for the provided {@code name} does not exist. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateKeyRotationPolicyWithResponse(String name, KeyRotationPolicyProperties keyRotationPolicyProperties, Context context) { + return client.updateKeyRotationPolicyWithResponse(name, keyRotationPolicyProperties, context).block(); + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClientBuilder.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClientBuilder.java index 0267c7a1b7ead..dfd3ed735b70b 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClientBuilder.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyClientBuilder.java @@ -41,23 +41,23 @@ *

The minimal configuration options required by {@link KeyClientBuilder} to build {@link KeyAsyncClient} are * {@link String vaultUrl} and {@link TokenCredential credential}.

* - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.instantiation} * *

The {@link HttpLogDetailLevel log detail level}, multiple custom {@link HttpLoggingPolicy policies} and custom * {@link HttpClient http client} can be optionally configured in the {@link KeyClientBuilder}.

* - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.withhttpclient.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpClient} * *

Alternatively, custom {@link HttpPipeline http pipeline} with custom {@link HttpPipelinePolicy} policies and * {@link String vaultUrl} can be specified. It provides finer control over the construction of {@link KeyAsyncClient} * and {@link KeyClient}

* - * {@codesnippet com.azure.security.keyvault.keys.async.keyclient.pipeline.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpPipeline} * *

The minimal configuration options required by {@link KeyClientBuilder secretClientBuilder} to build {@link * KeyClient} are {@link String vaultUrl} and {@link TokenCredential credential}.

* - * {@codesnippet com.azure.security.keyvault.keys.keyclient.instantiation} + * {@codesnippet com.azure.security.keyvault.keys.KeyClient.instantiation} * * @see KeyAsyncClient * @see KeyClient @@ -178,7 +178,6 @@ public KeyAsyncClient buildAsyncClient() { policies.add(retryPolicy == null ? new RetryPolicy() : retryPolicy); policies.add(new KeyVaultCredentialPolicy(credential)); - // Add per retry additional policies. policies.addAll(perRetryPolicies); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyService.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyService.java index 0d835b249e6ed..0c1b3304e76f2 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyService.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/KeyService.java @@ -26,6 +26,7 @@ import com.azure.core.util.Context; import com.azure.security.keyvault.keys.implementation.models.DeletedKeyPage; import com.azure.security.keyvault.keys.implementation.models.KeyPropertiesPage; +import com.azure.security.keyvault.keys.implementation.models.KeyRotationPolicy; import com.azure.security.keyvault.keys.implementation.models.GetRandomBytesRequest; import com.azure.security.keyvault.keys.implementation.models.RandomBytes; import com.azure.security.keyvault.keys.models.DeletedKey; @@ -253,6 +254,7 @@ Mono> getRandomBytes(@HostParam("url") String url, @Post("keys/{key-name}/{key-version}/release") @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class) @UnexpectedResponseExceptionType(HttpResponseException.class) Mono> release(@HostParam("url") String url, @PathParam("key-name") String keyName, @@ -261,4 +263,35 @@ Mono> release(@HostParam("url") String url, @BodyParam("application/json") KeyReleaseParameters parameters, @HeaderParam("Accept") String accept, Context context); + + @Post("/keys/{key-name}/rotate") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> rotateKey(@HostParam("url") String url, + @PathParam("key-name") String keyName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Get("/keys/{key-name}/rotationpolicy") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getKeyRotationPolicy(@HostParam("url") String url, + @PathParam("key-name") String keyName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Put("/keys/{key-name}/rotationpolicy") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateKeyRotationPolicy(@HostParam("url") String url, + @PathParam("key-name") String keyName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") KeyRotationPolicy keyRotationPolicy, + @HeaderParam("Accept") String accept, + Context context); } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java index 96641bc2acdb6..9ce8c54fb2da4 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java @@ -60,8 +60,6 @@ */ @ServiceClient(builder = CryptographyClientBuilder.class, isAsync = true, serviceInterfaces = CryptographyService.class) public class CryptographyAsyncClient { - static final String KEY_VAULT_SCOPE = "https://vault.azure.net/.default"; - static final String MHSM_SCOPE = "https://managedhsm.azure.net/.default"; static final String SECRETS_COLLECTION = "secrets"; // Please see here // for more information on Azure resource provider namespaces. diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/KeyVaultCredentialPolicy.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/KeyVaultCredentialPolicy.java index 74987672d905f..df33c82db80f3 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/KeyVaultCredentialPolicy.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/KeyVaultCredentialPolicy.java @@ -1,93 +1,78 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.security.keyvault.keys.implementation; import com.azure.core.credential.TokenCredential; import com.azure.core.credential.TokenRequestContext; import com.azure.core.http.HttpPipelineCallContext; -import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.util.CoreUtils; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.net.URL; +import java.nio.ByteBuffer; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** - * A policy that authenticates requests with Azure Key Vault service. The content added by this policy - * is leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. + * A policy that authenticates requests with the Azure Key Vault service. The content added by this policy is + * leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. * * @see TokenCredential */ -public final class KeyVaultCredentialPolicy implements HttpPipelinePolicy { - private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; +public class KeyVaultCredentialPolicy extends BearerTokenAuthenticationPolicy { private static final String BEARER_TOKEN_PREFIX = "Bearer "; - private static final String AUTHORIZATION = "Authorization"; - private final ScopeTokenCache cache; + private static final String CONTENT_LENGTH_HEADER = "Content-Length"; + private static final String KEY_VAULT_STASHED_CONTENT_KEY = "KeyVaultCredentialPolicyStashedBody"; + private static final String KEY_VAULT_STASHED_CONTENT_LENGTH_KEY = "KeyVaultCredentialPolicyStashedContentLength"; + private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; + private static final ConcurrentMap SCOPE_CACHE = new ConcurrentHashMap<>(); + private String scope; /** - * Creates KeyVaultCredentialPolicy. + * Creates a {@link KeyVaultCredentialPolicy}. * - * @param credential the token credential to authenticate the request + * @param credential The token credential to authenticate the request. */ public KeyVaultCredentialPolicy(TokenCredential credential) { - Objects.requireNonNull(credential, "'credential' cannot be null."); - this.cache = new ScopeTokenCache((request) -> credential.getToken(request)); + super(credential); } /** - * Adds the required header to authenticate a request to Azure Key Vault service. + * Extracts attributes off the bearer challenge in the authentication header. * - * @param context The request context - * @param next The next HTTP pipeline policy to process the {@code context's} request after this policy - * completes. - * @return A {@link Mono} representing the HTTP response that will arrive asynchronously. - */ - @Override - public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { - if ("http".equals(context.getHttpRequest().getUrl().getProtocol())) { - return Mono.error(new RuntimeException("Token credentials require a URL using the HTTPS protocol scheme")); - } - return next.clone().process() - // Ignore body - .doOnNext(HttpResponse::close) - .map(res -> res.getHeaderValue(WWW_AUTHENTICATE)) - .map(header -> extractChallenge(header, BEARER_TOKEN_PREFIX)) - .flatMap(map -> { - cache.setTokenRequest(new TokenRequestContext().addScopes(map.get("resource") + "/.default")); - return cache.getToken(); - }) - .flatMap(token -> { - context.getHttpRequest().setHeader(AUTHORIZATION, BEARER_TOKEN_PREFIX + token.getToken()); - return next.process(); - }); - } - - /** - * Extracts the challenge off the authentication header. - * - * @param authenticateHeader The authentication header containing all the challenges. + * @param authenticateHeader The authentication header containing the challenge. * @param authChallengePrefix The authentication challenge name. - * @return a challenge map. + * + * @return A challenge attributes map. */ - private static Map extractChallenge(String authenticateHeader, String authChallengePrefix) { - if (!isValidChallenge(authenticateHeader, authChallengePrefix)) { - return null; + private static Map extractChallengeAttributes(String authenticateHeader, + String authChallengePrefix) { + if (!isBearerChallenge(authenticateHeader, authChallengePrefix)) { + return Collections.emptyMap(); } + authenticateHeader = authenticateHeader.toLowerCase(Locale.ROOT).replace(authChallengePrefix.toLowerCase(Locale.ROOT), ""); - String[] challenges = authenticateHeader.split(", "); - Map challengeMap = new HashMap<>(); - for (String pair : challenges) { + String[] attributes = authenticateHeader.split(", "); + Map attributeMap = new HashMap<>(); + + for (String pair : attributes) { String[] keyValue = pair.split("="); - challengeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); + + attributeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); } - return challengeMap; + + return attributeMap; } /** @@ -95,10 +80,107 @@ private static Map extractChallenge(String authenticateHeader, S * * @param authenticateHeader The authentication header containing all the challenges. * @param authChallengePrefix The authentication challenge name. - * @return A boolean indicating tha challenge is valid or not. + * @return A boolean indicating if the challenge is a bearer challenge or not. */ - private static boolean isValidChallenge(String authenticateHeader, String authChallengePrefix) { + private static boolean isBearerChallenge(String authenticateHeader, String authChallengePrefix) { return (!CoreUtils.isNullOrEmpty(authenticateHeader) && authenticateHeader.toLowerCase(Locale.ROOT).startsWith(authChallengePrefix.toLowerCase(Locale.ROOT))); } + + @Override + public Mono authorizeRequest(HttpPipelineCallContext context) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + + // If this policy doesn't have an authorityScope cached try to get it from the static challenge cache. + if (this.scope == null) { + String authority = getRequestAuthority(request); + this.scope = SCOPE_CACHE.get(authority); + } + + if (this.scope != null) { + // We fetched the scope from the cache, but we have not initialized the scopes in the base yet. + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext); + } + + // The body is removed from the initial request because Key Vault supports other authentication schemes which + // also protect the body of the request. As a result, before we know the auth scheme we need to avoid sending + // an unprotected body to Key Vault. We don't currently support this enhanced auth scheme in the SDK but we + // still don't want to send any unprotected data to vaults which require it. + + // Do not overwrite previous contents if retrying after initial request failed (e.g. timeout). + if (!context.getData(KEY_VAULT_STASHED_CONTENT_KEY).isPresent()) { + if (request.getBody() != null) { + context.setData(KEY_VAULT_STASHED_CONTENT_KEY, request.getBody()); + context.setData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY, + request.getHeaders().getValue(CONTENT_LENGTH_HEADER)); + request.setHeader(CONTENT_LENGTH_HEADER, "0"); + request.setBody((Flux) null); + } + } + + return Mono.empty(); + }); + } + + @SuppressWarnings("unchecked") + @Override + public Mono authorizeRequestOnChallenge(HttpPipelineCallContext context, HttpResponse response) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + Optional contentOptional = context.getData(KEY_VAULT_STASHED_CONTENT_KEY); + Optional contentLengthOptional = context.getData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY); + + if (request.getBody() == null && contentOptional.isPresent() && contentLengthOptional.isPresent()) { + request.setBody((Flux) contentOptional.get()); + request.setHeader(CONTENT_LENGTH_HEADER, (String) contentLengthOptional.get()); + } + + String authority = getRequestAuthority(request); + Map challengeAttributes = + extractChallengeAttributes(response.getHeaderValue(WWW_AUTHENTICATE), BEARER_TOKEN_PREFIX); + String scope = challengeAttributes.get("resource"); + + if (scope != null) { + scope = scope + "/.default"; + } else { + scope = challengeAttributes.get("scope"); + } + + if (scope == null) { + this.scope = SCOPE_CACHE.get(authority); + + if (this.scope == null) { + return Mono.just(false); + } + } else { + this.scope = scope; + + SCOPE_CACHE.put(authority, this.scope); + } + + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext) + .then(Mono.just(true)); + }); + } + + static void clearCache() { + SCOPE_CACHE.clear(); + } + + private static String getRequestAuthority(HttpRequest request) { + URL url = request.getUrl(); + String authority = url.getAuthority(); + int port = url.getPort(); + + if (!authority.contains(":") && port > 0) { + authority = authority + ":" + port; + } + + return authority; + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/ScopeTokenCache.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/ScopeTokenCache.java deleted file mode 100644 index c46bcb5127d39..0000000000000 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/ScopeTokenCache.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.security.keyvault.keys.implementation; - -import com.azure.core.credential.AccessToken; -import com.azure.core.credential.TokenRequestContext; -import reactor.core.publisher.FluxSink; -import reactor.core.publisher.Mono; -import reactor.core.publisher.ReplayProcessor; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Function; - -/** - * A token cache that supports caching a token and refreshing it. - */ -class ScopeTokenCache { - private static final int REFRESH_TIMEOUT_SECONDS = 30; - - private final AtomicBoolean wip; - private AccessToken cache; - private final ReplayProcessor emitterProcessor = ReplayProcessor.create(1); - private final FluxSink sink = emitterProcessor.sink(FluxSink.OverflowStrategy.BUFFER); - private final Function> getNew; - private TokenRequestContext request; - - /** - * Creates an instance of RefreshableTokenCredential with default scheme "Bearer". - * - * @param getNew a method to get a new token - */ - ScopeTokenCache(Function> getNew) { - this.wip = new AtomicBoolean(false); - this.getNew = getNew; - } - - public void setTokenRequest(TokenRequestContext request) { - this.request = request; - } - - /** - * Asynchronously get a token from either the cache or replenish the cache with a new token. - * @return a Publisher that emits an AccessToken - */ - public Mono getToken() { - if (cache != null && !cache.isExpired()) { - return Mono.just(cache); - } - return Mono.defer(() -> { - if (!wip.getAndSet(true)) { - return getNew.apply(request).doOnNext(ac -> cache = ac) - .doOnNext(sink::next) - .doOnError(sink::error) - .doOnTerminate(() -> wip.set(false)); - } else { - return emitterProcessor.next(); - } - }); - } -} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicy.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicy.java new file mode 100644 index 0000000000000..4008ec2a4b78a --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicy.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +/** + * Represents the rotation policy for a key. + */ +@Fluent +public final class KeyRotationPolicy { + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + @JsonProperty(value = "lifetimeActions") + private List lifetimeActions; + + @JsonProperty(value = "attributes") + private KeyRotationPolicyAttributes attributes; + + /** + * Get the {@link KeyRotationPolicy policy} id. + * + * @return The {@link KeyRotationPolicy policy} id. + */ + public String getId() { + return this.id; + } + + /** + * Get the actions that will be performed by Key Vault over the lifetime of a key. + * + * @return The {@link LifetimeAction actions} in this {@link KeyRotationPolicy policy}. + */ + public List getLifetimeActions() { + return this.lifetimeActions; + } + + /** + * Set the actions that will be performed by Key Vault over the lifetime of a key. + * + * @param lifetimeActions The {@link LifetimeAction actions} to set. + * + * @return The updated {@link KeyRotationPolicy} object. + */ + public KeyRotationPolicy setLifetimeActions(List lifetimeActions) { + this.lifetimeActions = lifetimeActions; + + return this; + } + + /** + * Get the {@link KeyRotationPolicyAttributes policy attributes}. + * + * @return The {@link KeyRotationPolicyAttributes policy attributes}. + */ + public KeyRotationPolicyAttributes getAttributes() { + return this.attributes; + } + + /** + * Set the {@link KeyRotationPolicyAttributes policy attributes}. + * + * @param attributes The {@link KeyRotationPolicyAttributes policy attributes} to set. + * + * @return The updated {@link KeyRotationPolicy} object. + */ + public KeyRotationPolicy setAttributes(KeyRotationPolicyAttributes attributes) { + this.attributes = attributes; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicyAttributes.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicyAttributes.java new file mode 100644 index 0000000000000..6f7177aa1adb9 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/KeyRotationPolicyAttributes.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The key rotation policy attributes. + */ +@Fluent +public final class KeyRotationPolicyAttributes { + @JsonProperty(value = "expiryTime") + private String expiryTime; + + @JsonProperty(value = "created", access = JsonProperty.Access.WRITE_ONLY) + private Long createdOn; + + @JsonProperty(value = "updated", access = JsonProperty.Access.WRITE_ONLY) + private Long updatedOn; + + /** + * Get the optional key expiration period used to define the duration after which a newly rotated key will expire. + * It should be defined as an ISO 8601 duration. For example, 90 days would be formatted as follows: "P90D", 3 + * months would be "P3M", 48 hours would be "PT48H" and 1 year and 10 days would be "P1Y10D". + * + * @return The expiry time in ISO 8601 format. + */ + public String getExpiryTime() { + return this.expiryTime; + } + + /** + * Set the optional key expiration period used to define the duration after which a newly rotated key will expire. + * It should be defined as an ISO 8601 duration. For example, 90 days would be formatted as follows: "P90D", 3 + * months would be "P3M", 48 hours would be "PT48H" and 1 year and 10 days would be "P1Y10D". + * + * @param expiryTime The expiry time to set in ISO 8601 format. + * + * @return The updated {@link KeyRotationPolicyAttributes} object. + */ + public KeyRotationPolicyAttributes setExpiryTime(String expiryTime) { + this.expiryTime = expiryTime; + + return this; + } + + /** + * Get the {@link KeyRotationPolicy policy's} created time in UTC. + * + * @return The {@link KeyRotationPolicy policy's} created time in UTC. + */ + public Long getCreatedOn() { + return this.createdOn; + } + + /** + * Get the {@link KeyRotationPolicy policy's} last updated time in UTC. + * + * @return The the {@link KeyRotationPolicy policy's} last updated time in UTC. + */ + public Long getUpdatedOn() { + return this.updatedOn; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeAction.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeAction.java new file mode 100644 index 0000000000000..a8b6ff58e3883 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeAction.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Represents an action that will be performed by Key Vault over the lifetime of a key. + */ +@Fluent +public final class LifetimeAction { + @JsonProperty(value = "trigger") + private LifetimeActionTrigger trigger; + + @JsonProperty(value = "action") + private LifetimeActionsType action; + + /** + * Get the {@link LifetimeActionTrigger action trigger}, the condition that will execute the action. + * + * @return The {@link LifetimeActionTrigger action trigger}. + */ + public LifetimeActionTrigger getTrigger() { + return this.trigger; + } + + /** + * Set the {@link LifetimeActionTrigger action trigger}, the condition that will execute the action. + * + * @param trigger The {@link LifetimeActionTrigger action trigger} to set. + * + * @return The updated {@link LifetimeAction} object. + */ + public LifetimeAction setTrigger(LifetimeActionTrigger trigger) { + this.trigger = trigger; + + return this; + } + + /** + * Get the type of the action that will be executed. + * + * @return The {@link LifetimeActionsType action type}. + */ + public LifetimeActionsType getAction() { + return this.action; + } + + /** + * Set the type of the action that will be executed. + * + * @param action The {@link LifetimeActionsType action type} to set. + * + * @return The updated {@link LifetimeAction} object. + */ + public LifetimeAction setAction(LifetimeActionsType action) { + this.action = action; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionTrigger.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionTrigger.java new file mode 100644 index 0000000000000..8eed4e2e22c42 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionTrigger.java @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * A condition to be satisfied for an action to be executed. + */ +@Fluent +public final class LifetimeActionTrigger { + @JsonProperty(value = "timeAfterCreate") + private String timeAfterCreate; + + @JsonProperty(value = "timeBeforeExpiry") + private String timeBeforeExpiry; + + /** + * Get the time after creation to attempt to rotate in ISO 8601 duration format. For example, 90 days is represented + * as follows: "P90D". + * + * @return The time after creation to attempt to rotate. + */ + public String getTimeAfterCreate() { + return this.timeAfterCreate; + } + + /** + * Set the time after creation to attempt to rotate in ISO 8601 duration format. For example, 90 days is represented + * as follows: "P90D". + * + * @param timeAfterCreate The time after creation to attempt to rotate. + * + * @return The updated {@link LifetimeActionTrigger} object. + */ + public LifetimeActionTrigger setTimeAfterCreate(String timeAfterCreate) { + this.timeAfterCreate = timeAfterCreate; + + return this; + } + + /** + * Get the time before expiry to attempt to rotate or notify in ISO 8601 duration format. For example, 90 days is + * represented as follows: "P90D". + * + * @return The time before expiry to attempt to rotate or notify. + */ + public String getTimeBeforeExpiry() { + return this.timeBeforeExpiry; + } + + /** + * Set the time before expiry to attempt to rotate or notify in ISO 8601 duration format. For example, 90 days is + * represented as follows: "P90D". + * + * @param timeBeforeExpiry The time before expiry to attempt to rotate or notify. + * + * @return The updated {@link LifetimeActionTrigger} object. + */ + public LifetimeActionTrigger setTimeBeforeExpiry(String timeBeforeExpiry) { + this.timeBeforeExpiry = timeBeforeExpiry; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionsType.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionsType.java new file mode 100644 index 0000000000000..e7a7eb5d75ea0 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/implementation/models/LifetimeActionsType.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyAction; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The type of the action that will be executed. + */ +@Fluent +public final class LifetimeActionsType { + @JsonProperty(value = "type") + private KeyRotationPolicyAction type; + + /** + * Get the {@link KeyRotationPolicyAction type} of the action. + * + * @return The {@link KeyRotationPolicyAction type} of the action. + */ + public KeyRotationPolicyAction getType() { + return this.type; + } + + /** + * Set the {@link KeyRotationPolicyAction type} of the action. + * + * @param type The {@link KeyRotationPolicyAction type} to set. + * + * @return The updated {@link LifetimeActionsType} object. + */ + public LifetimeActionsType setType(KeyRotationPolicyAction type) { + this.type = type; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationLifetimeAction.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationLifetimeAction.java new file mode 100644 index 0000000000000..13fe455f60fdf --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationLifetimeAction.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.models; + +import com.azure.core.annotation.Fluent; + +/** + * Represents an action that will be performed by Key Vault over the lifetime of a key. + */ +@Fluent +public final class KeyRotationLifetimeAction { + private final KeyRotationPolicyAction type; + private String timeAfterCreate; + private String timeBeforeExpiry; + + /** + * Creates a {@link KeyRotationLifetimeAction}. + * + * @param type The {@link KeyRotationPolicyAction type} of the action. + */ + public KeyRotationLifetimeAction(KeyRotationPolicyAction type) { + this.type = type; + } + + /** + * Get the {@link KeyRotationPolicyAction type} of the action. + * + * @return The {@link KeyRotationPolicyAction type} of the action. + */ + public KeyRotationPolicyAction getType() { + return this.type; + } + + /** + * Get the time after creation to attempt to rotate in ISO 8601 duration format. For example, 90 days is represented + * as follows: "P90D". + * + * @return The time after creation to attempt to rotate. + */ + public String getTimeAfterCreate() { + return this.timeAfterCreate; + } + + /** + * Set the time after creation to attempt to rotate in ISO 8601 duration format. For example, 90 days is represented + * as follows: "P90D". + * + * @param timeAfterCreate The time after creation to attempt to rotate. + * + * @return The updated {@link KeyRotationLifetimeAction} object. + */ + public KeyRotationLifetimeAction setTimeAfterCreate(String timeAfterCreate) { + this.timeAfterCreate = timeAfterCreate; + + return this; + } + + /** + * Get the time before expiry to attempt to rotate or notify in ISO 8601 duration format. For example, 90 days is + * represented as follows: "P90D". + * + * @return The time before expiry to attempt to rotate or notify. + */ + public String getTimeBeforeExpiry() { + return this.timeBeforeExpiry; + } + + /** + * Set the time before expiry to attempt to rotate or notify in ISO 8601 duration format. For example, 90 days is + * represented as follows: "P90D". + * + * @param timeBeforeExpiry The time before expiry to attempt to rotate or notify. + * + * @return The updated {@link KeyRotationLifetimeAction} object. + */ + public KeyRotationLifetimeAction setTimeBeforeExpiry(String timeBeforeExpiry) { + this.timeBeforeExpiry = timeBeforeExpiry; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicy.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicy.java new file mode 100644 index 0000000000000..1ce43384926de --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicy.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.models; + +import com.azure.core.annotation.Immutable; + +import java.time.OffsetDateTime; +import java.util.List; + +/** + * The complete key rotation policy that belongs to a key. + */ +@Immutable +public final class KeyRotationPolicy extends KeyRotationPolicyProperties { + private final String id; + private final OffsetDateTime createdOn; + private final OffsetDateTime updatedOn; + + /** + * Creates an instance of {@link KeyRotationPolicy}. + * + * @param id The identifier of the {@link KeyRotationPolicy policy}. + * @param createdOn The {@link KeyRotationPolicy policy's} created time in UTC. + * @param updatedOn The {@link KeyRotationPolicy policy's} last updated time in UTC. + */ + public KeyRotationPolicy(String id, OffsetDateTime createdOn, OffsetDateTime updatedOn) { + this.id = id; + this.createdOn = createdOn; + this.updatedOn = updatedOn; + } + + /** + * Get the identifier of the {@link KeyRotationPolicy policy}. + * + *

May be undefined if a {@link KeyRotationPolicy policy} has not been explicitly set.

+ * + * @return The identifier of the {@link KeyRotationPolicy policy}. + */ + public String getId() { + return this.id; + } + + /** + * Get the {@link KeyRotationPolicy policy's} created time in UTC. + * + *

May be undefined if a {@link KeyRotationPolicy policy} has not been explicitly set.

+ * + * @return The {@link KeyRotationPolicy policy's} created time in UTC. + */ + public OffsetDateTime getCreatedOn() { + return this.createdOn; + } + + /** + * Get the {@link KeyRotationPolicy policy's} last updated time in UTC. + * + *

May be undefined if a {@link KeyRotationPolicy policy} has not been explicitly set.

+ * + * @return The {@link KeyRotationPolicy policy's} last updated time in UTC. + */ + public OffsetDateTime getUpdatedOn() { + return this.updatedOn; + } + + /** + * Set the optional key expiration period used to define the duration after which a newly rotated key will expire. + * It should be defined as an ISO 8601 duration. For example, 90 days would be formatted as follows: "P90D", 3 + * months would be "P3M", 48 hours would be "PT48H" and 1 year and 10 days would be "P1Y10D". + * + * @param expiryTime The expiry time to set in ISO 8601 format. + * + * @return The updated {@link KeyRotationPolicy} object. + */ + public KeyRotationPolicy setExpiryTime(String expiryTime) { + this.expiryTime = expiryTime; + + return this; + } + + /** + * Set the actions that will be performed by Key Vault over the lifetime of a key. + * + *

You may also pass an empty array to restore to its default values.

+ * + * @param keyRotationLifetimeActions The {@link KeyRotationLifetimeAction actions} to set. + * + * @return The updated {@link KeyRotationPolicy} object. + */ + public KeyRotationPolicy setLifetimeActions(List keyRotationLifetimeActions) { + this.keyRotationLifetimeActions = keyRotationLifetimeActions; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyAction.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyAction.java new file mode 100644 index 0000000000000..837eee0c34927 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyAction.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.models; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Defines the types of key rotation policy actions that can be executed. + */ +public enum KeyRotationPolicyAction { + ROTATE("rotate"), + NOTIFY("notify"); + + /** + * The serialized value for a {@link KeyRotationPolicyAction} instance. + */ + private final String value; + + KeyRotationPolicyAction(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a {@link KeyRotationPolicyAction} instance. + * + * @param value The serialized value to parse. + * @return The parsed {@link KeyRotationPolicyAction} object, or {@code null} if unable to parse. + */ + @JsonCreator + public static KeyRotationPolicyAction fromString(String value) { + KeyRotationPolicyAction[] items = KeyRotationPolicyAction.values(); + + for (KeyRotationPolicyAction item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyProperties.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyProperties.java new file mode 100644 index 0000000000000..13381f002fa30 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/models/KeyRotationPolicyProperties.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.keys.models; + +import com.azure.core.annotation.Fluent; + +import java.util.List; + +/** + * The properties of a key rotation policy that the client can set for a given key. + * + * You may also reset the key rotation policy to its default values by setting {@code lifetimeActions} to an empty + * array. + * + * @see KeyRotationPolicy + */ +@Fluent +public class KeyRotationPolicyProperties { + protected String expiryTime; + protected List keyRotationLifetimeActions; + + /** + * Get the optional key expiration period used to define the duration after which a newly rotated key will expire. + * It should be defined as an ISO 8601 duration. For example, 90 days would be formatted as follows: "P90D", 3 + * months would be "P3M", 48 hours would be "PT48H" and 1 year and 10 days would be "P1Y10D". + * + * @return The expiry time in ISO 8601 format. + */ + public String getExpiryTime() { + return this.expiryTime; + } + + /** + * Set the optional key expiration period used to define the duration after which a newly rotated key will expire. + * It should be defined as an ISO 8601 duration. For example, 90 days would be formatted as follows: "P90D", 3 + * months would be "P3M", 48 hours would be "PT48H" and 1 year and 10 days would be "P1Y10D". + * + * @param expiryTime The expiry time to set in ISO 8601 format. + * + * @return The updated {@link KeyRotationPolicyProperties} object. + */ + public KeyRotationPolicyProperties setExpiryTime(String expiryTime) { + this.expiryTime = expiryTime; + + return this; + } + + /** + * Get the actions that will be performed by Key Vault over the lifetime of a key. + * + *

You may also pass an empty array to restore to its default values.

+ * + * @return The {@link KeyRotationLifetimeAction actions} in this {@link KeyRotationPolicyProperties policy}. + */ + public List getLifetimeActions() { + return this.keyRotationLifetimeActions; + } + + /** + * Set the actions that will be performed by Key Vault over the lifetime of a key. + * + *

You may also pass an empty array to restore to its default values.

+ * + * @param keyRotationLifetimeActions The {@link KeyRotationLifetimeAction actions} to set. + * + * @return The updated {@link KeyRotationPolicyProperties} object. + */ + public KeyRotationPolicyProperties setLifetimeActions(List keyRotationLifetimeActions) { + this.keyRotationLifetimeActions = keyRotationLifetimeActions; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyAsyncClientJavaDocCodeSnippets.java b/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyAsyncClientJavaDocCodeSnippets.java index c9a56623bc66c..f996dbd19fa32 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyAsyncClientJavaDocCodeSnippets.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyAsyncClientJavaDocCodeSnippets.java @@ -3,15 +3,14 @@ package com.azure.security.keyvault.keys; -import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.RetryPolicy; -import com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy; import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy; import com.azure.security.keyvault.keys.models.CreateEcKeyOptions; import com.azure.security.keyvault.keys.models.CreateKeyOptions; import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; @@ -19,51 +18,54 @@ import com.azure.security.keyvault.keys.models.ImportKeyOptions; import com.azure.security.keyvault.keys.models.JsonWebKey; import com.azure.security.keyvault.keys.models.KeyCurveName; +import com.azure.security.keyvault.keys.models.KeyExportEncryptionAlgorithm; import com.azure.security.keyvault.keys.models.KeyOperation; import com.azure.security.keyvault.keys.models.KeyProperties; +import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyProperties; import com.azure.security.keyvault.keys.models.KeyType; +import com.azure.security.keyvault.keys.models.ReleaseKeyOptions; import reactor.util.context.Context; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; /** - * This class contains code samples for generating javadocs through doclets for {@link KeyAsyncClient} + * This class contains code samples for generating javadocs through doclets for {@link KeyAsyncClient}. */ public final class KeyAsyncClientJavaDocCodeSnippets { - - private String key1 = "key1"; - private String key2 = "key2"; - private String value1 = "val1"; - private String value2 = "val2"; - /** - * Generates code sample for creating a {@link KeyAsyncClient} - * @return An instance of {@link KeyAsyncClient} + * Generates code sample for creating a {@link KeyAsyncClient}. + * + * @return An instance of {@link KeyAsyncClient}. */ - public KeyAsyncClient createAsyncClientWithHttpClient() { - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.withhttpclient.instantiation + public KeyAsyncClient createAsyncClient() { + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation KeyAsyncClient keyAsyncClient = new KeyClientBuilder() .vaultUrl("https://myvault.azure.net/") .credential(new DefaultAzureCredentialBuilder().build()) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) - .httpClient(HttpClient.createDefault()) .buildAsyncClient(); - // END: com.azure.security.keyvault.keys.async.keyclient.withhttpclient.instantiation + // END: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation return keyAsyncClient; } /** - * Generates code sample for creating a {@link KeyAsyncClient} - * @return An instance of {@link KeyAsyncClient} + * Generates code sample for creating a {@link KeyAsyncClient} using a custom {@link HttpClient}. + * + * @return An instance of {@link KeyAsyncClient}. */ - public KeyAsyncClient createAsyncClient() { - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.instantiation + public KeyAsyncClient createAsyncClientWithHttpClient() { + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpClient KeyAsyncClient keyAsyncClient = new KeyClientBuilder() .vaultUrl("https://myvault.azure.net/") .credential(new DefaultAzureCredentialBuilder().build()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) + .httpClient(HttpClient.createDefault()) .buildAsyncClient(); - // END: com.azure.security.keyvault.keys.async.keyclient.instantiation + // END: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpClient return keyAsyncClient; } @@ -72,7 +74,7 @@ public KeyAsyncClient createAsyncClient() { * @return An instance of {@link KeyAsyncClient} */ public KeyAsyncClient createAsyncClientWithPipeline() { - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.pipeline.instantiation + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpPipeline HttpPipeline pipeline = new HttpPipelineBuilder() .policies(new KeyVaultCredentialPolicy(new DefaultAzureCredentialBuilder().build()), new RetryPolicy()) .build(); @@ -80,422 +82,429 @@ public KeyAsyncClient createAsyncClientWithPipeline() { .pipeline(pipeline) .vaultUrl("https://myvault.azure.net/") .buildAsyncClient(); - // END: com.azure.security.keyvault.keys.async.keyclient.pipeline.instantiation + // END: com.azure.security.keyvault.keys.KeyAsyncClient.instantiation.withHttpPipeline return keyAsyncClient; } - /** - * Generates a code sample for using {@link KeyAsyncClient#createKey(String, KeyType)} + * Generates code samples for using {@link KeyAsyncClient#createKey(String, KeyType)}, + * {@link KeyAsyncClient#createKey(CreateKeyOptions)}, + * {@link KeyAsyncClient#createRsaKey(CreateRsaKeyOptions)}, + * {@link KeyAsyncClient#createEcKey(CreateEcKeyOptions)} and + * {@link KeyAsyncClient#createOctKey(CreateOctKeyOptions)}. */ public void createKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createKey#string-keyType + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createKey#String-KeyType keyAsyncClient.createKey("keyName", KeyType.EC) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createKey#string-keyType + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(key -> + System.out.printf("Created key with name: %s and id: %s %n", key.getName(), + key.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createKey#String-KeyType - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createKey#keyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createKey#CreateKeyOptions CreateKeyOptions createKeyOptions = new CreateKeyOptions("keyName", KeyType.RSA) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createKey(createKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createKey#keyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(key -> + System.out.printf("Created key with name: %s and id: %s %n", key.getName(), + key.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createKey#CreateKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createRsaKey#RsaKeyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKey#CreateRsaKeyOptions CreateRsaKeyOptions createRsaKeyOptions = new CreateRsaKeyOptions("keyName") .setKeySize(2048) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createRsaKey(createRsaKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createRsaKey#RsaKeyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(rsaKey -> + System.out.printf("Created key with name: %s and id: %s %n", rsaKey.getName(), + rsaKey.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKey#CreateRsaKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createEcKey#EcKeyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createEcKey#CreateEcKeyOptions CreateEcKeyOptions createEcKeyOptions = new CreateEcKeyOptions("keyName") .setCurveName(KeyCurveName.P_384) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createEcKey(createEcKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createEcKey#EcKeyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(ecKey -> + System.out.printf("Created key with name: %s and id: %s %n", ecKey.getName(), + ecKey.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createEcKey#CreateEcKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKey#CreateOctKeyOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createOctKey#CreateOctKeyOptions CreateOctKeyOptions createOctKeyOptions = new CreateOctKeyOptions("keyName") .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); - keyAsyncClient.createOctKey(createOctKeyOptions) - .contextWrite(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKey#CreateOctKeyOptions - } - /** - * Generates a code sample for using {@link KeyAsyncClient#beginDeleteKey(String)}. - */ - public void deleteKeySnippets() { - KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.deleteKey#String - keyAsyncClient.beginDeleteKey("keyName") - .subscribe(pollResponse -> { - System.out.println("Delete Status: " + pollResponse.getStatus().toString()); - System.out.println("Delete Key Name: " + pollResponse.getValue().getName()); - System.out.println("Key Delete Date: " + pollResponse.getValue().getDeletedOn().toString()); - }); - // END: com.azure.security.keyvault.keys.async.keyclient.deleteKey#String + keyAsyncClient.createOctKey(createOctKeyOptions) + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(octKey -> + System.out.printf("Created key with name: %s and id: %s %n", octKey.getName(), + octKey.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createOctKey#CreateOctKeyOptions } /** - * Generates a code sample for using {@link KeyAsyncClient#importKey(String, JsonWebKey)} + * Generates code samples for using {@link KeyAsyncClient#importKey(String, JsonWebKey)}, + * {@link KeyAsyncClient#importKey(ImportKeyOptions)} and + * {@link KeyAsyncClient#importKeyWithResponse(ImportKeyOptions)}. */ - public void importKeySnippets() { + public void importKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); JsonWebKey jsonWebKeyToImport = new JsonWebKey(); - // BEGIN: com.azure.security.keyvault.keys.keyasyncclient.importKey#string-jsonwebkey - keyAsyncClient.importKey("keyName", jsonWebKeyToImport).subscribe(keyResponse -> - System.out.printf("Key is imported with name %s and id %s \n", keyResponse.getName(), keyResponse.getId())); - // END: com.azure.security.keyvault.keys.keyasyncclient.importKey#string-jsonwebkey - - // BEGIN: com.azure.security.keyvault.keys.keyasyncclient.importKey#options + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.importKey#String-JsonWebKey + keyAsyncClient.importKey("keyName", jsonWebKeyToImport) + .subscribe(keyVaultKey -> + System.out.printf("Imported key with name: %s and id: %s%n", keyVaultKey.getName(), + keyVaultKey.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.importKey#String-JsonWebKey + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.importKey#ImportKeyOptions ImportKeyOptions options = new ImportKeyOptions("keyName", jsonWebKeyToImport) .setHardwareProtected(false); - keyAsyncClient.importKey(options).subscribe(keyResponse -> - System.out.printf("Key is imported with name %s and id %s \n", keyResponse.getName(), keyResponse.getId())); - // END: com.azure.security.keyvault.keys.keyasyncclient.importKey#options - // BEGIN: com.azure.security.keyvault.keys.keyasyncclient.importKeyWithResponse#options-response + keyAsyncClient.importKey(options).subscribe(keyVaultKey -> + System.out.printf("Imported key with name: %s and id: %s%n", keyVaultKey.getName(), keyVaultKey.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.importKey#ImportKeyOptions + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.importKeyWithResponse#ImportKeyOptions ImportKeyOptions importKeyOptions = new ImportKeyOptions("keyName", jsonWebKeyToImport) .setHardwareProtected(false); - keyAsyncClient.importKeyWithResponse(importKeyOptions).subscribe(keyResponse -> - System.out.printf("Key is imported with name %s and id %s \n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.keyasyncclient.importKeyWithResponse#options-response + + keyAsyncClient.importKeyWithResponse(importKeyOptions).subscribe(response -> + System.out.printf("Imported key with name: %s and id: %s%n", response.getValue().getName(), + response.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.importKeyWithResponse#ImportKeyOptions } /** - * Generates a code sample for using {@link KeyAsyncClient#getDeletedKey(String)} + * Generates a code sample for using {@link KeyAsyncClient#beginDeleteKey(String)}. */ - public void getDeletedKeySnippets() { + public void beginDeleteKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.getDeletedKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.deleteKey#String + keyAsyncClient.beginDeleteKey("keyName") + .subscribe(pollResponse -> { + System.out.printf("Deletion status: %s%n", pollResponse.getStatus()); + System.out.printf("Key name: %s%n", pollResponse.getValue().getName()); + System.out.printf("Key delete date: %s%n", pollResponse.getValue().getDeletedOn()); + }); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.deleteKey#String + } + + /** + * Generates a code sample for using {@link KeyAsyncClient#getDeletedKey(String)}. + */ + public void getDeletedKey() { + KeyAsyncClient keyAsyncClient = createAsyncClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKey#String keyAsyncClient.getDeletedKey("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Deleted Key's Recovery Id %s", keyResponse.getRecoveryId())); - // END: com.azure.security.keyvault.keys.async.keyclient.getDeletedKey#string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(deletedKey -> + System.out.printf("Deleted key's recovery id:%s%n", deletedKey.getRecoveryId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKey#String } /** - * Generates a code sample for using {@link KeyAsyncClient#createKeyWithResponse(CreateKeyOptions)} + * Generates a code sample for using {@link KeyAsyncClient#createKeyWithResponse(CreateKeyOptions)}, + * {@link KeyAsyncClient#createRsaKeyWithResponse(CreateRsaKeyOptions)}, + * {@link KeyAsyncClient#createEcKeyWithResponse(CreateEcKeyOptions)} and + * {@link KeyAsyncClient#createOctKeyWithResponse(CreateOctKeyOptions)}. */ - public void createKeyWithResponses() { + public void createKeyWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createKeyWithResponse#keyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createKeyWithResponse#CreateKeyOptions CreateKeyOptions createKeyOptions = new CreateKeyOptions("keyName", KeyType.RSA) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createKeyWithResponse(createKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createKeyWithResponse#keyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(createKeyResponse -> + System.out.printf("Created key with name: %s and: id %s%n", createKeyResponse.getValue().getName(), + createKeyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createKeyWithResponse#CreateKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createRsaKeyWithResponse#RsaKeyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKeyWithResponse#CreateRsaKeyOptions CreateRsaKeyOptions createRsaKeyOptions = new CreateRsaKeyOptions("keyName") .setKeySize(2048) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createRsaKeyWithResponse(createRsaKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createRsaKeyWithResponse#RsaKeyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(createRsaKeyResponse -> + System.out.printf("Created key with name: %s and: id %s%n", createRsaKeyResponse.getValue().getName(), + createRsaKeyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createRsaKeyWithResponse#CreateRsaKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.createEcKeyWithResponse#EcKeyCreateOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createEcKeyWithResponse#CreateEcKeyOptions CreateEcKeyOptions createEcKeyOptions = new CreateEcKeyOptions("keyName") .setCurveName(KeyCurveName.P_384) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createEcKeyWithResponse(createEcKeyOptions) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.createEcKeyWithResponse#EcKeyCreateOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(createEcKeyResponse -> + System.out.printf("Created key with name: %s and: id %s%n", createEcKeyResponse.getValue().getName(), + createEcKeyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createEcKeyWithResponse#CreateEcKeyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions CreateOctKeyOptions createOctKeyOptions = new CreateOctKeyOptions("keyName") .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); + keyAsyncClient.createOctKeyWithResponse(createOctKeyOptions) - .contextWrite(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(createOctKeyResponse -> + System.out.printf("Created key with name: %s and: id %s%n", createOctKeyResponse.getValue().getName(), + createOctKeyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.createOctKeyWithResponse#CreateOctKeyOptions } /** - * Generates a code sample for using {@link KeyAsyncClient#getKeyWithResponse(String, String)} + * Generates a code sample for using {@link KeyAsyncClient#getKeyWithResponse(String, String)}. */ - public void getKeyWithResponseSnippets() { + public void getKeyWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.getKeyWithResponse#string-string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyWithResponse#String-String String keyVersion = "6A385B124DEF4096AF1361A85B16C204"; + keyAsyncClient.getKeyWithResponse("keyName", keyVersion) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", - keyResponse.getValue().getName(), keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.getKeyWithResponse#string-string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(getKeyResponse -> + System.out.printf("Created key with name: %s and: id %s%n", + getKeyResponse.getValue().getName(), getKeyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyWithResponse#String-String } /** - * Generates a code sample for using {@link KeyAsyncClient#getKey(String, String)} + * Generates a code sample for using {@link KeyAsyncClient#getKey(String, String)}. */ - public void getKeySnippets() { + public void getKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.getKey#string-string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String + keyAsyncClient.getKey("keyName") + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(key -> + System.out.printf("Created key with name: %s and: id %s%n", key.getName(), + key.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String-String String keyVersion = "6A385B124DEF4096AF1361A85B16C204"; - keyAsyncClient.getKey("keyName", keyVersion) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.getKey#string-string - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.getKey#string - keyAsyncClient.getKey("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Key is created with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.getKey#string + keyAsyncClient.getKey("keyName", keyVersion) + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(key -> + System.out.printf("Created key with name: %s and: id %s%n", key.getName(), + key.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getKey#String-String } /** - * Generates a code sample for using {@link KeyAsyncClient#updateKeyPropertiesWithResponse(KeyProperties, KeyOperation...)} + * Generates a code sample for using + * {@link KeyAsyncClient#updateKeyPropertiesWithResponse(KeyProperties, KeyOperation...)}. */ - public void updateKeyWithResponseSnippets() { + public void updateKeyPropertiesWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyPropertiesWithResponse#KeyProperties-KeyOperation keyAsyncClient.getKey("keyName") - .subscribe(keyResponse -> { + .subscribe(getKeyResponse -> { //Update the not before time of the key. - keyResponse.getProperties().setNotBefore(OffsetDateTime.now().plusDays(50)); - keyAsyncClient.updateKeyPropertiesWithResponse(keyResponse.getProperties(), KeyOperation.ENCRYPT, - KeyOperation.DECRYPT) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(updatedKeyResponse -> - System.out.printf("Key's updated not before time %s %n", - updatedKeyResponse.getValue().getProperties().getNotBefore().toString())); + getKeyResponse.getProperties().setNotBefore(OffsetDateTime.now().plusDays(50)); + keyAsyncClient.updateKeyPropertiesWithResponse(getKeyResponse.getProperties(), KeyOperation.ENCRYPT, + KeyOperation.DECRYPT) + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(updateKeyResponse -> + System.out.printf("Updated key's \"not before time\": %s%n", + updateKeyResponse.getValue().getProperties().getNotBefore().toString())); }); - // END: com.azure.security.keyvault.keys.async.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations + // END: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyPropertiesWithResponse#KeyProperties-KeyOperation } /** - * Generates a code sample for using {@link KeyAsyncClient#updateKeyProperties(KeyProperties, KeyOperation...)} + * Generates a code sample for using {@link KeyAsyncClient#updateKeyProperties(KeyProperties, KeyOperation...)}. */ - public void updateKeySnippets() { + public void updateKeyProperties() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.updateKeyProperties#KeyProperties-keyOperations - keyAsyncClient.getKey("keyName") - .subscribe(keyResponse -> { - //Update the not before time of the key. - keyResponse.getProperties().setNotBefore(OffsetDateTime.now().plusDays(50)); - keyAsyncClient.updateKeyProperties(keyResponse.getProperties(), KeyOperation.ENCRYPT, - KeyOperation.DECRYPT) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(updatedKeyResponse -> - System.out.printf("Key's updated not before time %s %n", - updatedKeyResponse.getProperties().getNotBefore().toString())); - }); - // END: com.azure.security.keyvault.keys.async.keyclient.updateKeyProperties#KeyProperties-keyOperations - - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.updateKeyProperties#KeyProperties + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyProperties#KeyProperties-KeyOperation keyAsyncClient.getKey("keyName") - .subscribe(keyResponse -> { + .subscribe(key -> { //Update the not before time of the key. - keyResponse.getProperties().setNotBefore(OffsetDateTime.now().plusDays(50)); - keyAsyncClient.updateKeyProperties(keyResponse.getProperties()) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(updatedKeyResponse -> - System.out.printf("Key's updated not before time %s %n", - updatedKeyResponse.getProperties().getNotBefore().toString())); + key.getProperties().setNotBefore(OffsetDateTime.now().plusDays(50)); + keyAsyncClient.updateKeyProperties(key.getProperties(), KeyOperation.ENCRYPT, + KeyOperation.DECRYPT) + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(updatedKey -> + System.out.printf("Updated key's \"not before time\": %s%n", + updatedKey.getProperties().getNotBefore().toString())); }); - // END: com.azure.security.keyvault.keys.async.keyclient.updateKeyProperties#KeyProperties + // END: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyProperties#KeyProperties-KeyOperation } /** - * Generates a code sample for using {@link KeyAsyncClient#getDeletedKeyWithResponse(String)} + * Generates a code sample for using {@link KeyAsyncClient#getDeletedKeyWithResponse(String)}. */ - public void getDeleteKeyWithResponseSnippets() { + public void getDeletedKeyWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.getDeletedKeyWithResponse#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKeyWithResponse#String keyAsyncClient.getDeletedKeyWithResponse("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(deletedKeyResponse -> - System.out.printf("Deleted Key's Recovery Id %s", deletedKeyResponse.getValue().getRecoveryId())); - // END: com.azure.security.keyvault.keys.async.keyclient.getDeletedKeyWithResponse#string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(getDeletedKeyResponse -> + System.out.printf("Deleted key's recovery id: %s%n", getDeletedKeyResponse.getValue().getRecoveryId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getDeletedKeyWithResponse#String } /** - * Generates a code sample for using {@link KeyAsyncClient#purgeDeletedKey(String)} + * Generates a code sample for using {@link KeyAsyncClient#purgeDeletedKey(String)}. */ - public void purgeDeletedKeySnippets() { + public void purgeDeletedKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKey#String keyAsyncClient.purgeDeletedKey("deletedKeyName") - .subscribe(purgeResponse -> - System.out.println("Successfully Purged deleted Key")); - // END: com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKey#string + .subscribe(ignored -> + System.out.println("Successfully purged deleted key")); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKey#String } /** - * Generates a code sample for using {@link KeyAsyncClient#purgeDeletedKeyWithResponse(String)} + * Generates a code sample for using {@link KeyAsyncClient#purgeDeletedKeyWithResponse(String)}. */ - public void purgeDeletedKeyWithResponseSnippets() { + public void purgeDeletedKeyWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKeyWithResponse#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKeyWithResponse#String keyAsyncClient.purgeDeletedKeyWithResponse("deletedKeyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(purgeResponse -> - System.out.printf("Purge Status response %d %n", purgeResponse.getStatusCode())); - // END: com.azure.security.keyvault.keys.async.keyclient.purgeDeletedKeyWithResponse#string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(purgeDeletedKeyResponse -> + System.out.printf("Purge response status code: %d%n", purgeDeletedKeyResponse.getStatusCode())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.purgeDeletedKeyWithResponse#String } /** * Generates a code sample for using {@link KeyAsyncClient#beginRecoverDeletedKey(String)}. */ - public void recoverDeletedKeySnippets() { + public void beginRecoverDeletedKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.recoverDeletedKey#String + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.recoverDeletedKey#String keyAsyncClient.beginRecoverDeletedKey("deletedKeyName") .subscribe(pollResponse -> { - System.out.println("Recovery Status: " + pollResponse.getStatus().toString()); - System.out.println("Recover Key Name: " + pollResponse.getValue().getName()); - System.out.println("Recover Key Type: " + pollResponse.getValue().getKeyType()); + System.out.printf("Recovery status: %s%n", pollResponse.getStatus()); + System.out.printf("Key name: %s%n", pollResponse.getValue().getName()); + System.out.printf("Key type: %s%n", pollResponse.getValue().getKeyType()); }); - // END: com.azure.security.keyvault.keys.async.keyclient.recoverDeletedKey#String + // END: com.azure.security.keyvault.keys.KeyAsyncClient.recoverDeletedKey#String } /** - * Generates a code sample for using {@link KeyAsyncClient#backupKey(String)} + * Generates a code sample for using {@link KeyAsyncClient#backupKey(String)}. */ - public void backupKeySnippets() { + public void backupKey() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.backupKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.backupKey#String keyAsyncClient.backupKey("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyBackupResponse -> - System.out.printf("Key's Backup Byte array's length %s %n", keyBackupResponse.length)); - // END: com.azure.security.keyvault.keys.async.keyclient.backupKey#string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(bytes -> + System.out.printf("Key backup byte array length: %s%n", bytes.length)); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.backupKey#String } /** - * Generates a code sample for using {@link KeyAsyncClient#backupKeyWithResponse(String)} + * Generates a code sample for using {@link KeyAsyncClient#backupKeyWithResponse(String)}. */ - public void backupKeyWithResponseSnippets() { + public void backupKeyWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.backupKeyWithResponse#string + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.backupKeyWithResponse#String keyAsyncClient.backupKeyWithResponse("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyBackupResponse -> - System.out.printf("Key's Backup Byte array's length %s %n", keyBackupResponse.getValue().length)); - // END: com.azure.security.keyvault.keys.async.keyclient.backupKeyWithResponse#string + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(backupKeyResponse -> + System.out.printf("Key backup byte array length: %s%n", backupKeyResponse.getValue().length)); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.backupKeyWithResponse#String } /** - * Generates a code sample for using {@link KeyAsyncClient#restoreKeyBackup} + * Generates a code sample for using {@link KeyAsyncClient#restoreKeyBackup}. */ - public void restoreKeySnippets() { + public void restoreKeyBackup() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackup#byte byte[] keyBackupByteArray = {}; + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackup#byte keyAsyncClient.restoreKeyBackup(keyBackupByteArray) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Restored Key with name %s and id %s %n", keyResponse.getName(), - keyResponse.getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackup#byte + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(restoreKeyResponse -> + System.out.printf("Restored key with name: %s and: id %s%n", restoreKeyResponse.getName(), + restoreKeyResponse.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackup#byte } /** - * Generates a code sample for using {@link KeyAsyncClient#restoreKeyBackupWithResponse(byte[])} + * Generates a code sample for using {@link KeyAsyncClient#restoreKeyBackupWithResponse(byte[])}. */ - public void restoreKeyWithResponseSnippets() { + public void restoreKeyBackupWithResponse() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackupWithResponse#byte byte[] keyBackupByteArray = {}; + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackupWithResponse#byte keyAsyncClient.restoreKeyBackupWithResponse(keyBackupByteArray) - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyResponse -> - System.out.printf("Restored Key with name %s and id %s %n", keyResponse.getValue().getName(), - keyResponse.getValue().getId())); - // END: com.azure.security.keyvault.keys.async.keyclient.restoreKeyBackupWithResponse#byte + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(restoreKeyBackupResponse -> + System.out.printf("Restored key with name: %s and: id %s%n", + restoreKeyBackupResponse.getValue().getName(), restoreKeyBackupResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.restoreKeyBackupWithResponse#byte } /** - * Generates a code sample for using {@link KeyAsyncClient#listPropertiesOfKeys} + * Generates a code sample for using {@link KeyAsyncClient#listPropertiesOfKeys}. */ - public void listKeySnippets() { + public void listPropertiesOfKeys() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.listKeys + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.listPropertiesOfKeys keyAsyncClient.listPropertiesOfKeys() - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyProperties -> keyAsyncClient.getKey(keyProperties.getName(), keyProperties.getVersion()) - .subscribe(keyResponse -> System.out.printf("Received key with name %s and type %s", - keyResponse.getName(), - keyResponse.getKeyType()))); - // END: com.azure.security.keyvault.keys.async.keyclient.listKeys + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .flatMap(keyProperties -> keyAsyncClient.getKey(keyProperties.getName(), keyProperties.getVersion())) + .subscribe(key -> System.out.printf("Retrieved key with name: %s and type: %s%n", + key.getName(), + key.getKeyType())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.listPropertiesOfKeys } /** - * Generates a code sample for using {@link KeyAsyncClient#listDeletedKeys} + * Generates a code sample for using {@link KeyAsyncClient#listDeletedKeys()}. */ - public void listDeletedKeysSnippets() { + public void listDeletedKeys() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.listDeletedKeys + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.listDeletedKeys keyAsyncClient.listDeletedKeys() - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(deletedKey -> System.out.printf("Deleted key's recovery Id %s", deletedKey.getRecoveryId())); - // END: com.azure.security.keyvault.keys.async.keyclient.listDeletedKeys + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .subscribe(deletedKey -> + System.out.printf("Deleted key's recovery id:%s%n", deletedKey.getRecoveryId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.listDeletedKeys } /** - * Generates code sample for using {@link KeyAsyncClient#listPropertiesOfKeyVersions(String)} + * Generates code sample for using {@link KeyAsyncClient#listPropertiesOfKeyVersions(String)}. */ - public void listKeyVersions() { + public void listPropertiesOfKeyVersions() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.async.keyclient.listKeyVersions + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.listKeyVersions keyAsyncClient.listPropertiesOfKeyVersions("keyName") - .subscriberContext(Context.of(key1, value1, key2, value2)) - .subscribe(keyProperties -> keyAsyncClient.getKey(keyProperties.getName(), keyProperties.getVersion()) - .subscribe(keyResponse -> - System.out.printf("Received key's version with name %s, type %s and version %s", - keyResponse.getName(), - keyResponse.getKeyType(), keyResponse.getProperties().getVersion()))); - // END: com.azure.security.keyvault.keys.async.keyclient.listKeyVersions + .contextWrite(Context.of("key1", "value1", "key2", "value2")) + .flatMap(keyProperties -> keyAsyncClient.getKey(keyProperties.getName(), keyProperties.getVersion())) + .subscribe(key -> + System.out.printf("Retrieved key version: %s with name: %s and type: %s%n", + key.getProperties().getVersion(), key.getName(), key.getKeyType())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.listKeyVersions } /** @@ -504,7 +513,6 @@ public void listKeyVersions() { */ public void getRandomBytes() { KeyAsyncClient keyAsyncClient = createAsyncClient(); - // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getRandomBytes#int int amount = 16; keyAsyncClient.getRandomBytes(amount) @@ -521,10 +529,136 @@ public void getRandomBytes() { } /** - * Implementation not provided for this method - * @return {@code null} + * Generates code samples for using {@link KeyAsyncClient#releaseKey(String, String)}, + * {@link KeyAsyncClient#releaseKey(String, String, String)} and + * {@link KeyAsyncClient#releaseKeyWithResponse(String, String, String, ReleaseKeyOptions)}. + */ + public void releaseKey() { + KeyAsyncClient keyAsyncClient = createAsyncClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKey#String-String + String target = "someAttestationToken"; + + keyAsyncClient.releaseKey("keyName", target) + .subscribe(releaseKeyResult -> + System.out.printf("Signed object containing released key: %s%n", releaseKeyResult.getValue())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKey#String-String + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKey#String-String-String + String myKeyVersion = "6A385B124DEF4096AF1361A85B16C204"; + String myTarget = "someAttestationToken"; + + keyAsyncClient.releaseKey("keyName", myKeyVersion, myTarget) + .subscribe(releaseKeyResult -> + System.out.printf("Signed object containing released key: %s%n", releaseKeyResult.getValue())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKey#String-String-String + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions + String releaseKeyVersion = "6A385B124DEF4096AF1361A85B16C204"; + String releaseTarget = "someAttestationToken"; + ReleaseKeyOptions releaseKeyOptions = new ReleaseKeyOptions() + .setAlgorithm(KeyExportEncryptionAlgorithm.RSA_AES_KEY_WRAP_256) + .setNonce("someNonce"); + + keyAsyncClient.releaseKeyWithResponse("keyName", releaseKeyVersion, releaseTarget, releaseKeyOptions) + .subscribe(releaseKeyResponse -> + System.out.printf("Response received successfully with status code: %d. Signed object containing" + + "released key: %s%n", releaseKeyResponse.getStatusCode(), + releaseKeyResponse.getValue().getValue())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions + } + + /** + * Generates code samples for using {@link KeyAsyncClient#rotateKey(String)} and + * {@link KeyAsyncClient#rotateKeyWithResponse(String)}. + */ + public void rotateKey() { + KeyAsyncClient keyAsyncClient = createAsyncClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.rotateKey#String + keyAsyncClient.rotateKey("keyName") + .subscribe(key -> + System.out.printf("Rotated key with name: %s and version:%s%n", key.getName(), + key.getProperties().getVersion())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.rotateKey#String + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.rotateKeyWithResponse#String + keyAsyncClient.rotateKeyWithResponse("keyName") + .subscribe(rotateKeyResponse -> + System.out.printf("Response received successfully with status code: %d. Rotated key with name: %s and" + + "version: %s%n", rotateKeyResponse.getStatusCode(), rotateKeyResponse.getValue().getName(), + rotateKeyResponse.getValue().getProperties().getVersion())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.rotateKeyWithResponse#String + } + + /** + * Generates code samples for using {@link KeyAsyncClient#getKeyRotationPolicy(String)} and + * {@link KeyAsyncClient#getKeyRotationPolicyWithResponse(String)}. */ - private TokenCredential getKeyVaultCredential() { - return null; + public void getKeyRotationPolicy() { + KeyAsyncClient keyAsyncClient = createAsyncClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicy#String + keyAsyncClient.getKeyRotationPolicy("keyName") + .subscribe(keyRotationPolicy -> + System.out.printf("Retrieved key rotation policy with id: %s%n", keyRotationPolicy.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicy#String + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicyWithResponse#String + keyAsyncClient.getKeyRotationPolicyWithResponse("keyName") + .subscribe(getKeyRotationPolicyResponse -> + System.out.printf("Response received successfully with status code: %d. Retrieved key rotation policy" + + "with id: %s%n", getKeyRotationPolicyResponse.getStatusCode(), + getKeyRotationPolicyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.getKeyRotationPolicyWithResponse#String + } + + /** + * Generates code samples for using + * {@link KeyAsyncClient#updateKeyRotationPolicy(String, KeyRotationPolicyProperties)} and + * {@link KeyAsyncClient#updateKeyRotationPolicyWithResponse(String, KeyRotationPolicyProperties)}. + */ + public void updateKeyRotationPolicy() { + KeyAsyncClient keyAsyncClient = createAsyncClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties + List lifetimeActions = new ArrayList<>(); + KeyRotationLifetimeAction rotateLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + KeyRotationLifetimeAction notifyLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.NOTIFY) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + + lifetimeActions.add(rotateLifetimeAction); + lifetimeActions.add(notifyLifetimeAction); + + KeyRotationPolicyProperties policyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(lifetimeActions) + .setExpiryTime("P6M"); + + keyAsyncClient.updateKeyRotationPolicy("keyName", policyProperties) + .subscribe(keyRotationPolicy -> + System.out.printf("Updated key rotation policy with id: %s%n", keyRotationPolicy.getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties + + // BEGIN: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties + List myLifetimeActions = new ArrayList<>(); + KeyRotationLifetimeAction myRotateLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + KeyRotationLifetimeAction myNotifyLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.NOTIFY) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + + myLifetimeActions.add(myRotateLifetimeAction); + myLifetimeActions.add(myNotifyLifetimeAction); + + KeyRotationPolicyProperties myPolicyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(myLifetimeActions) + .setExpiryTime("P6M"); + + keyAsyncClient.updateKeyRotationPolicyWithResponse("keyName", myPolicyProperties) + .subscribe(updateKeyRotationPolicyResponse -> + System.out.printf("Response received successfully with status code: %d. Updated key rotation policy" + + "with id: %s%n", updateKeyRotationPolicyResponse.getStatusCode(), + updateKeyRotationPolicyResponse.getValue().getId())); + // END: com.azure.security.keyvault.keys.KeyAsyncClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyClientJavaDocCodeSnippets.java b/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyClientJavaDocCodeSnippets.java index de632e09f4af9..d807e1d2a163e 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyClientJavaDocCodeSnippets.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/samples/java/com/azure/security/keyvault/keys/KeyClientJavaDocCodeSnippets.java @@ -3,464 +3,510 @@ package com.azure.security.keyvault.keys; -import com.azure.core.credential.TokenCredential; import com.azure.core.http.rest.Response; import com.azure.core.util.Context; import com.azure.core.util.polling.PollResponse; import com.azure.core.util.polling.SyncPoller; -import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; -import com.azure.security.keyvault.keys.models.DeletedKey; +import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.security.keyvault.keys.models.CreateEcKeyOptions; -import com.azure.security.keyvault.keys.models.KeyVaultKey; import com.azure.security.keyvault.keys.models.CreateKeyOptions; +import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; +import com.azure.security.keyvault.keys.models.DeletedKey; +import com.azure.security.keyvault.keys.models.ImportKeyOptions; +import com.azure.security.keyvault.keys.models.JsonWebKey; import com.azure.security.keyvault.keys.models.KeyCurveName; +import com.azure.security.keyvault.keys.models.KeyExportEncryptionAlgorithm; import com.azure.security.keyvault.keys.models.KeyOperation; -import com.azure.security.keyvault.keys.models.KeyType; import com.azure.security.keyvault.keys.models.KeyProperties; -import com.azure.security.keyvault.keys.models.ImportKeyOptions; -import com.azure.security.keyvault.keys.models.JsonWebKey; -import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicy; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyProperties; +import com.azure.security.keyvault.keys.models.KeyType; +import com.azure.security.keyvault.keys.models.KeyVaultKey; import com.azure.security.keyvault.keys.models.RandomBytes; +import com.azure.security.keyvault.keys.models.ReleaseKeyOptions; +import com.azure.security.keyvault.keys.models.ReleaseKeyResult; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; /** - * This class contains code samples for generating javadocs through doclets for {@link KeyClient} + * This class contains code samples for generating javadocs through doclets for {@link KeyClient}. */ public final class KeyClientJavaDocCodeSnippets { - - private String key1 = "key1"; - private String key2 = "key2"; - private String value1 = "val1"; - private String value2 = "val2"; - /** - * Generates code sample for creating a {@link KeyClient} - * @return An instance of {@link KeyClient} + * Generates a code sample for creating a {@link KeyClient}. + * + * @return An instance of {@link KeyClient}. */ public KeyClient createClient() { - // BEGIN: com.azure.security.keyvault.keys.keyclient.instantiation + // BEGIN: com.azure.security.keyvault.keys.KeyClient.instantiation KeyClient keyClient = new KeyClientBuilder() .vaultUrl("https://myvault.azure.net/") .credential(new DefaultAzureCredentialBuilder().build()) .buildClient(); - // END: com.azure.security.keyvault.keys.keyclient.instantiation + // END: com.azure.security.keyvault.keys.KeyClient.instantiation return keyClient; } /** - * Generates a code sample for using {@link KeyClient#createKey(String, KeyType)} + * Generates a code sample for using {@link KeyClient#createKey(String, KeyType)}, + * {@link KeyClient#createRsaKey(CreateRsaKeyOptions)}, + * {@link KeyClient#createEcKey(CreateEcKeyOptions)} and + * {@link KeyClient#createOctKey(CreateOctKeyOptions)}. */ public void createKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.createKey#string-keyType + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createKey#String-KeyType KeyVaultKey key = keyClient.createKey("keyName", KeyType.EC); - System.out.printf("Key is created with name %s and id %s %n", key.getName(), key.getId()); - // END: com.azure.keyvault.keys.keyclient.createKey#string-keyType - // BEGIN: com.azure.keyvault.keys.keyclient.createKey#keyOptions + System.out.printf("Created key with name: %s and id: %s%n", key.getName(), key.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createKey#String-KeyType + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createKey#CreateKeyOptions CreateKeyOptions createKeyOptions = new CreateKeyOptions("keyName", KeyType.RSA) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); KeyVaultKey optionsKey = keyClient.createKey(createKeyOptions); - System.out.printf("Key is created with name %s and id %s %n", optionsKey.getName(), optionsKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createKey#keyOptions - // BEGIN: com.azure.keyvault.keys.keyclient.createRsaKey#keyOptions + System.out.printf("Created key with name: %s and id: %s%n", optionsKey.getName(), optionsKey.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createKey#CreateKeyOptions + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createRsaKey#CreateRsaKeyOptions CreateRsaKeyOptions createRsaKeyOptions = new CreateRsaKeyOptions("keyName") .setKeySize(2048) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); KeyVaultKey rsaKey = keyClient.createRsaKey(createRsaKeyOptions); - System.out.printf("Key is created with name %s and id %s %n", rsaKey.getName(), rsaKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createRsaKey#keyOptions - // BEGIN: com.azure.keyvault.keys.keyclient.createEcKey#keyOptions + System.out.printf("Created key with name: %s and id: %s%n", rsaKey.getName(), rsaKey.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createRsaKey#CreateRsaKeyOptions + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createEcKey#CreateOctKeyOptions CreateEcKeyOptions createEcKeyOptions = new CreateEcKeyOptions("keyName") .setCurveName(KeyCurveName.P_384) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); KeyVaultKey ecKey = keyClient.createEcKey(createEcKeyOptions); - System.out.printf("Key is created with name %s and id %s %n", ecKey.getName(), ecKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createEcKey#keyOptions - // BEGIN: com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions + System.out.printf("Created key with name: %s and id: %s%n", ecKey.getName(), ecKey.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createEcKey#CreateOctKeyOptions + + // BEGIN: com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions CreateOctKeyOptions createOctKeyOptions = new CreateOctKeyOptions("keyName") .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); KeyVaultKey octKey = keyClient.createOctKey(createOctKeyOptions); - System.out.printf("Key is created with name %s and id %s %n", octKey.getName(), octKey.getId()); - // END: com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions + System.out.printf("Created key with name: %s and id: %s%n", octKey.getName(), octKey.getId()); + // END: com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions } /** - * Generates a code sample for using {@link KeyClient#importKey(String, JsonWebKey)} + * Generates code samples for using {@link KeyAsyncClient#importKey(String, JsonWebKey)}, + * {@link KeyAsyncClient#importKey(ImportKeyOptions)} and + * {@link KeyAsyncClient#importKeyWithResponse(ImportKeyOptions)}. */ - public void importKeySnippets() { + public void importKey() { KeyClient keyClient = createClient(); JsonWebKey jsonWebKeyToImport = new JsonWebKey(); - // BEGIN: com.azure.security.keyvault.keys.keyclient.importKey#string-jsonwebkey - KeyVaultKey importedKey = keyClient.importKey("keyName", jsonWebKeyToImport); - System.out.printf("Key is imported with name %s and id %s \n", importedKey.getName(), importedKey.getId()); - // END: com.azure.security.keyvault.keys.keyclient.importKey#string-jsonwebkey + // BEGIN: com.azure.security.keyvault.keys.KeyClient.importKey#String-JsonWebKey + KeyVaultKey key = keyClient.importKey("keyName", jsonWebKeyToImport); + + System.out.printf("Imported key with name: %s and id: %s%n", key.getName(), key.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.importKey#String-JsonWebKey - // BEGIN: com.azure.security.keyvault.keys.keyclient.importKey#options + // BEGIN: com.azure.security.keyvault.keys.KeyClient.importKey#ImportKeyOptions ImportKeyOptions options = new ImportKeyOptions("keyName", jsonWebKeyToImport) .setHardwareProtected(false); + KeyVaultKey importedKey = keyClient.importKey(options); - KeyVaultKey importedKeyResponse = keyClient.importKey(options); - System.out.printf("Key is imported with name %s and id %s \n", importedKeyResponse.getName(), - importedKeyResponse.getId()); - // END: com.azure.security.keyvault.keys.keyclient.importKey#options + System.out.printf("Imported key with name: %s and id: %s%n", importedKey.getName(), + importedKey.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.importKey#ImportKeyOptions - // BEGIN: com.azure.security.keyvault.keys.keyclient.importKeyWithResponse#options-response + // BEGIN: com.azure.security.keyvault.keys.KeyClient.importKeyWithResponse#ImportKeyOptions-Context ImportKeyOptions importKeyOptions = new ImportKeyOptions("keyName", jsonWebKeyToImport) .setHardwareProtected(false); + Response response = + keyClient.importKeyWithResponse(importKeyOptions, new Context("key1", "value1")); - KeyVaultKey importedKeyResp = keyClient.importKeyWithResponse(importKeyOptions, new Context(key1, value1)) - .getValue(); - System.out.printf("Key is imported with name %s and id %s \n", importedKeyResp.getName(), - importedKeyResp.getId()); - // END: com.azure.security.keyvault.keys.keyclient.importKeyWithResponse#options-response + System.out.printf("Imported key with name: %s and id: %s%n", response.getValue().getName(), + response.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.importKeyWithResponse#ImportKeyOptions-Context } /** * Generates a code sample for using {@link KeyClient#beginDeleteKey(String)}. */ - public void deleteKeySnippets() { + public void beginDeleteKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.deleteKey#String + // BEGIN: com.azure.security.keyvault.keys.KeyClient.deleteKey#String SyncPoller deleteKeyPoller = keyClient.beginDeleteKey("keyName"); - PollResponse deleteKeyPollResponse = deleteKeyPoller.poll(); // Deleted date only works for SoftDelete Enabled Key Vault. - DeletedKey key = deleteKeyPollResponse.getValue(); - System.out.println("Deleted Date %s" + key.getDeletedOn().toString()); - System.out.printf("Deleted Key's Recovery Id %s", key.getRecoveryId()); + DeletedKey deletedKey = deleteKeyPollResponse.getValue(); + + System.out.printf("Key delete date: %s%n" + deletedKey.getDeletedOn()); + System.out.printf("Deleted key's recovery id: %s%n", deletedKey.getRecoveryId()); // Key is being deleted on server. deleteKeyPoller.waitForCompletion(); // Key is deleted - // END: com.azure.keyvault.keys.keyclient.deleteKey#String + // END: com.azure.security.keyvault.keys.KeyClient.deleteKey#String } /** - * Generates a code sample for using {@link KeyClient#getDeletedKey(String)} + * Generates a code sample for using {@link KeyClient#getDeletedKey(String)}. */ - public void getDeletedKeySnippets() { + public void getDeletedKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.getDeletedKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getDeletedKey#String DeletedKey deletedKey = keyClient.getDeletedKey("keyName"); - System.out.printf("Deleted Key's Recovery Id %s", deletedKey.getRecoveryId()); - // END: com.azure.keyvault.keys.keyclient.getDeletedKey#string + + System.out.printf("Deleted key's recovery id: %s%n", deletedKey.getRecoveryId()); + // END: com.azure.security.keyvault.keys.KeyClient.getDeletedKey#String } /** - * Generates a code sample for using {@link KeyClient#createKeyWithResponse(CreateKeyOptions, Context)} + * Generates a code sample for using {@link KeyClient#createKeyWithResponse(CreateKeyOptions, Context)}, + * {@link KeyClient#createRsaKeyWithResponse(CreateRsaKeyOptions, Context)}, + * {@link KeyClient#createEcKeyWithResponse(CreateEcKeyOptions, Context)} and + * {@link KeyClient#createOctKeyWithResponse(CreateOctKeyOptions, Context)}. */ - public void createKeyWithResponses() { + public void createKeyWithResponse() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.createKeyWithResponse#keyCreateOptions-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createKeyWithResponse#CreateKeyOptions-Context CreateKeyOptions createKeyOptions = new CreateKeyOptions("keyName", KeyType.RSA) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); - KeyVaultKey optionsKey = keyClient.createKeyWithResponse(createKeyOptions, new Context(key1, value1)).getValue(); - System.out.printf("Key is created with name %s and id %s %n", optionsKey.getName(), optionsKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createKeyWithResponse#keyCreateOptions-Context + Response createKeyResponse = + keyClient.createKeyWithResponse(createKeyOptions, new Context("key1", "value1")); - // BEGIN: com.azure.keyvault.keys.keyclient.createRsaKeyWithResponse#keyOptions-Context + System.out.printf("Created key with name: %s and: id %s%n", createKeyResponse.getValue().getName(), + createKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createKeyWithResponse#CreateKeyOptions-Context + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createRsaKeyWithResponse#CreateRsaKeyOptions-Context CreateRsaKeyOptions createRsaKeyOptions = new CreateRsaKeyOptions("keyName") .setKeySize(2048) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); - KeyVaultKey rsaKey = keyClient.createRsaKeyWithResponse(createRsaKeyOptions, new Context(key1, value1)).getValue(); - System.out.printf("Key is created with name %s and id %s %n", rsaKey.getName(), rsaKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createRsaKeyWithResponse#keyOptions-Context + Response createRsaKeyResponse = + keyClient.createRsaKeyWithResponse(createRsaKeyOptions, new Context("key1", "value1")); + + System.out.printf("Created key with name: %s and: id %s%n", createRsaKeyResponse.getValue().getName(), + createRsaKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createRsaKeyWithResponse#CreateRsaKeyOptions-Context - // BEGIN: com.azure.keyvault.keys.keyclient.createEcKeyWithResponse#keyOptions-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.createEcKeyWithResponse#CreateEcKeyOptions-Context CreateEcKeyOptions createEcKeyOptions = new CreateEcKeyOptions("keyName") .setCurveName(KeyCurveName.P_384) .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); - KeyVaultKey ecKey = keyClient.createEcKeyWithResponse(createEcKeyOptions, new Context(key1, value1)).getValue(); - System.out.printf("Key is created with name %s and id %s %n", ecKey.getName(), ecKey.getId()); - // END: com.azure.keyvault.keys.keyclient.createEcKeyWithResponse#keyOptions-Context + Response createEcKeyResponse = + keyClient.createEcKeyWithResponse(createEcKeyOptions, new Context("key1", "value1")); - // BEGIN: com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions-Context + System.out.printf("Created key with name: %s and: id %s%n", createEcKeyResponse.getValue().getName(), + createEcKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.createEcKeyWithResponse#CreateEcKeyOptions-Context + + // BEGIN: com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions-Context CreateOctKeyOptions createOctKeyOptions = new CreateOctKeyOptions("keyName") .setNotBefore(OffsetDateTime.now().plusDays(1)) .setExpiresOn(OffsetDateTime.now().plusYears(1)); - KeyVaultKey octKey = - keyClient.createOctKeyWithResponse(createOctKeyOptions, new Context(key1, value1)).getValue(); + Response createOctKeyResponse = + keyClient.createOctKeyWithResponse(createOctKeyOptions, new Context("key1", "value1")); - System.out.printf("Key is created with name %s and id %s %n", octKey.getName(), octKey.getId()); - // END: com.azure.security.keyvault.keys.async.keyClient.createOctKey#CreateOctKeyOptions-Context + System.out.printf("Created key with name: %s and: id %s%n", createOctKeyResponse.getValue().getName(), + createOctKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.async.KeyClient.createOctKey#CreateOctKeyOptions-Context } /** - * Generates a code sample for using {@link KeyClient#getKeyWithResponse(String, String, Context)} + * Generates a code sample for using {@link KeyClient#getKeyWithResponse(String, String, Context)}. */ - public void getKeyWithResponseSnippets() { + public void getKeyWithResponse() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.getKeyWithResponse#string-string-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getKeyWithResponse#String-String-Context String keyVersion = "6A385B124DEF4096AF1361A85B16C204"; - KeyVaultKey keyWithVersion = keyClient.getKeyWithResponse("keyName", keyVersion, - new Context(key1, value1)).getValue(); - System.out.printf("Key is returned with name %s and id %s %n", keyWithVersion.getName(), - keyWithVersion.getId()); - // END: com.azure.keyvault.keys.keyclient.getKeyWithResponse#string-string-Context + Response getKeyResponse = + keyClient.getKeyWithResponse("keyName", keyVersion, new Context("key1", "value1")); + + System.out.printf("Retrieved key with name: %s and: id %s%n", getKeyResponse.getValue().getName(), + getKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.getKeyWithResponse#String-String-Context } /** - * Generates a code sample for using {@link KeyClient#getKey(String, String)} + * Generates a code sample for using {@link KeyClient#getKey(String)} and + * {@link KeyClient#getKey(String, String)}. */ - public void getKeySnippets() { + public void getKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.getKey#string-string + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getKey#String + KeyVaultKey keyWithVersionValue = keyClient.getKey("keyName"); + + System.out.printf("Retrieved key with name: %s and: id %s%n", keyWithVersionValue.getName(), + keyWithVersionValue.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.getKey#String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getKey#String-String String keyVersion = "6A385B124DEF4096AF1361A85B16C204"; KeyVaultKey keyWithVersion = keyClient.getKey("keyName", keyVersion); - System.out.printf("Key is returned with name %s and id %s %n", keyWithVersion.getName(), - keyWithVersion.getId()); - // END: com.azure.keyvault.keys.keyclient.getKey#string-string - // BEGIN: com.azure.keyvault.keys.keyclient.getKey#string - KeyVaultKey keyWithVersionValue = keyClient.getKey("keyName"); - System.out.printf("Key is returned with name %s and id %s %n", keyWithVersionValue.getName(), - keyWithVersionValue.getId()); - // END: com.azure.keyvault.keys.keyclient.getKey#string + System.out.printf("Retrieved key with name: %s and: id %s%n", keyWithVersion.getName(), + keyWithVersion.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.getKey#String-String } /** - * Generates a code sample for using {@link KeyClient#updateKeyPropertiesWithResponse(KeyProperties, Context, KeyOperation...)} + * Generates a code sample for using + * {@link KeyClient#updateKeyPropertiesWithResponse(KeyProperties, Context, KeyOperation...)}. */ - public void updateKeyWithResponseSnippets() { + public void updateKeyPropertiesWithResponse() { KeyClient keyClient = createClient(); - - // BEGIN: com.azure.keyvault.keys.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.updateKeyPropertiesWithResponse#KeyProperties-Context-KeyOperation KeyVaultKey key = keyClient.getKey("keyName"); + key.getProperties().setExpiresOn(OffsetDateTime.now().plusDays(60)); - KeyVaultKey updatedKey = keyClient.updateKeyPropertiesWithResponse(key.getProperties(), - new Context(key1, value1), KeyOperation.ENCRYPT, KeyOperation.DECRYPT).getValue(); - System.out.printf("Key is updated with name %s and id %s %n", updatedKey.getName(), updatedKey.getId()); - // END: com.azure.keyvault.keys.keyclient.updateKeyPropertiesWithResponse#KeyProperties-keyOperations-Context + + Response updateKeyResponse = + keyClient.updateKeyPropertiesWithResponse(key.getProperties(), new Context("key1", "value1"), + KeyOperation.ENCRYPT, KeyOperation.DECRYPT); + + System.out.printf("Updated key with name: %s and id: %s%n", updateKeyResponse.getValue().getName(), + updateKeyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.updateKeyPropertiesWithResponse#KeyProperties-Context-KeyOperation } /** - * Generates a code sample for using {@link KeyClient#updateKeyProperties(KeyProperties, KeyOperation...)} + * Generates a code sample for using {@link KeyClient#updateKeyProperties(KeyProperties, KeyOperation...)}. */ - public void updateKeySnippets() { + public void updateKeyProperties() { KeyClient keyClient = createClient(); - - // BEGIN: com.azure.keyvault.keys.keyclient.updateKeyProperties#KeyProperties-keyOperations + // BEGIN: com.azure.security.keyvault.keys.KeyClient.updateKeyProperties#KeyProperties-KeyOperation KeyVaultKey key = keyClient.getKey("keyName"); + key.getProperties().setExpiresOn(OffsetDateTime.now().plusDays(60)); + KeyVaultKey updatedKey = keyClient.updateKeyProperties(key.getProperties(), KeyOperation.ENCRYPT, KeyOperation.DECRYPT); + System.out.printf("Key is updated with name %s and id %s %n", updatedKey.getName(), updatedKey.getId()); - // END: com.azure.keyvault.keys.keyclient.updateKeyProperties#KeyProperties-keyOperations + // END: com.azure.security.keyvault.keys.KeyClient.updateKeyProperties#KeyProperties-KeyOperation } /** - * Generates a code sample for using {@link KeyClient#getDeletedKeyWithResponse(String, Context)} + * Generates a code sample for using {@link KeyClient#getDeletedKeyWithResponse(String, Context)}. */ - public void getDeleteKeyWithResponseSnippets() { + public void getDeletedKeyWithResponse() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.getDeletedKeyWithResponse#string-Context - DeletedKey deletedKey = keyClient.getDeletedKeyWithResponse("keyName", new Context(key1, value1)) - .getValue(); - System.out.printf("Deleted Key with recovery Id %s %n", deletedKey.getRecoveryId()); - // END: com.azure.keyvault.keys.keyclient.getDeletedKeyWithResponse#string-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getDeletedKeyWithResponse#String-Context + Response deletedKeyResponse = + keyClient.getDeletedKeyWithResponse("keyName", new Context("key1", "value1")); + + System.out.printf("Deleted key with recovery id: %s%n", deletedKeyResponse.getValue().getRecoveryId()); + // END: com.azure.security.keyvault.keys.KeyClient.getDeletedKeyWithResponse#String-Context } /** - * Generates a code sample for using {@link KeyClient#purgeDeletedKey(String)} + * Generates a code sample for using {@link KeyClient#purgeDeletedKey(String)}. */ - public void purgeDeletedKeySnippets() { + public void purgeDeletedKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.purgeDeletedKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyClient.purgeDeletedKey#String keyClient.purgeDeletedKey("deletedKeyName"); - // END: com.azure.keyvault.keys.keyclient.purgeDeletedKey#string + // END: com.azure.security.keyvault.keys.KeyClient.purgeDeletedKey#String } /** - * Generates a code sample for using {@link KeyClient#purgeDeletedKeyWithResponse(String, Context)} + * Generates a code sample for using {@link KeyClient#purgeDeletedKeyWithResponse(String, Context)}. */ - public void purgeDeletedKeyWithResponseSnippets() { + public void purgeDeletedKeyWithResponse() { KeyClient keyClient = createClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.purgeDeletedKeyWithResponse#String-Context + Response purgeDeletedKeyResponse = keyClient.purgeDeletedKeyWithResponse("deletedKeyName", + new Context("key1", "value1")); - // BEGIN: com.azure.keyvault.keys.keyclient.purgeDeletedKeyWithResponse#string-Context - Response purgedResponse = keyClient.purgeDeletedKeyWithResponse("deletedKeyName", - new Context(key2, value2)); - System.out.printf("Purge Status Code: %d %n", purgedResponse.getStatusCode()); - // END: com.azure.keyvault.keys.keyclient.purgeDeletedKeyWithResponse#string-Context + System.out.printf("Purge response status code: %d%n", purgeDeletedKeyResponse.getStatusCode()); + // END: com.azure.security.keyvault.keys.KeyClient.purgeDeletedKeyWithResponse#String-Context } /** * Generates a code sample for using {@link KeyClient#beginRecoverDeletedKey(String)}. */ - public void recoverDeletedKeySnippets() { + public void beginRecoverDeletedKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.recoverDeletedKey#String + // BEGIN: com.azure.security.keyvault.keys.KeyClient.recoverDeletedKey#String SyncPoller recoverKeyPoller = keyClient.beginRecoverDeletedKey("deletedKeyName"); PollResponse recoverKeyPollResponse = recoverKeyPoller.poll(); KeyVaultKey recoveredKey = recoverKeyPollResponse.getValue(); - System.out.println("Recovered Key Name %s" + recoveredKey.getName()); - System.out.printf("Recovered Key's Id %s", recoveredKey.getId()); + System.out.printf("Recovered key name: %s%n", recoveredKey.getName()); + System.out.printf("Recovered key id: %s%n", recoveredKey.getId()); // Key is being recovered on server. recoverKeyPoller.waitForCompletion(); // Key is recovered - // END: com.azure.keyvault.keys.keyclient.recoverDeletedKey#String + // END: com.azure.security.keyvault.keys.KeyClient.recoverDeletedKey#String } /** - * Generates a code sample for using {@link KeyClient#backupKey(String)} + * Generates a code sample for using {@link KeyClient#backupKey(String)}. */ - public void backupKeySnippets() { + public void backupKey() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.backupKey#string + // BEGIN: com.azure.security.keyvault.keys.KeyClient.backupKey#String byte[] keyBackup = keyClient.backupKey("keyName"); - System.out.printf("Key's Backup Byte array's length %s", keyBackup.length); - // END: com.azure.keyvault.keys.keyclient.backupKey#string + + System.out.printf("Key backup byte array length: %s%n", keyBackup.length); + // END: com.azure.security.keyvault.keys.KeyClient.backupKey#String } /** - * Generates a code sample for using {@link KeyClient#backupKeyWithResponse(String, Context)} + * Generates a code sample for using {@link KeyClient#backupKeyWithResponse(String, Context)}. */ - public void backupKeyWithResponseSnippets() { + public void backupKeyWithResponse() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.backupKeyWithResponse#string-Context - byte[] keyBackup = keyClient.backupKeyWithResponse("keyName", new Context(key2, value2)).getValue(); - System.out.printf("Key's Backup Byte array's length %s", keyBackup.length); - // END: com.azure.keyvault.keys.keyclient.backupKeyWithResponse#string-Context + // BEGIN: com.azure.security.keyvault.keys.KeyClient.backupKeyWithResponse#String-Context + Response backupKeyResponse = keyClient.backupKeyWithResponse("keyName", new Context("key1", "value1")); + + System.out.printf("Key backup byte array length: %s%n", backupKeyResponse.getValue().length); + // END: com.azure.security.keyvault.keys.KeyClient.backupKeyWithResponse#String-Context } /** - * Generates a code sample for using {@link KeyClient#restoreKeyBackup} + * Generates a code sample for using {@link KeyClient#restoreKeyBackup}. */ - public void restoreKeySnippets() { + public void restoreKeyBackup() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.restoreKeyBackup#byte + // BEGIN: com.azure.security.keyvault.keys.KeyClient.restoreKeyBackup#byte byte[] keyBackupByteArray = {}; KeyVaultKey keyResponse = keyClient.restoreKeyBackup(keyBackupByteArray); - System.out.printf("Restored Key with name %s and id %s %n", keyResponse.getName(), keyResponse.getId()); - // END: com.azure.keyvault.keys.keyclient.restoreKeyBackup#byte + System.out.printf("Restored key with name: %s and: id %s%n", keyResponse.getName(), keyResponse.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.restoreKeyBackup#byte } /** - * Generates a code sample for using {@link KeyClient#restoreKeyBackupWithResponse(byte[], Context)} + * Generates a code sample for using {@link KeyClient#restoreKeyBackupWithResponse(byte[], Context)}. */ - public void restoreKeyWithResponseSnippets() { + public void restoreKeyBackupWithResponse() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.restoreKeyBackupWithResponse#byte-Context byte[] keyBackupByteArray = {}; + // BEGIN: com.azure.security.keyvault.keys.KeyClient.restoreKeyBackupWithResponse#byte-Context Response keyResponse = keyClient.restoreKeyBackupWithResponse(keyBackupByteArray, - new Context(key1, value1)); - System.out.printf("Restored Key with name %s and id %s %n", + new Context("key1", "value1")); + + System.out.printf("Restored key with name: %s and: id %s%n", keyResponse.getValue().getName(), keyResponse.getValue().getId()); - // END: com.azure.keyvault.keys.keyclient.restoreKeyBackupWithResponse#byte-Context + // END: com.azure.security.keyvault.keys.KeyClient.restoreKeyBackupWithResponse#byte-Context } /** - * Generates a code sample for using {@link KeyClient#listPropertiesOfKeys} + * Generates a code sample for using {@link KeyClient#listPropertiesOfKeys()} and + * {@link KeyClient#listPropertiesOfKeys(Context)}. */ - public void listKeySnippets() { + public void listPropertiesOfKeys() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.listKeys - for (KeyProperties key : keyClient.listPropertiesOfKeys()) { - KeyVaultKey keyWithMaterial = keyClient.getKey(key.getName(), key.getVersion()); - System.out.printf("Received key with name %s and type %s", keyWithMaterial.getName(), - keyWithMaterial.getKeyType()); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys + for (KeyProperties keyProperties : keyClient.listPropertiesOfKeys()) { + KeyVaultKey key = keyClient.getKey(keyProperties.getName(), keyProperties.getVersion()); + + System.out.printf("Retrieved key with name: %s and type: %s%n", key.getName(), key.getKeyType()); } - // END: com.azure.keyvault.keys.keyclient.listKeys + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys#Context + for (KeyProperties keyProperties : keyClient.listPropertiesOfKeys(new Context("key1", "value1"))) { + KeyVaultKey key = keyClient.getKey(keyProperties.getName(), keyProperties.getVersion()); - // BEGIN: com.azure.keyvault.keys.keyclient.listKeys#Context - for (KeyProperties key : keyClient.listPropertiesOfKeys(new Context(key2, value2))) { - KeyVaultKey keyWithMaterial = keyClient.getKey(key.getName(), key.getVersion()); - System.out.printf("Received key with name %s and type %s", keyWithMaterial.getName(), - keyWithMaterial.getKeyType()); + System.out.printf("Retrieved key with name: %s and type: %s%n", key.getName(), + key.getKeyType()); } - // END: com.azure.keyvault.keys.keyclient.listKeys#Context - - // BEGIN: com.azure.keyvault.keys.keyclient.listKeys.iterableByPage - keyClient.listPropertiesOfKeys().iterableByPage().forEach(resp -> { - System.out.printf("Got response headers . Url: %s, Status code: %d %n", - resp.getRequest().getUrl(), resp.getStatusCode()); - resp.getItems().forEach(value -> { - KeyVaultKey keyWithMaterial = keyClient.getKey(value.getName(), value.getVersion()); - System.out.printf("Received key with name %s and type %s %n", keyWithMaterial.getName(), - keyWithMaterial.getKeyType()); + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys#Context + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys.iterableByPage + keyClient.listPropertiesOfKeys().iterableByPage().forEach(pagedResponse -> { + System.out.printf("Got response details. Url: %s. Status code: %d.%n", + pagedResponse.getRequest().getUrl(), pagedResponse.getStatusCode()); + pagedResponse.getElements().forEach(keyProperties -> { + KeyVaultKey key = keyClient.getKey(keyProperties.getName(), keyProperties.getVersion()); + + System.out.printf("Retrieved key with name: %s and type: %s%n", key.getName(), + key.getKeyType()); }); }); - // END: com.azure.keyvault.keys.keyclient.listKeys.iterableByPage + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeys.iterableByPage } /** - * Generates a code sample for using {@link KeyClient#listDeletedKeys} + * Generates a code sample for using {@link KeyClient#listDeletedKeys()} and + * {@link KeyClient#listDeletedKeys(Context)}. */ - public void listDeletedKeysSnippets() { + public void listDeletedKeys() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.listDeletedKeys + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys for (DeletedKey deletedKey : keyClient.listDeletedKeys()) { - System.out.printf("Deleted key's recovery Id %s", deletedKey.getRecoveryId()); + System.out.printf("Deleted key's recovery id:%s%n", deletedKey.getRecoveryId()); } - // END: com.azure.keyvault.keys.keyclient.listDeletedKeys + // END: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys - // BEGIN: com.azure.keyvault.keys.keyclient.listDeletedKeys#Context - for (DeletedKey deletedKey : keyClient.listDeletedKeys(new Context(key2, value2))) { - System.out.printf("Deleted key's recovery Id %s", deletedKey.getRecoveryId()); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys#Context + for (DeletedKey deletedKey : keyClient.listDeletedKeys(new Context("key1", "value1"))) { + System.out.printf("Deleted key's recovery id:%s%n", deletedKey.getRecoveryId()); } - // END: com.azure.keyvault.keys.keyclient.listDeletedKeys#Context - - // BEGIN: com.azure.keyvault.keys.keyclient.listDeletedKeys.iterableByPage - keyClient.listDeletedKeys().iterableByPage().forEach(resp -> { - System.out.printf("Got response headers . Url: %s, Status code: %d %n", - resp.getRequest().getUrl(), resp.getStatusCode()); - resp.getItems().forEach(value -> { - System.out.printf("Deleted key's recovery Id %s %n", value.getRecoveryId()); - }); + // END: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys#Context + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys.iterableByPage + keyClient.listDeletedKeys().iterableByPage().forEach(pagedResponse -> { + System.out.printf("Got response details. Url: %s. Status code: %d.%n", + pagedResponse.getRequest().getUrl(), pagedResponse.getStatusCode()); + pagedResponse.getElements().forEach(deletedKey -> + System.out.printf("Deleted key's recovery id:%s%n", deletedKey.getRecoveryId())); }); - // END: com.azure.keyvault.keys.keyclient.listDeletedKeys.iterableByPage + // END: com.azure.security.keyvault.keys.KeyClient.listDeletedKeys.iterableByPage } /** - * Generates code sample for using {@link KeyClient#listPropertiesOfKeyVersions(String)} + * Generates code sample for using {@link KeyClient#listPropertiesOfKeyVersions(String)} and + * {@link KeyClient#listPropertiesOfKeyVersions(String, Context)}. */ - public void listKeyVersions() { + public void listPropertiesOfKeyVersions() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.keyvault.keys.keyclient.listKeyVersions - for (KeyProperties key : keyClient.listPropertiesOfKeyVersions("keyName")) { - KeyVaultKey keyWithMaterial = keyClient.getKey(key.getName(), key.getVersion()); - System.out.printf("Received key's version with name %s, type %s and version %s", - keyWithMaterial.getName(), - keyWithMaterial.getKeyType(), keyWithMaterial.getProperties().getVersion()); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String + for (KeyProperties keyProperties : keyClient.listPropertiesOfKeyVersions("keyName")) { + KeyVaultKey key = keyClient.getKey(keyProperties.getName(), keyProperties.getVersion()); + + System.out.printf("Retrieved key version: %s with name: %s and type: %s%n", + key.getProperties().getVersion(), key.getName(), key.getKeyType()); } - // END: com.azure.keyvault.keys.keyclient.listKeyVersions - - // BEGIN: com.azure.keyvault.keys.keyclient.listKeyVersions#Context - for (KeyProperties key : keyClient.listPropertiesOfKeyVersions("keyName", new Context(key2, value2))) { - KeyVaultKey keyWithMaterial = keyClient.getKey(key.getName(), key.getVersion()); - System.out.printf("Received key's version with name %s, type %s and version %s", - keyWithMaterial.getName(), - keyWithMaterial.getKeyType(), keyWithMaterial.getProperties().getVersion()); + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String-Context + for (KeyProperties keyProperties : keyClient.listPropertiesOfKeyVersions("keyName", new Context("key1", "value1"))) { + KeyVaultKey key = keyClient.getKey(keyProperties.getName(), keyProperties.getVersion()); + + System.out.printf("Retrieved key version: %s with name: %s and type: %s%n", + key.getProperties().getVersion(), key.getName(), key.getKeyType()); } - // END: com.azure.keyvault.keys.keyclient.listKeyVersions#Context - - // BEGIN: com.azure.keyvault.keys.keyclient.listKeyVersions.iterableByPage - keyClient.listPropertiesOfKeyVersions("keyName").iterableByPage().forEach(resp -> { - System.out.printf("Got response headers . Url: %s, Status code: %d %n", - resp.getRequest().getUrl(), resp.getStatusCode()); - resp.getItems().forEach(value -> { - System.out.printf("Key name: %s, Key version: %s %n", value.getName(), value.getVersion()); - }); + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions#String-Context + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions.iterableByPage + keyClient.listPropertiesOfKeyVersions("keyName").iterableByPage().forEach(pagedResponse -> { + System.out.printf("Got response details. Url: %s. Status code: %d.%n", + pagedResponse.getRequest().getUrl(), pagedResponse.getStatusCode()); + pagedResponse.getElements().forEach(keyProperties -> + System.out.printf("Key name: %s. Key version: %s.%n", keyProperties.getName(), + keyProperties.getVersion())); }); - // END: com.azure.keyvault.keys.keyclient.listKeyVersions.iterableByPage + // END: com.azure.security.keyvault.keys.KeyClient.listPropertiesOfKeyVersions.iterableByPage } /** @@ -469,7 +515,6 @@ public void listKeyVersions() { */ public void getRandomBytes() { KeyClient keyClient = createClient(); - // BEGIN: com.azure.security.keyvault.keys.KeyClient.getRandomBytes#int int amount = 16; RandomBytes randomBytes = keyClient.getRandomBytes(amount); @@ -488,10 +533,136 @@ public void getRandomBytes() { } /** - * Implementation not provided for this method - * @return {@code null} + * Generates code samples for using {@link KeyClient#releaseKey(String, String)}, + * {@link KeyClient#releaseKey(String, String, String)} and + * {@link KeyClient#releaseKeyWithResponse(String, String, String, ReleaseKeyOptions, Context)}. */ - private TokenCredential getKeyVaultCredential() { - return null; + public void releaseKey() { + KeyClient keyClient = createClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String + String target = "someAttestationToken"; + ReleaseKeyResult releaseKeyResult = keyClient.releaseKey("keyName", target); + + System.out.printf("Signed object containing released key: %s%n", releaseKeyResult); + // END: com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String-String + String myKeyVersion = "6A385B124DEF4096AF1361A85B16C204"; + String myTarget = "someAttestationToken"; + ReleaseKeyResult releaseKeyVersionResult = keyClient.releaseKey("keyName", myKeyVersion, myTarget); + + System.out.printf("Signed object containing released key: %s%n", releaseKeyVersionResult); + // END: com.azure.security.keyvault.keys.KeyClient.releaseKey#String-String-String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions-Context + String releaseKeyVersion = "6A385B124DEF4096AF1361A85B16C204"; + String releaseTarget = "someAttestationToken"; + ReleaseKeyOptions releaseKeyOptions = new ReleaseKeyOptions() + .setAlgorithm(KeyExportEncryptionAlgorithm.RSA_AES_KEY_WRAP_256) + .setNonce("someNonce"); + + Response releaseKeyResultResponse = + keyClient.releaseKeyWithResponse("keyName", releaseKeyVersion, releaseTarget, releaseKeyOptions, + new Context("key1", "value1")); + + System.out.printf("Response received successfully with status code: %d. Signed object containing" + + "released key: %s%n", releaseKeyResultResponse.getStatusCode(), + releaseKeyResultResponse.getValue().getValue()); + // END: com.azure.security.keyvault.keys.KeyClient.releaseKeyWithResponse#String-String-String-ReleaseKeyOptions-Context + } + + /** + * Generates code samples for using {@link KeyClient#rotateKey(String)} and + * {@link KeyClient#rotateKeyWithResponse(String, Context)}. + */ + public void rotateKey() { + KeyClient keyClient = createClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String + KeyVaultKey key = keyClient.rotateKey("keyName"); + + System.out.printf("Rotated key with name: %s and version:%s%n", key.getName(), + key.getProperties().getVersion()); + // END: com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String-Context + Response keyResponse = keyClient.rotateKeyWithResponse("keyName", new Context("key1", "value1")); + + System.out.printf("Response received successfully with status code: %d. Rotated key with name: %s and" + + "version: %s%n", keyResponse.getStatusCode(), keyResponse.getValue().getName(), + keyResponse.getValue().getProperties().getVersion()); + // END: com.azure.security.keyvault.keys.KeyClient.rotateKeyWithResponse#String-Context + } + + /** + * Generates code samples for using {@link KeyClient#getKeyRotationPolicy(String)} and + * {@link KeyClient#getKeyRotationPolicyWithResponse(String, Context)}. + */ + public void getKeyRotationPolicy() { + KeyClient keyClient = createClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicy#String + KeyRotationPolicy keyRotationPolicy = keyClient.getKeyRotationPolicy("keyName"); + + System.out.printf("Retrieved key rotation policy with id: %s%n", keyRotationPolicy.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicy#String + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicyWithResponse#String-Context + Response keyRotationPolicyResponse = + keyClient.getKeyRotationPolicyWithResponse("keyName", new Context("key1", "value1")); + + System.out.printf("Response received successfully with status code: %d. Retrieved key rotation policy" + + "with id: %s%n", keyRotationPolicyResponse.getStatusCode(), keyRotationPolicyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.getKeyRotationPolicyWithResponse#String-Context + } + + /** + * Generates code samples for using {@link KeyClient#updateKeyRotationPolicy(String, KeyRotationPolicyProperties)} + * and {@link KeyClient#updateKeyRotationPolicyWithResponse(String, KeyRotationPolicyProperties, Context)}. + */ + public void updateKeyRotationPolicy() { + KeyClient keyClient = createClient(); + // BEGIN: com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties + List lifetimeActions = new ArrayList<>(); + KeyRotationLifetimeAction rotateLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + KeyRotationLifetimeAction notifyLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.NOTIFY) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + + lifetimeActions.add(rotateLifetimeAction); + lifetimeActions.add(notifyLifetimeAction); + + KeyRotationPolicyProperties policyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(lifetimeActions) + .setExpiryTime("P6M"); + + KeyRotationPolicy keyRotationPolicy = + keyClient.updateKeyRotationPolicy("keyName", policyProperties); + + System.out.printf("Updated key rotation policy with id: %s%n", keyRotationPolicy.getId()); + // END: com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicy#String-KeyRotationPolicyProperties + + // BEGIN: com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties-Context + List myLifetimeActions = new ArrayList<>(); + KeyRotationLifetimeAction myRotateLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + KeyRotationLifetimeAction myNotifyLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.NOTIFY) + .setTimeAfterCreate("P90D") + .setTimeBeforeExpiry("P45D"); + + myLifetimeActions.add(myRotateLifetimeAction); + myLifetimeActions.add(myNotifyLifetimeAction); + + KeyRotationPolicyProperties myPolicyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(myLifetimeActions) + .setExpiryTime("P6M"); + + Response keyRotationPolicyResponse = keyClient.updateKeyRotationPolicyWithResponse( + "keyName", myPolicyProperties, new Context("key1", "value1")); + + System.out.printf("Response received successfully with status code: %d. Updated key rotation policy" + + "with id: %s%n", keyRotationPolicyResponse.getStatusCode(), keyRotationPolicyResponse.getValue().getId()); + // END: com.azure.security.keyvault.keys.KeyClient.updateKeyRotationPolicyWithResponse#String-KeyRotationPolicyProperties-Context } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientManagedHsmTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientManagedHsmTest.java index ad2d77c055177..55973bd318667 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientManagedHsmTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientManagedHsmTest.java @@ -18,16 +18,30 @@ public class KeyAsyncClientManagedHsmTest extends KeyAsyncClientTest { public KeyAsyncClientManagedHsmTest() { - this.isManagedHsmTest = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.isHsmEnabled = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.runManagedHsmTest = isHsmEnabled || getTestMode() == TestMode.PLAYBACK; } @Override protected void beforeTest() { - Assumptions.assumeTrue(isManagedHsmTest || getTestMode() == TestMode.PLAYBACK); + Assumptions.assumeTrue(runManagedHsmTest); super.beforeTest(); } + /** + * Tests that a RSA key created. + */ + @Override + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void createRsaKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + createRsaKeyRunner((expected) -> StepVerifier.create(client.createRsaKey(expected)) + .assertNext(response -> assertKeyEquals(expected, response)) + .verifyComplete()); + } + /** * Tests that an RSA key with a public exponent can be created in the key vault. */ @@ -38,11 +52,7 @@ public void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVers createRsaKeyWithPublicExponentRunner((createRsaKeyOptions) -> StepVerifier.create(client.createRsaKey(createRsaKeyOptions)) .assertNext(rsaKey -> { - assertEquals(createRsaKeyOptions.getName(), rsaKey.getName()); - assertEquals(KeyType.RSA_HSM, rsaKey.getKey().getKeyType()); - assertEquals(createRsaKeyOptions.getExpiresOn(), rsaKey.getProperties().getExpiresOn()); - assertEquals(createRsaKeyOptions.getNotBefore(), rsaKey.getProperties().getNotBefore()); - assertEquals(createRsaKeyOptions.getTags(), rsaKey.getProperties().getTags()); + assertKeyEquals(createRsaKeyOptions, rsaKey); assertEquals(BigInteger.valueOf(createRsaKeyOptions.getPublicExponent()), toBigInteger(rsaKey.getKey().getE())); assertEquals(createRsaKeyOptions.getKeySize(), rsaKey.getKey().getN().length * 8); @@ -80,4 +90,14 @@ public void getRandomBytes(HttpClient httpClient, KeyServiceVersion serviceVersi .assertNext(randomBytes -> assertEquals(count, randomBytes.getBytes().length)) .verifyComplete()); } + + /** + * Tests that an existing key can be released. + */ + @Override + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + super.releaseKey(httpClient, serviceVersion); + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientTest.java index e9d667677826c..2d336fbe03a6f 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientTest.java @@ -12,19 +12,20 @@ import com.azure.core.util.polling.LongRunningOperationStatus; import com.azure.core.util.polling.PollerFlux; import com.azure.security.keyvault.keys.models.CreateKeyOptions; +import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; import com.azure.security.keyvault.keys.models.DeletedKey; import com.azure.security.keyvault.keys.models.KeyProperties; import com.azure.security.keyvault.keys.models.KeyType; import com.azure.security.keyvault.keys.models.KeyVaultKey; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; +import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import java.io.IOException; import java.net.HttpURLConnection; -import java.nio.ByteBuffer; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -32,6 +33,7 @@ import static com.azure.security.keyvault.keys.cryptography.TestHelper.DISPLAY_NAME_WITH_ARGUMENTS; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.spy; @@ -46,7 +48,7 @@ protected void beforeTest() { } protected void createKeyAsyncClient(HttpClient httpClient, KeyServiceVersion serviceVersion) { - HttpPipeline httpPipeline = getHttpPipeline(httpClient, serviceVersion); + HttpPipeline httpPipeline = getHttpPipeline(httpClient); client = spy(new KeyClientBuilder() .vaultUrl(getEndpoint()) .pipeline(httpPipeline) @@ -92,7 +94,7 @@ public void setKeyEmptyName(HttpClient httpClient, KeyServiceVersion serviceVers final KeyType keyType; - if (isManagedHsmTest) { + if (runManagedHsmTest) { keyType = KeyType.RSA_HSM; } else { keyType = KeyType.RSA; @@ -516,7 +518,7 @@ public void listKeys(HttpClient httpClient, KeyServiceVersion serviceVersion) { @MethodSource("getTestParameters") public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { // TODO: Remove assumption once Key Vault allows for creating exportable keys. - Assumptions.assumeTrue(isManagedHsmTest); + Assumptions.assumeTrue(runManagedHsmTest); createKeyAsyncClient(httpClient, serviceVersion); releaseKeyRunner((keyToRelease, attestationUrl) -> { @@ -547,21 +549,123 @@ public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) /** * Tests that an RSA key with a public exponent can be created in the key vault. */ - @Disabled // Service issue: https://github.com/Azure/azure-sdk-for-java/issues/17382 @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) @MethodSource("getTestParameters") public void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVersion serviceVersion) { createKeyAsyncClient(httpClient, serviceVersion); createRsaKeyWithPublicExponentRunner((createRsaKeyOptions) -> StepVerifier.create(client.createRsaKey(createRsaKeyOptions)) - .assertNext(rsaKey -> assertKeyEquals(createRsaKeyOptions, rsaKey)) .assertNext(rsaKey -> { - ByteBuffer wrappedArray = ByteBuffer.wrap(rsaKey.getKey().getE()); // Big-endian by default - assertEquals(createRsaKeyOptions.getPublicExponent(), wrappedArray.getInt()); + assertKeyEquals(createRsaKeyOptions, rsaKey); + // TODO: Investigate why the KV service sets the JWK's "e" parameter to "AQAB" instead of "Aw". + /*assertEquals(BigInteger.valueOf(createRsaKeyOptions.getPublicExponent()), + toBigInteger(rsaKey.getKey().getE()));*/ + assertEquals(createRsaKeyOptions.getKeySize(), rsaKey.getKey().getN().length * 8); }) .verifyComplete()); } + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void getKeyRotationPolicyOfNonExistentKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + StepVerifier.create(client.getKeyRotationPolicy(testResourceNamer.randomName("nonExistentKey", 20))) + .verifyErrorSatisfies(ex -> + assertRestException(ex, ResourceNotFoundException.class, HttpURLConnection.HTTP_NOT_FOUND)); + } + + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void getKeyRotationPolicyWithNoPolicySet(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + + String keyName = testResourceNamer.randomName("rotateKey", 20); + + StepVerifier.create(client.createRsaKey(new CreateRsaKeyOptions(keyName))) + .assertNext(Assertions::assertNotNull) + .verifyComplete(); + + StepVerifier.create(client.getKeyRotationPolicy(keyName)) + .assertNext(keyRotationPolicy -> { + assertNotNull(keyRotationPolicy); + assertNull(keyRotationPolicy.getId()); + assertNull(keyRotationPolicy.getCreatedOn()); + assertNull(keyRotationPolicy.getUpdatedOn()); + assertNull(keyRotationPolicy.getExpiryTime()); + assertNull(keyRotationPolicy.getLifetimeActions()); + }) + .verifyComplete(); + } + + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void updateGetKeyRotationPolicyWithMinimumProperties(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + updateGetKeyRotationPolicyWithMinimumPropertiesRunner((keyName, keyRotationPolicyProperties) -> { + StepVerifier.create(client.createRsaKey(new CreateRsaKeyOptions(keyName))) + .assertNext(Assertions::assertNotNull) + .verifyComplete(); + + StepVerifier.create(client.updateKeyRotationPolicy(keyName, keyRotationPolicyProperties) + .flatMap(updatedKeyRotationPolicy -> Mono.zip(Mono.just(updatedKeyRotationPolicy), + client.getKeyRotationPolicy(keyName)))) + .assertNext(tuple -> assertKeyVaultRotationPolicyEquals(tuple.getT1(), tuple.getT2())) + .verifyComplete(); + }); + } + + /** + * Tests that an key rotation policy can be updated with all possible properties, then retrieves it. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void updateGetKeyRotationPolicyWithAllProperties(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + updateGetKeyRotationPolicyWithAllPropertiesRunner((keyName, keyRotationPolicyProperties) -> { + StepVerifier.create(client.createRsaKey(new CreateRsaKeyOptions(keyName))) + .assertNext(Assertions::assertNotNull) + .verifyComplete(); + + StepVerifier.create(client.updateKeyRotationPolicy(keyName, keyRotationPolicyProperties) + .flatMap(updatedKeyRotationPolicy -> Mono.zip(Mono.just(updatedKeyRotationPolicy), + client.getKeyRotationPolicy(keyName)))) + .assertNext(tuple -> assertKeyVaultRotationPolicyEquals(tuple.getT1(), tuple.getT2())) + .verifyComplete(); + }); + } + + /** + * Tests that a key can be rotated. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void rotateKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyAsyncClient(httpClient, serviceVersion); + + String keyName = testResourceNamer.randomName("rotateKey", 20); + + StepVerifier.create(client.createRsaKey(new CreateRsaKeyOptions(keyName)) + .flatMap(createdKey -> Mono.zip(Mono.just(createdKey), + client.rotateKey(keyName)))) + .assertNext(tuple -> { + KeyVaultKey createdKey = tuple.getT1(); + KeyVaultKey rotatedKey = tuple.getT2(); + + assertEquals(createdKey.getName(), rotatedKey.getName()); + assertEquals(createdKey.getProperties().getTags(), rotatedKey.getProperties().getTags()); + }) + .verifyComplete(); + } + private void pollOnKeyDeletion(String keyName) { int pendingPollCount = 0; while (pendingPollCount < 30) { diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientManagedHsmTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientManagedHsmTest.java index fe7a335c737af..ccd837f46899a 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientManagedHsmTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientManagedHsmTest.java @@ -19,19 +19,32 @@ public class KeyClientManagedHsmTest extends KeyClientTest { public KeyClientManagedHsmTest() { - this.isManagedHsmTest = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.isHsmEnabled = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.runManagedHsmTest = isHsmEnabled || getTestMode() == TestMode.PLAYBACK; } @Override protected void beforeTest() { - Assumptions.assumeTrue(isManagedHsmTest || getTestMode() == TestMode.PLAYBACK); + Assumptions.assumeTrue(runManagedHsmTest); super.beforeTest(); } + /** + * Tests that an RSA key is created. + */ + @Override + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void createRsaKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + createRsaKeyRunner((expected) -> assertKeyEquals(expected, client.createRsaKey(expected))); + } + /** * Tests that an RSA key with a public exponent can be created in the key vault. */ + @Override @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) @MethodSource("getTestParameters") public void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVersion serviceVersion) { @@ -39,11 +52,7 @@ public void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVers createRsaKeyWithPublicExponentRunner((createRsaKeyOptions) -> { KeyVaultKey rsaKey = client.createRsaKey(createRsaKeyOptions); - assertEquals(createRsaKeyOptions.getName(), rsaKey.getName()); - assertEquals(KeyType.RSA_HSM, rsaKey.getKey().getKeyType()); - assertEquals(createRsaKeyOptions.getExpiresOn(), rsaKey.getProperties().getExpiresOn()); - assertEquals(createRsaKeyOptions.getNotBefore(), rsaKey.getProperties().getNotBefore()); - assertEquals(createRsaKeyOptions.getTags(), rsaKey.getProperties().getTags()); + assertKeyEquals(createRsaKeyOptions, rsaKey); assertEquals(BigInteger.valueOf(createRsaKeyOptions.getPublicExponent()), toBigInteger(rsaKey.getKey().getE())); assertEquals(createRsaKeyOptions.getKeySize(), rsaKey.getKey().getN().length * 8); @@ -81,4 +90,14 @@ public void getRandomBytes(HttpClient httpClient, KeyServiceVersion serviceVersi assertEquals(count, randomBytes.getBytes().length); }); } + + /** + * Tests that an existing key can be released. + */ + @Override + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + super.releaseKey(httpClient, serviceVersion); + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java index 15ad735bcbd84..0e50dd4eea638 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java @@ -7,14 +7,14 @@ import com.azure.core.exception.ResourceNotFoundException; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.test.TestMode; import com.azure.core.util.polling.PollResponse; import com.azure.core.util.polling.SyncPoller; import com.azure.security.keyvault.keys.models.CreateKeyOptions; +import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; import com.azure.security.keyvault.keys.models.DeletedKey; import com.azure.security.keyvault.keys.models.KeyProperties; +import com.azure.security.keyvault.keys.models.KeyRotationPolicy; import com.azure.security.keyvault.keys.models.KeyType; import com.azure.security.keyvault.keys.models.KeyVaultKey; import com.azure.security.keyvault.keys.models.ReleaseKeyResult; @@ -32,6 +32,8 @@ import static com.azure.security.keyvault.keys.cryptography.TestHelper.DISPLAY_NAME_WITH_ARGUMENTS; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.spy; @@ -46,12 +48,11 @@ protected void beforeTest() { } protected void createKeyClient(HttpClient httpClient, KeyServiceVersion serviceVersion) { - HttpPipeline httpPipeline = getHttpPipeline(httpClient, serviceVersion); + HttpPipeline httpPipeline = getHttpPipeline(httpClient); KeyAsyncClient asyncClient = spy(new KeyClientBuilder() .vaultUrl(getEndpoint()) .pipeline(httpPipeline) .serviceVersion(serviceVersion) - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) .buildAsyncClient()); if (interceptorManager.isPlaybackMode()) { @@ -91,7 +92,7 @@ public void setKeyEmptyName(HttpClient httpClient, KeyServiceVersion serviceVers final KeyType keyType; - if (isManagedHsmTest) { + if (runManagedHsmTest) { keyType = KeyType.RSA_HSM; } else { keyType = KeyType.RSA; @@ -462,6 +463,24 @@ public void listKeyVersions(HttpClient httpClient, KeyServiceVersion serviceVers }); } + /** + * Tests that an RSA key with a public exponent can be created in the key vault. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + createRsaKeyWithPublicExponentRunner((createRsaKeyOptions) -> { + KeyVaultKey rsaKey = client.createRsaKey(createRsaKeyOptions); + + assertKeyEquals(createRsaKeyOptions, rsaKey); + // TODO: Investigate why the KV service sets the JWK's "e" parameter to "AQAB" instead of "Aw". + /*assertEquals(BigInteger.valueOf(createRsaKeyOptions.getPublicExponent()), + toBigInteger(rsaKey.getKey().getE()));*/ + assertEquals(createRsaKeyOptions.getKeySize(), rsaKey.getKey().getN().length * 8); + }); + } + /** * Tests that an existing key can be released. */ @@ -469,7 +488,7 @@ public void listKeyVersions(HttpClient httpClient, KeyServiceVersion serviceVers @MethodSource("getTestParameters") public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { // TODO: Remove assumption once Key Vault allows for creating exportable keys. - Assumptions.assumeTrue(isManagedHsmTest); + Assumptions.assumeTrue(runManagedHsmTest); createKeyClient(httpClient, serviceVersion); releaseKeyRunner((keyToRelease, attestationUrl) -> { @@ -495,6 +514,93 @@ public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) }); } + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void getKeyRotationPolicyOfNonExistentKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + + String keyName = testResourceNamer.randomName("nonExistentKey", 20); + + assertThrows(ResourceNotFoundException.class, () -> client.getKeyRotationPolicy(keyName)); + } + + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void getKeyRotationPolicyWithNoPolicySet(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + + String keyName = testResourceNamer.randomName("rotateKey", 20); + + client.createRsaKey(new CreateRsaKeyOptions(keyName)); + + KeyRotationPolicy keyRotationPolicy = client.getKeyRotationPolicy(keyName); + + assertNotNull(keyRotationPolicy); + assertNull(keyRotationPolicy.getId()); + assertNull(keyRotationPolicy.getCreatedOn()); + assertNull(keyRotationPolicy.getUpdatedOn()); + assertNull(keyRotationPolicy.getExpiryTime()); + assertNull(keyRotationPolicy.getLifetimeActions()); + } + + /** + * Tests that fetching the key rotation policy of a non-existent key throws. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void updateGetKeyRotationPolicyWithMinimumProperties(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + updateGetKeyRotationPolicyWithMinimumPropertiesRunner((keyName, keyRotationPolicyProperties) -> { + client.createRsaKey(new CreateRsaKeyOptions(keyName)); + + KeyRotationPolicy updatedKeyRotationPolicy = + client.updateKeyRotationPolicy(keyName, keyRotationPolicyProperties); + KeyRotationPolicy retrievedKeyRotationPolicy = client.getKeyRotationPolicy(keyName); + + assertKeyVaultRotationPolicyEquals(updatedKeyRotationPolicy, retrievedKeyRotationPolicy); + }); + } + + /** + * Tests that an key rotation policy can be updated with all possible properties, then retrieves it. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void updateGetKeyRotationPolicyWithAllProperties(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + updateGetKeyRotationPolicyWithAllPropertiesRunner((keyName, keyRotationPolicyProperties) -> { + client.createRsaKey(new CreateRsaKeyOptions(keyName)); + + KeyRotationPolicy updatedKeyRotationPolicy = + client.updateKeyRotationPolicy(keyName, keyRotationPolicyProperties); + KeyRotationPolicy retrievedKeyRotationPolicy = client.getKeyRotationPolicy(keyName); + + assertKeyVaultRotationPolicyEquals(updatedKeyRotationPolicy, retrievedKeyRotationPolicy); + }); + } + + /** + * Tests that a key can be rotated. + */ + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("getTestParameters") + public void rotateKey(HttpClient httpClient, KeyServiceVersion serviceVersion) { + createKeyClient(httpClient, serviceVersion); + + String keyName = testResourceNamer.randomName("rotateKey", 20); + KeyVaultKey createdKey = client.createRsaKey(new CreateRsaKeyOptions(keyName)); + KeyVaultKey rotatedKey = client.rotateKey(keyName); + + assertEquals(createdKey.getName(), rotatedKey.getName()); + assertEquals(createdKey.getProperties().getTags(), rotatedKey.getProperties().getTags()); + } + private DeletedKey pollOnKeyPurge(String keyName) { int pendingPollCount = 0; while (pendingPollCount < 10) { diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTestBase.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTestBase.java index d7b878adc623b..b08d71bcdbb2f 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTestBase.java @@ -11,7 +11,6 @@ import com.azure.core.http.HttpPipelineBuilder; import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.ExponentialBackoff; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; @@ -30,37 +29,42 @@ import com.azure.core.util.serializer.SerializerAdapter; import com.azure.core.util.serializer.SerializerEncoding; import com.azure.identity.ClientSecretCredentialBuilder; +import com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy; +import com.azure.security.keyvault.keys.models.CreateKeyOptions; +import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; +import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; +import com.azure.security.keyvault.keys.models.KeyReleasePolicy; +import com.azure.security.keyvault.keys.models.KeyRotationLifetimeAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicy; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyAction; +import com.azure.security.keyvault.keys.models.KeyRotationPolicyProperties; +import com.azure.security.keyvault.keys.models.KeyType; +import com.azure.security.keyvault.keys.models.KeyVaultKey; +import com.fasterxml.jackson.annotation.JsonProperty; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.provider.Arguments; import java.io.IOException; import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.time.Duration; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.UUID; -import java.util.stream.Stream; - -import com.azure.security.keyvault.keys.models.CreateKeyOptions; -import com.azure.security.keyvault.keys.models.CreateOctKeyOptions; -import com.azure.security.keyvault.keys.models.CreateRsaKeyOptions; -import com.azure.security.keyvault.keys.models.KeyReleasePolicy; -import com.azure.security.keyvault.keys.models.KeyType; -import com.azure.security.keyvault.keys.models.KeyVaultKey; -import com.fasterxml.jackson.annotation.JsonProperty; -import org.junit.jupiter.api.Test; - -import java.time.OffsetDateTime; -import java.time.ZoneOffset; import java.util.function.BiConsumer; import java.util.function.Consumer; -import org.junit.jupiter.params.provider.Arguments; +import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; public abstract class KeyClientTestBase extends TestBase { @@ -71,7 +75,8 @@ public abstract class KeyClientTestBase extends TestBase { private static final String SERVICE_VERSION_FROM_ENV = Configuration.getGlobalConfiguration().get(AZURE_KEYVAULT_TEST_KEYS_SERVICE_VERSIONS); private static final SerializerAdapter SERIALIZER_ADAPTER = JacksonAdapter.createDefaultSerializerAdapter(); - protected boolean isManagedHsmTest = false; + protected boolean isHsmEnabled = false; + protected boolean runManagedHsmTest = false; @Override protected String getTestName() { @@ -81,7 +86,7 @@ protected String getTestName() { void beforeTestSetup() { } - HttpPipeline getHttpPipeline(HttpClient httpClient, KeyServiceVersion serviceVersion) { + HttpPipeline getHttpPipeline(HttpClient httpClient) { TokenCredential credential = null; if (!interceptorManager.isPlaybackMode()) { @@ -100,15 +105,14 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, KeyServiceVersion serviceVer // Closest to API goes first, closest to wire goes last. final List policies = new ArrayList<>(); - policies.add(new UserAgentPolicy(SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone(), serviceVersion)); + policies.add(new UserAgentPolicy(null, SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone())); HttpPolicyProviders.addBeforeRetryPolicies(policies); RetryStrategy strategy = new ExponentialBackoff(5, Duration.ofSeconds(2), Duration.ofSeconds(16)); policies.add(new RetryPolicy(strategy)); if (credential != null) { - policies.add(new BearerTokenAuthenticationPolicy(credential, - isManagedHsmTest ? KeyAsyncClient.MHSM_SCOPE : KeyAsyncClient.KEY_VAULT_SCOPE)); + policies.add(new KeyVaultCredentialPolicy(credential)); } HttpPolicyProviders.addAfterRetryPolicies(policies); @@ -127,14 +131,14 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, KeyServiceVersion serviceVer } @Test - public abstract void setKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void setKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void setKeyRunner(Consumer testRunner) { final Map tags = new HashMap<>(); tags.put("foo", "baz"); - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyOptions = new CreateKeyOptions(generateResourceId(KEY_NAME), keyType) .setExpiresOn(OffsetDateTime.of(2050, 1, 30, 0, 0, 0, 0, ZoneOffset.UTC)) .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)) @@ -144,7 +148,7 @@ void setKeyRunner(Consumer testRunner) { } @Test - public abstract void createRsaKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void createRsaKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void createRsaKeyRunner(Consumer testRunner) { final Map tags = new HashMap<>(); @@ -156,7 +160,7 @@ void createRsaKeyRunner(Consumer testRunner) { .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)) .setTags(tags); - if (isManagedHsmTest) { + if (runManagedHsmTest) { createRsaKeyOptions.setHardwareProtected(true); } @@ -164,10 +168,10 @@ void createRsaKeyRunner(Consumer testRunner) { } @Test - public abstract void setKeyEmptyName(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void setKeyEmptyName(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void setKeyNullType(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void setKeyNullType(HttpClient httpClient, KeyServiceVersion serviceVersion); void setKeyEmptyValueRunner(Consumer testRunner) { CreateKeyOptions key = new CreateKeyOptions(KEY_NAME, null); @@ -175,11 +179,11 @@ void setKeyEmptyValueRunner(Consumer testRunner) { testRunner.accept(key); } - @Test public abstract void setKeyNull(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + @Test public abstract void setKeyNull(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void updateKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void updateKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void updateKeyRunner(BiConsumer testRunner) { final Map tags = new HashMap<>(); @@ -188,7 +192,7 @@ void updateKeyRunner(BiConsumer testRunner) tags.put("second tag", "second value"); final String keyName = generateResourceId("testKey1"); - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions originalKey = new CreateKeyOptions(keyName, keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)) .setTags(tags); @@ -201,11 +205,11 @@ void updateKeyRunner(BiConsumer testRunner) @Test - public abstract void updateDisabledKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void updateDisabledKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void updateDisabledKeyRunner(BiConsumer testRunner) { final String keyName = generateResourceId("testKey2"); - final KeyType keyType = isManagedHsmTest ? KeyType.EC_HSM : KeyType.EC; + final KeyType keyType = isHsmEnabled ? KeyType.EC_HSM : KeyType.EC; final CreateKeyOptions originalKey = new CreateKeyOptions(keyName, keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)) .setEnabled(false); @@ -216,10 +220,10 @@ void updateDisabledKeyRunner(BiConsumer test } @Test - public abstract void getKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void getKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void getKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions originalKey = new CreateKeyOptions(generateResourceId("testKey4"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -227,11 +231,11 @@ void getKeyRunner(Consumer testRunner) { } @Test - public abstract void getKeySpecificVersion(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void getKeySpecificVersion(HttpClient httpClient, KeyServiceVersion serviceVersion); void getKeySpecificVersionRunner(BiConsumer testRunner) { final String keyName = generateResourceId("testKey3"); - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions key = new CreateKeyOptions(keyName, keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); final CreateKeyOptions keyWithNewVal = new CreateKeyOptions(keyName, keyType) @@ -241,13 +245,13 @@ void getKeySpecificVersionRunner(BiConsumer } @Test - public abstract void getKeyNotFound(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void getKeyNotFound(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void deleteKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void deleteKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void deleteKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyToDelete = new CreateKeyOptions(generateResourceId("testKey5"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -255,13 +259,13 @@ void deleteKeyRunner(Consumer testRunner) { } @Test - public abstract void deleteKeyNotFound(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void deleteKeyNotFound(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void getDeletedKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void getDeletedKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void getDeletedKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyToDeleteAndGet = new CreateKeyOptions(generateResourceId("testKey6"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -269,13 +273,13 @@ void getDeletedKeyRunner(Consumer testRunner) { } @Test - public abstract void getDeletedKeyNotFound(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void getDeletedKeyNotFound(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void recoverDeletedKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void recoverDeletedKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void recoverDeletedKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyToDeleteAndRecover = new CreateKeyOptions(generateResourceId("testKey7"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -283,13 +287,13 @@ void recoverDeletedKeyRunner(Consumer testRunner) { } @Test - public abstract void recoverDeletedKeyNotFound(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void recoverDeletedKeyNotFound(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void backupKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void backupKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void backupKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyToBackup = new CreateKeyOptions(generateResourceId("testKey8"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -297,13 +301,13 @@ void backupKeyRunner(Consumer testRunner) { } @Test - public abstract void backupKeyNotFound(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void backupKeyNotFound(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void restoreKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void restoreKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void restoreKeyRunner(Consumer testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; final CreateKeyOptions keyToBackupAndRestore = new CreateKeyOptions(generateResourceId("testKey9"), keyType) .setExpiresOn(OffsetDateTime.of(2050, 5, 25, 0, 0, 0, 0, ZoneOffset.UTC)); @@ -311,13 +315,13 @@ void restoreKeyRunner(Consumer testRunner) { } @Test - public abstract void restoreKeyFromMalformedBackup(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void restoreKeyFromMalformedBackup(HttpClient httpClient, KeyServiceVersion serviceVersion); @Test - public abstract void listKeys(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void listKeys(HttpClient httpClient, KeyServiceVersion serviceVersion); void listKeysRunner(Consumer> testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; HashMap keys = new HashMap<>(); String keyName; @@ -333,10 +337,10 @@ void listKeysRunner(Consumer> testRunner) { } @Test - public abstract void listKeyVersions(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void listKeyVersions(HttpClient httpClient, KeyServiceVersion serviceVersion); void listKeyVersionsRunner(Consumer> testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; List keys = new ArrayList<>(); String keyName = generateResourceId("listKeyVersion"); @@ -349,10 +353,10 @@ void listKeyVersionsRunner(Consumer> testRunner) { } @Test - public abstract void listDeletedKeys(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void listDeletedKeys(HttpClient httpClient, KeyServiceVersion serviceVersion); void listDeletedKeysRunner(Consumer> testRunner) { - final KeyType keyType = isManagedHsmTest ? KeyType.RSA_HSM : KeyType.RSA; + final KeyType keyType = isHsmEnabled ? KeyType.RSA_HSM : KeyType.RSA; HashMap keys = new HashMap<>(); String keyName; @@ -371,14 +375,14 @@ void createRsaKeyWithPublicExponentRunner(Consumer testRunn tags.put("foo", "baz"); - final CreateRsaKeyOptions keyOptions = new CreateRsaKeyOptions(generateResourceId("testRsaKey")) + final CreateRsaKeyOptions keyOptions = new CreateRsaKeyOptions(testResourceNamer.randomName("testRsaKey", 20)) .setExpiresOn(OffsetDateTime.of(2050, 1, 30, 0, 0, 0, 0, ZoneOffset.UTC)) .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)) .setTags(tags) .setKeySize(2048) .setPublicExponent(3); - if (isManagedHsmTest) { + if (runManagedHsmTest) { keyOptions.setHardwareProtected(true); } @@ -395,7 +399,7 @@ void createOctKeyRunner(Consumer testRunner) { .setNotBefore(OffsetDateTime.of(2000, 1, 30, 12, 59, 59, 0, ZoneOffset.UTC)) .setTags(tags); - if (isManagedHsmTest) { + if (runManagedHsmTest) { keyOptions.setHardwareProtected(true); } @@ -409,7 +413,7 @@ void getRandomBytesRunner(Consumer testRunner) { } @Test - public abstract void releaseKey(HttpClient httpClient, KeyServiceVersion keyServiceVersion); + public abstract void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion); void releaseKeyRunner(BiConsumer testRunner) { final String attestationUrl = Configuration.getGlobalConfiguration() @@ -434,13 +438,61 @@ void releaseKeyRunner(BiConsumer testRunner) { final CreateRsaKeyOptions keyToRelease = new CreateRsaKeyOptions(testResourceNamer.randomName("keyToRelease", 20)) .setKeySize(2048) - .setHardwareProtected(isManagedHsmTest) + .setHardwareProtected(runManagedHsmTest) .setReleasePolicy(new KeyReleasePolicy(releasePolicyContents.getBytes(StandardCharsets.UTF_8))) .setExportable(true); testRunner.accept(keyToRelease, attestationUrl); } + @Test + public abstract void createRsaKeyWithPublicExponent(HttpClient httpClient, KeyServiceVersion serviceVersion); + + @Test + public abstract void getKeyRotationPolicyOfNonExistentKey(HttpClient httpClient, KeyServiceVersion serviceVersion); + + @Test + public abstract void getKeyRotationPolicyWithNoPolicySet(HttpClient httpClient, KeyServiceVersion serviceVersion); + + @Test + public abstract void updateGetKeyRotationPolicyWithMinimumProperties(HttpClient httpClient, KeyServiceVersion serviceVersion); + + void updateGetKeyRotationPolicyWithMinimumPropertiesRunner(BiConsumer testRunner) { + String keyName = testResourceNamer.randomName("rotateKey", 20); + + KeyRotationPolicyProperties keyRotationPolicyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(Collections.emptyList()); + + testRunner.accept(keyName, keyRotationPolicyProperties); + } + + @Test + public abstract void updateGetKeyRotationPolicyWithAllProperties(HttpClient httpClient, KeyServiceVersion serviceVersion); + + void updateGetKeyRotationPolicyWithAllPropertiesRunner(BiConsumer testRunner) { + String keyName = testResourceNamer.randomName("rotateKey", 20); + + List keyRotationLifetimeActionList = new ArrayList<>(); + KeyRotationLifetimeAction rotateLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.ROTATE) + .setTimeAfterCreate("P7D") + .setTimeBeforeExpiry("P7D"); + KeyRotationLifetimeAction notifyLifetimeAction = new KeyRotationLifetimeAction(KeyRotationPolicyAction.NOTIFY) + .setTimeAfterCreate("P7D") + .setTimeBeforeExpiry("P7D"); + + keyRotationLifetimeActionList.add(rotateLifetimeAction); + keyRotationLifetimeActionList.add(notifyLifetimeAction); + + KeyRotationPolicyProperties keyRotationPolicyProperties = new KeyRotationPolicyProperties() + .setLifetimeActions(keyRotationLifetimeActionList) + .setExpiryTime("P6M"); + + testRunner.accept(keyName, keyRotationPolicyProperties); + } + + @Test + public abstract void rotateKey(HttpClient httpClient, KeyServiceVersion serviceVersion); + String generateResourceId(String suffix) { if (interceptorManager.isPlaybackMode()) { return suffix; @@ -489,7 +541,7 @@ static void assertKeyEquals(CreateKeyOptions expected, KeyVaultKey actual) { } public String getEndpoint() { - final String endpoint = isManagedHsmTest + final String endpoint = isHsmEnabled ? Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT", "http://localhost:8080") : Configuration.getGlobalConfiguration().get("AZURE_KEYVAULT_ENDPOINT", "http://localhost:8080"); @@ -651,4 +703,36 @@ public static String getAttestationToken(String attestationUrl) throws IOExcepti return attestationToken.getToken(); } } + + protected void assertKeyVaultRotationPolicyEquals(KeyRotationPolicy expected, KeyRotationPolicy actual) { + assertTrue(expected == null && actual == null || expected != null && actual != null); + + if (expected == null) { + return; + } + + assertEquals(expected.getId(), actual.getId()); + assertEquals(expected.getCreatedOn(), actual.getCreatedOn()); + assertEquals(expected.getUpdatedOn(), actual.getUpdatedOn()); + assertEquals(expected.getExpiryTime(), actual.getExpiryTime()); + + List expectedLifetimeActions = expected.getLifetimeActions(); + List actualLifetimeActions = actual.getLifetimeActions(); + + assertTrue(expectedLifetimeActions == null && actualLifetimeActions == null + || expectedLifetimeActions != null && actualLifetimeActions != null); + + if (expectedLifetimeActions != null) { + assertEquals(expectedLifetimeActions.size(), actualLifetimeActions.size()); + + for (int i = 0; i < expectedLifetimeActions.size(); i++) { + KeyRotationLifetimeAction expectedLifetimeAction = expectedLifetimeActions.get(i); + KeyRotationLifetimeAction actualLifetimeAction = actualLifetimeActions.get(i); + + assertEquals(expectedLifetimeAction.getType(), actualLifetimeAction.getType()); + assertEquals(expectedLifetimeAction.getTimeAfterCreate(), actualLifetimeAction.getTimeAfterCreate()); + assertEquals(expectedLifetimeAction.getTimeBeforeExpiry(), actualLifetimeAction.getTimeBeforeExpiry()); + } + } + } } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientManagedHsmTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientManagedHsmTest.java index df9b24153948a..2074a233c482c 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientManagedHsmTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientManagedHsmTest.java @@ -8,12 +8,13 @@ public class CryptographyClientManagedHsmTest extends CryptographyClientTest { public CryptographyClientManagedHsmTest() { - this.isManagedHsmTest = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.isHsmEnabled = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.runManagedHsmTest = isHsmEnabled || getTestMode() == TestMode.PLAYBACK; } @Override protected void beforeTest() { - Assumptions.assumeTrue(isManagedHsmTest && getTestMode() != TestMode.PLAYBACK); + Assumptions.assumeTrue(runManagedHsmTest); super.beforeTest(); } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTest.java index e06ed61f29b7d..8b0edb97e02eb 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTest.java @@ -8,13 +8,11 @@ import com.azure.core.util.Context; import com.azure.security.keyvault.keys.KeyClient; import com.azure.security.keyvault.keys.KeyClientBuilder; -import com.azure.security.keyvault.keys.KeyServiceVersion; import com.azure.security.keyvault.keys.cryptography.models.EncryptParameters; import com.azure.security.keyvault.keys.cryptography.models.EncryptionAlgorithm; import com.azure.security.keyvault.keys.cryptography.models.KeyWrapAlgorithm; import com.azure.security.keyvault.keys.cryptography.models.SignatureAlgorithm; import com.azure.security.keyvault.keys.models.JsonWebKey; -//import com.azure.security.keyvault.keys.models.KeyCurveName; import com.azure.security.keyvault.keys.models.KeyOperation; import com.azure.security.keyvault.keys.models.KeyVaultKey; import org.junit.jupiter.api.Test; @@ -49,7 +47,7 @@ protected void beforeTest() { } private void initializeKeyClient(HttpClient httpClient) { - pipeline = getHttpPipeline(httpClient, KeyServiceVersion.getLatest()); + pipeline = getHttpPipeline(httpClient); client = new KeyClientBuilder() .pipeline(pipeline) .vaultUrl(getEndpoint()) @@ -57,7 +55,7 @@ private void initializeKeyClient(HttpClient httpClient) { } private CryptographyClient initializeCryptographyClient(String keyId, HttpClient httpClient, CryptographyServiceVersion serviceVersion) { - pipeline = getHttpPipeline(httpClient, serviceVersion); + pipeline = getHttpPipeline(httpClient); return new CryptographyClientBuilder() .pipeline(pipeline) .serviceVersion(serviceVersion) @@ -71,7 +69,7 @@ public void encryptDecryptRsa(HttpClient httpClient, CryptographyServiceVersion initializeKeyClient(httpClient); encryptDecryptRsaRunner(keyPair -> { JsonWebKey key = JsonWebKey.fromRsa(keyPair); - String keyName = generateResourceId("testRsaKey"); + String keyName = testResourceNamer.randomName("testRsaKey", 20); KeyVaultKey importedKey = client.importKey(keyName, key); CryptographyClient cryptoClient = initializeCryptographyClient(importedKey.getId(), httpClient, serviceVersion); CryptographyServiceClient serviceClient = cryptoClient.getServiceClient(); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTestBase.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTestBase.java index 100eab91bd5b1..c0167e6639c1f 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/CryptographyClientTestBase.java @@ -8,7 +8,6 @@ import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.ExponentialBackoff; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; @@ -22,13 +21,13 @@ import com.azure.core.test.TestMode; import com.azure.core.util.Configuration; import com.azure.core.util.Context; -import com.azure.core.util.ServiceVersion; import com.azure.identity.ClientSecretCredentialBuilder; import com.azure.security.keyvault.keys.cryptography.models.DecryptParameters; import com.azure.security.keyvault.keys.cryptography.models.DecryptResult; import com.azure.security.keyvault.keys.cryptography.models.EncryptParameters; import com.azure.security.keyvault.keys.cryptography.models.EncryptResult; import com.azure.security.keyvault.keys.cryptography.models.EncryptionAlgorithm; +import com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy; import com.azure.security.keyvault.keys.models.JsonWebKey; import com.azure.security.keyvault.keys.models.KeyOperation; import org.junit.jupiter.api.Test; @@ -59,7 +58,8 @@ public abstract class CryptographyClientTestBase extends TestBase { private static final String SDK_NAME = "client_name"; private static final String SDK_VERSION = "client_version"; - protected boolean isManagedHsmTest = false; + protected boolean isHsmEnabled = false; + protected boolean runManagedHsmTest = false; @Override protected String getTestName() { @@ -69,7 +69,7 @@ protected String getTestName() { void beforeTestSetup() { } - HttpPipeline getHttpPipeline(HttpClient httpClient, ServiceVersion serviceVersion) { + HttpPipeline getHttpPipeline(HttpClient httpClient) { TokenCredential credential = null; if (!interceptorManager.isPlaybackMode()) { @@ -89,14 +89,13 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, ServiceVersion serviceVersio // Closest to API goes first, closest to wire goes last. final List policies = new ArrayList<>(); - policies.add(new UserAgentPolicy(SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone(), serviceVersion)); + policies.add(new UserAgentPolicy(null, SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone())); HttpPolicyProviders.addBeforeRetryPolicies(policies); RetryStrategy strategy = new ExponentialBackoff(5, Duration.ofSeconds(2), Duration.ofSeconds(16)); policies.add(new RetryPolicy(strategy)); if (credential != null) { - policies.add(new BearerTokenAuthenticationPolicy(credential, - isManagedHsmTest ? CryptographyAsyncClient.MHSM_SCOPE : CryptographyAsyncClient.KEY_VAULT_SCOPE)); + policies.add(new KeyVaultCredentialPolicy(credential)); } HttpPolicyProviders.addAfterRetryPolicies(policies); @@ -233,7 +232,7 @@ String generateResourceId(String suffix) { } public String getEndpoint() { - final String endpoint = isManagedHsmTest + final String endpoint = runManagedHsmTest ? Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT", "http://localhost:8080") : Configuration.getGlobalConfiguration().get("AZURE_KEYVAULT_ENDPOINT", "http://localhost:8080"); diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientManagedHsmTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientManagedHsmTest.java new file mode 100644 index 0000000000000..58d33ded2132e --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientManagedHsmTest.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +package com.azure.security.keyvault.keys.cryptography; + +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpPipeline; +import com.azure.core.test.TestMode; +import com.azure.core.util.Configuration; +import com.azure.security.keyvault.keys.KeyClient; +import com.azure.security.keyvault.keys.KeyClientBuilder; +import com.azure.security.keyvault.keys.KeyServiceVersion; +import com.azure.security.keyvault.keys.models.JsonWebKey; +import com.azure.security.keyvault.keys.models.KeyOperation; +import com.azure.security.keyvault.keys.models.KeyVaultKey; +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import javax.crypto.SecretKey; +import javax.crypto.spec.SecretKeySpec; + +import java.util.Arrays; + +import static com.azure.security.keyvault.keys.cryptography.TestHelper.DISPLAY_NAME_WITH_ARGUMENTS; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +public class KeyEncryptionKeyClientManagedHsmTest extends KeyEncryptionKeyClientTest { + private KeyVaultKey keyVaultKey; + + public KeyEncryptionKeyClientManagedHsmTest() { + this.isHsmEnabled = Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT") != null; + this.runManagedHsmTest = isHsmEnabled || getTestMode() == TestMode.PLAYBACK; + } + + @Override + protected void beforeTest() { + Assumptions.assumeTrue(runManagedHsmTest); + + super.beforeTest(); + } + + private void setupKeyAndClient(JsonWebKey jsonWebKey, HttpClient httpClient, CryptographyServiceVersion serviceVersion) { + HttpPipeline pipeline = getHttpPipeline(httpClient); + + if (keyVaultKey == null) { + KeyClient keyClient = new KeyClientBuilder() + .vaultUrl(getEndpoint()) + .pipeline(pipeline) + .serviceVersion(KeyServiceVersion.valueOf(serviceVersion.name())) + .buildClient(); + keyVaultKey = keyClient.importKey(testResourceNamer.randomName("symmetricKey", 20), jsonWebKey); + keyEncryptionKey = new KeyEncryptionKeyClientBuilder() + .pipeline(pipeline) + .serviceVersion(serviceVersion) + .buildKeyEncryptionKey(keyVaultKey.getId()); + } + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.security.keyvault.keys.cryptography.TestHelper#getTestParameters") + @Override + public void wrapUnwrapSymmetricAK128(HttpClient httpClient, CryptographyServiceVersion serviceVersion) { + byte[] kek = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F}; + SecretKey secretKeySpec = new SecretKeySpec(kek, "AES"); + JsonWebKey jsonWebKey = + JsonWebKey.fromAes(secretKeySpec, Arrays.asList(KeyOperation.WRAP_KEY, KeyOperation.UNWRAP_KEY)); + + setupKeyAndClient(jsonWebKey, httpClient, serviceVersion); + + byte[] cek = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; + byte[] encrypted = keyEncryptionKey.wrapKey("A128KW", cek); + byte[] ek = {0x1F, (byte) 0xA6, (byte) 0x8B, 0x0A, (byte) 0x81, 0x12, (byte) 0xB4, 0x47, (byte) 0xAE, (byte) 0xF3, 0x4B, (byte) 0xD8, (byte) 0xFB, 0x5A, 0x7B, (byte) 0x82, (byte) 0x9D, 0x3E, (byte) 0x86, 0x23, 0x71, (byte) 0xD2, (byte) 0xCF, (byte) 0xE5}; + + assertArrayEquals(ek, encrypted); + + byte[] dek = keyEncryptionKey.unwrapKey("A128KW", ek); + + assertArrayEquals(dek, cek); + } + + @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) + @MethodSource("com.azure.security.keyvault.keys.cryptography.TestHelper#getTestParameters") + @Override + public void wrapUnwrapSymmetricAK192(HttpClient httpClient, CryptographyServiceVersion serviceVersion) { + byte[] kek = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17}; + SecretKey secretKeySpec = new SecretKeySpec(kek, "AES"); + JsonWebKey jsonWebKey = + JsonWebKey.fromAes(secretKeySpec, Arrays.asList(KeyOperation.WRAP_KEY, KeyOperation.UNWRAP_KEY)); + + setupKeyAndClient(jsonWebKey, httpClient, serviceVersion); + + byte[] cek = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; + byte[] encrypted = keyEncryptionKey.wrapKey("A192KW", cek); + byte[] ek = {(byte) 0x96, 0x77, (byte) 0x8B, 0x25, (byte) 0xAE, 0x6C, (byte) 0xA4, 0x35, (byte) 0xF9, 0x2B, 0x5B, (byte) 0x97, (byte) 0xC0, 0x50, (byte) 0xAE, (byte) 0xD2, 0x46, (byte) 0x8A, (byte) 0xB8, (byte) 0xA1, 0x7A, (byte) 0xD8, 0x4E, 0x5D}; + + assertArrayEquals(ek, encrypted); + + byte[] dek = keyEncryptionKey.unwrapKey("A192KW", ek); + + assertArrayEquals(dek, cek); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTest.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTest.java index a7d480c090836..992db23a5a541 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTest.java @@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals; public class KeyEncryptionKeyClientTest extends KeyEncryptionKeyClientTestBase { - private KeyEncryptionKey client; + protected KeyEncryptionKey keyEncryptionKey; private SecretKey secretKey; @Override @@ -31,13 +31,14 @@ protected void beforeTest() { } private void setupSecretKeyAndClient(byte[] kek, HttpClient httpClient, CryptographyServiceVersion serviceVersion) { - HttpPipeline pipeline = getHttpPipeline(httpClient, serviceVersion); + HttpPipeline pipeline = getHttpPipeline(httpClient); if (secretKey == null) { CryptographyServiceClient serviceClient = new CryptographyServiceClient(getEndpoint(), - RestProxy.create(CryptographyService.class, pipeline), CryptographyServiceVersion.getLatest()); - secretKey = serviceClient.setSecretKey(new SecretKey("secretKey", Base64.getEncoder().encodeToString(kek)), Context.NONE).block().getValue(); - client = new KeyEncryptionKeyClientBuilder() + RestProxy.create(CryptographyService.class, pipeline), serviceVersion); + secretKey = serviceClient.setSecretKey(new SecretKey(testResourceNamer.randomName("secretKey", 20), + Base64.getEncoder().encodeToString(kek)), Context.NONE).block().getValue(); + keyEncryptionKey = new KeyEncryptionKeyClientBuilder() .pipeline(pipeline) .serviceVersion(serviceVersion) .buildKeyEncryptionKey(secretKey.getId()); @@ -60,12 +61,12 @@ public void wrapUnwrapSymmetricAK128(HttpClient httpClient, CryptographyServiceV setupSecretKeyAndClient(kek, httpClient, serviceVersion); byte[] cek = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; - byte[] encrypted = client.wrapKey("A128KW", cek); + byte[] encrypted = keyEncryptionKey.wrapKey("A128KW", cek); byte[] ek = {0x1F, (byte) 0xA6, (byte) 0x8B, 0x0A, (byte) 0x81, 0x12, (byte) 0xB4, 0x47, (byte) 0xAE, (byte) 0xF3, 0x4B, (byte) 0xD8, (byte) 0xFB, 0x5A, 0x7B, (byte) 0x82, (byte) 0x9D, 0x3E, (byte) 0x86, 0x23, 0x71, (byte) 0xD2, (byte) 0xCF, (byte) 0xE5}; assertArrayEquals(ek, encrypted); - byte[] dek = client.unwrapKey("A128KW", ek); + byte[] dek = keyEncryptionKey.unwrapKey("A128KW", ek); assertArrayEquals(dek, cek); } @@ -93,12 +94,12 @@ public void wrapUnwrapSymmetricAK192(HttpClient httpClient, CryptographyServiceV setupSecretKeyAndClient(kek, httpClient, serviceVersion); byte[] cek = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; - byte[] encrypted = client.wrapKey("A192KW", cek); + byte[] encrypted = keyEncryptionKey.wrapKey("A192KW", cek); byte[] ek = {(byte) 0x96, 0x77, (byte) 0x8B, 0x25, (byte) 0xAE, 0x6C, (byte) 0xA4, 0x35, (byte) 0xF9, 0x2B, 0x5B, (byte) 0x97, (byte) 0xC0, 0x50, (byte) 0xAE, (byte) 0xD2, 0x46, (byte) 0x8A, (byte) 0xB8, (byte) 0xA1, 0x7A, (byte) 0xD8, 0x4E, 0x5D}; assertArrayEquals(ek, encrypted); - byte[] dek = client.unwrapKey("A192KW", ek); + byte[] dek = keyEncryptionKey.unwrapKey("A192KW", ek); assertArrayEquals(dek, cek); } @@ -108,14 +109,14 @@ public void wrapUnwrapSymmetricAK192Local() { byte[] kek = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17}; JsonWebKey localKey = JsonWebKey.fromAes(new SecretKeySpec(kek, "AES"), Arrays.asList(KeyOperation.WRAP_KEY, KeyOperation.UNWRAP_KEY)).setId("testKey"); - client = setupKeyEncryptionKey(localKey); + keyEncryptionKey = setupKeyEncryptionKey(localKey); byte[] cek = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; - byte[] encrypted = client.wrapKey("A192KW", cek); + byte[] encrypted = keyEncryptionKey.wrapKey("A192KW", cek); byte[] ek = {(byte) 0x96, 0x77, (byte) 0x8B, 0x25, (byte) 0xAE, 0x6C, (byte) 0xA4, 0x35, (byte) 0xF9, 0x2B, 0x5B, (byte) 0x97, (byte) 0xC0, 0x50, (byte) 0xAE, (byte) 0xD2, 0x46, (byte) 0x8A, (byte) 0xB8, (byte) 0xA1, 0x7A, (byte) 0xD8, 0x4E, 0x5D}; assertArrayEquals(ek, encrypted); - byte[] dek = client.unwrapKey("A192KW", ek); + byte[] dek = keyEncryptionKey.unwrapKey("A192KW", ek); assertArrayEquals(dek, cek); } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTestBase.java b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTestBase.java index 39178a5ebacf6..dc669c6e71509 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClientTestBase.java @@ -8,7 +8,6 @@ import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.ExponentialBackoff; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; @@ -22,6 +21,7 @@ import com.azure.core.test.TestMode; import com.azure.core.util.Configuration; import com.azure.identity.ClientSecretCredentialBuilder; +import com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy; import org.junit.jupiter.api.Test; import java.time.Duration; @@ -35,6 +35,8 @@ public abstract class KeyEncryptionKeyClientTestBase extends TestBase { private static final String SDK_NAME = "client_name"; private static final String SDK_VERSION = "client_version"; + protected boolean isHsmEnabled = false; + protected boolean runManagedHsmTest = false; @Override protected String getTestName() { @@ -44,7 +46,7 @@ protected String getTestName() { void beforeTestSetup() { } - HttpPipeline getHttpPipeline(HttpClient httpClient, CryptographyServiceVersion serviceVersion) { + HttpPipeline getHttpPipeline(HttpClient httpClient) { TokenCredential credential = null; if (!interceptorManager.isPlaybackMode()) { @@ -64,12 +66,12 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, CryptographyServiceVersion s // Closest to API goes first, closest to wire goes last. final List policies = new ArrayList<>(); policies.add( - new UserAgentPolicy(SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone(), serviceVersion)); + new UserAgentPolicy(null, SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone())); HttpPolicyProviders.addBeforeRetryPolicies(policies); RetryStrategy strategy = new ExponentialBackoff(5, Duration.ofSeconds(2), Duration.ofSeconds(16)); policies.add(new RetryPolicy(strategy)); if (credential != null) { - policies.add(new BearerTokenAuthenticationPolicy(credential, CryptographyAsyncClient.KEY_VAULT_SCOPE)); + policies.add(new KeyVaultCredentialPolicy(credential)); } HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))); @@ -98,8 +100,9 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, CryptographyServiceVersion s public String getEndpoint() { - final String endpoint = - Configuration.getGlobalConfiguration().get("AZURE_KEYVAULT_ENDPOINT", "http://localhost:8080"); + final String endpoint = runManagedHsmTest + ? Configuration.getGlobalConfiguration().get("AZURE_MANAGEDHSM_ENDPOINT", "http://localhost:8080") + : Configuration.getGlobalConfiguration().get("AZURE_KEYVAULT_ENDPOINT", "http://localhost:8080"); Objects.requireNonNull(endpoint); return endpoint; } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/CryptographyClientTest.encryptDecryptRsa[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/CryptographyClientTest.encryptDecryptRsa[1].json index 166db492a07f3..f7177f59d7324 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/CryptographyClientTest.encryptDecryptRsa[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/CryptographyClientTest.encryptDecryptRsa[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -20,14 +20,14 @@ "Expires" : "-1", "x-ms-request-id" : "67cc2bb9-c6e3-45c0-9fd8-4ae3e0b920b4", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1_6ZtP288hEkKML-L6nFyZh1PD1rmAgwbbwjEvTSDK_008BYWhjp_6ULy9BhWtRIytNkPkm9gzaBTrCpp-vyDXPGa836Htp-w8u5JmxoUZchJh576m3m-8ZYWTmZSAp5SpruyKAmLSxPJHEWPXQntnmuTMjb9HBT9Ltrwc0ZDk-jsMLYunDJrNmrRUxQgb0zQ_Tl5fJjj8j-0KVx2RXtbfWFvf5fRdBYyP3m0aUpoopQPwtXszD2LcSKMJ_TnmnvMWr8MOA5aRlBaGdBk7zBgRafvDPam3Q2AvFA9mfcAVncpfZ3JFm73VARw6MofXtRqOHtZ7y4oNbY95xXwU2r6w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1_6ZtP288hEkKML-L6nFyZh1PD1rmAgwbbwjEvTSDK_008BYWhjp_6ULy9BhWtRIytNkPkm9gzaBTrCpp-vyDXPGa836Htp-w8u5JmxoUZchJh576m3m-8ZYWTmZSAp5SpruyKAmLSxPJHEWPXQntnmuTMjb9HBT9Ltrwc0ZDk-jsMLYunDJrNmrRUxQgb0zQ_Tl5fJjj8j-0KVx2RXtbfWFvf5fRdBYyP3m0aUpoopQPwtXszD2LcSKMJ_TnmnvMWr8MOA5aRlBaGdBk7zBgRafvDPam3Q2AvFA9mfcAVncpfZ3JFm73VARw6MofXtRqOHtZ7y4oNbY95xXwU2r6w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -46,14 +46,14 @@ "Expires" : "-1", "x-ms-request-id" : "aba17f10-a5e4-4549-a53f-5fa8b92aea46", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1_6ZtP288hEkKML-L6nFyZh1PD1rmAgwbbwjEvTSDK_008BYWhjp_6ULy9BhWtRIytNkPkm9gzaBTrCpp-vyDXPGa836Htp-w8u5JmxoUZchJh576m3m-8ZYWTmZSAp5SpruyKAmLSxPJHEWPXQntnmuTMjb9HBT9Ltrwc0ZDk-jsMLYunDJrNmrRUxQgb0zQ_Tl5fJjj8j-0KVx2RXtbfWFvf5fRdBYyP3m0aUpoopQPwtXszD2LcSKMJ_TnmnvMWr8MOA5aRlBaGdBk7zBgRafvDPam3Q2AvFA9mfcAVncpfZ3JFm73VARw6MofXtRqOHtZ7y4oNbY95xXwU2r6w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1_6ZtP288hEkKML-L6nFyZh1PD1rmAgwbbwjEvTSDK_008BYWhjp_6ULy9BhWtRIytNkPkm9gzaBTrCpp-vyDXPGa836Htp-w8u5JmxoUZchJh576m3m-8ZYWTmZSAp5SpruyKAmLSxPJHEWPXQntnmuTMjb9HBT9Ltrwc0ZDk-jsMLYunDJrNmrRUxQgb0zQ_Tl5fJjj8j-0KVx2RXtbfWFvf5fRdBYyP3m0aUpoopQPwtXszD2LcSKMJ_TnmnvMWr8MOA5aRlBaGdBk7zBgRafvDPam3Q2AvFA9mfcAVncpfZ3JFm73VARw6MofXtRqOHtZ7y4oNbY95xXwU2r6w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -72,14 +72,14 @@ "Expires" : "-1", "x-ms-request-id" : "084c761a-2c25-41fd-9d5c-de0c560d3c90", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -98,14 +98,14 @@ "Expires" : "-1", "x-ms-request-id" : "66f763e2-5b77-4fca-9490-50ade8c9cf17", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"xsd4OuXmcDIoGPH5y0gJS2bwOWpji_jA1FlxQWrOdeGfpeAl9AqJxJ4mP3y1xoEhH0hce3ivzNPkfaBAkaPeZ6NzJuNV5cfccnEQh_yuojqbeRBswlYLOHsX-j_gVWx6N7ZyJacAIjb6UfsiCqUQqae_YzNcWjeY1NrnqEracFklQCrlX0bwG8hd1KkhALSMxEAZJ7FptHY9eBONQ9WuM4PQ-AwZ8X7_eD8CZi6tdj3N55Bk1eywzMHST0DTWOZHY5Mc3fjez9lulBtrnKO4G6E-VzvG0fgLCpwowzj4gTt5oHmLOpXx-Vfit_0WV42pXPSJkL_JlaiWeLvN28xLRQ\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"xsd4OuXmcDIoGPH5y0gJS2bwOWpji_jA1FlxQWrOdeGfpeAl9AqJxJ4mP3y1xoEhH0hce3ivzNPkfaBAkaPeZ6NzJuNV5cfccnEQh_yuojqbeRBswlYLOHsX-j_gVWx6N7ZyJacAIjb6UfsiCqUQqae_YzNcWjeY1NrnqEracFklQCrlX0bwG8hd1KkhALSMxEAZJ7FptHY9eBONQ9WuM4PQ-AwZ8X7_eD8CZi6tdj3N55Bk1eywzMHST0DTWOZHY5Mc3fjez9lulBtrnKO4G6E-VzvG0fgLCpwowzj4gTt5oHmLOpXx-Vfit_0WV42pXPSJkL_JlaiWeLvN28xLRQ\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -124,14 +124,14 @@ "Expires" : "-1", "x-ms-request-id" : "a3ece655-cde2-4fd5-b444-e7fde83fbc5d", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -150,14 +150,14 @@ "Expires" : "-1", "x-ms-request-id" : "cb996dd4-7935-4e44-abc2-60bd6cfb2870", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -176,14 +176,14 @@ "Expires" : "-1", "x-ms-request-id" : "af55f20e-fb6f-4831-a963-1bfb917ed043", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"CfxGJwHcySDUujOI529oNFPJfFD_uvBzIKxokkzRumkjQx-dFSZIYCObnrlVvUwGzFCivg5gMfrhu3S9Go0qebmbcvFNovVfwxHBSNHZlZa7ti8QeOS_AC-yGEoN-1dghhEix3BrC_pEeErx5-hXEtgClzkA6hb81XIseekV7ZJYNr3UIkLB24QNPivaeBtGMYIcvHHRvFxdSqkVk0B7UalpW7LcwJNaaP_gAqVn9YvdvOFYhwolIBwpe1KqWWyc8E7zRJiLm8tT24FvcVyt-78wppuIdJkd-i6NzVcWJWdYSl22maUo8STqrhsryP7iAJId0dtQWUT5lHi-fa82Lg\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"CfxGJwHcySDUujOI529oNFPJfFD_uvBzIKxokkzRumkjQx-dFSZIYCObnrlVvUwGzFCivg5gMfrhu3S9Go0qebmbcvFNovVfwxHBSNHZlZa7ti8QeOS_AC-yGEoN-1dghhEix3BrC_pEeErx5-hXEtgClzkA6hb81XIseekV7ZJYNr3UIkLB24QNPivaeBtGMYIcvHHRvFxdSqkVk0B7UalpW7LcwJNaaP_gAqVn9YvdvOFYhwolIBwpe1KqWWyc8E7zRJiLm8tT24FvcVyt-78wppuIdJkd-i6NzVcWJWdYSl22maUo8STqrhsryP7iAJId0dtQWUT5lHi-fa82Lg\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -202,14 +202,14 @@ "Expires" : "-1", "x-ms-request-id" : "4d078d8a-3584-4716-96c5-3f1788089c1d", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -228,14 +228,14 @@ "Expires" : "-1", "x-ms-request-id" : "6d076283-b891-4ab5-a276-b539519b5edb", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"xws0qRVs3uzJTPlOKwpQJ9Sz0GaqE0909b4n2bu5ciNAGjOiESyjUrMYibfL_Nq2z3U9wOS8_09e4-J7avLOE81KqR7mG2imm41w35scAFjQb0yoh4xeyMOCJzv_Sy1nSIJ1pmX0L3JYmcUfsRJPXlY9RGM2Gm6lmBJUqcGuOzYyMAL29ySo10h72xzegSVoMKpK0WR6mePV3UXsnCqUUZOiRPQtz9QZ61FEI4A27lqZ9ggJrgKKc-i30SAR95Ta79Pp8ZsYSCliOvSH2xgqJ5JKOrPIQReweARzaKlr-ZXPKfWjeas7QOvNkzdby8hCG3W4M-uXyOOsugDPoEAmUw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"xws0qRVs3uzJTPlOKwpQJ9Sz0GaqE0909b4n2bu5ciNAGjOiESyjUrMYibfL_Nq2z3U9wOS8_09e4-J7avLOE81KqR7mG2imm41w35scAFjQb0yoh4xeyMOCJzv_Sy1nSIJ1pmX0L3JYmcUfsRJPXlY9RGM2Gm6lmBJUqcGuOzYyMAL29ySo10h72xzegSVoMKpK0WR6mePV3UXsnCqUUZOiRPQtz9QZ61FEI4A27lqZ9ggJrgKKc-i30SAR95Ta79Pp8ZsYSCliOvSH2xgqJ5JKOrPIQReweARzaKlr-ZXPKfWjeas7QOvNkzdby8hCG3W4M-uXyOOsugDPoEAmUw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -254,14 +254,14 @@ "Expires" : "-1", "x-ms-request-id" : "82acb858-6733-4c01-a33e-9b68324473bd", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/encrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -280,14 +280,14 @@ "Expires" : "-1", "x-ms-request-id" : "0a1f65eb-2dea-4fa6-9e1c-6c3e325f8334", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"JGAOMcOGP99t044atSg2nC8Iki0KV1pBTiQgvUN5w3dVUDQdpOlbC8VC4dKv224GY4C-KJhxadX-h3S4Ap4HtrDW0ta-uHdk74tQKHDnyaF6bhyBfyKwQE-MpE3C-f9IwXPOXQlSGeKykeR8-eVAdnw6EXbtSuSW5G8-0OssF9_IOhhJKolLgrqW_mwynMfxVmPQAJLoKtWWNkV2mc4ky0WDANYOHw-5a2-yK92ygElwZRpyPw_QABcMU63K6jA7yiHDyOQyXiLfTEzme6XRKbrovaOFoI3ocEAXuWY2uftJLuOz-RJiQGen4DodT-Zk1aYHcWymORcUTVnCLRHtUw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"JGAOMcOGP99t044atSg2nC8Iki0KV1pBTiQgvUN5w3dVUDQdpOlbC8VC4dKv224GY4C-KJhxadX-h3S4Ap4HtrDW0ta-uHdk74tQKHDnyaF6bhyBfyKwQE-MpE3C-f9IwXPOXQlSGeKykeR8-eVAdnw6EXbtSuSW5G8-0OssF9_IOhhJKolLgrqW_mwynMfxVmPQAJLoKtWWNkV2mc4ky0WDANYOHw-5a2-yK92ygElwZRpyPw_QABcMU63K6jA7yiHDyOQyXiLfTEzme6XRKbrovaOFoI3ocEAXuWY2uftJLuOz-RJiQGen4DodT-Zk1aYHcWymORcUTVnCLRHtUw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186/decrypt?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -306,11 +306,11 @@ "Expires" : "-1", "x-ms-request-id" : "1a185137-f690-4b64-906c-6c347fb00855", "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", + "Body" : "{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey1s5185cs49/ba0a1cb7ed7248d9a9c62a8179c63186\",\"value\":\"G9GT23aoJ9lUS5WtxwlS9igODCiTObv_Z7U9HhTbk99t_24WdBcngS2ycvtJ7_VQ6ESEKt1QdoI8UMRwh2UOMalPrw1leEgbwgpOtCPjmzCk2fhuxCHyinA3x0iGnD2jyYaXiw\"}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "testRsaKey1s5185cs49" ] } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json index 23e79aa82e1b5..beccc6844cbc4 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testRsaKey/create?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testRsaKey523a5460/create?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -20,9 +20,9 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "b90305a6-ce6d-11eb-840d-000d3a967c02", - "Body" : "{\"attributes\":{\"created\":1623825621,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623825621},\"key\":{\"e\":\"Aw\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakvtr2hsm.managedhsm.azure.net/keys/testRsaKey/9b136de827f244d49f39bf4164309773\",\"kty\":\"RSA-HSM\",\"n\":\"oCuxUp70y8txMRmxyXU3b5SAeJvgjaQrc46em6MfZktNmZUBO9K5oSjrHdBe0OjZD-dR6odg4ZWKElOvlr9zk0_xJpaXbl5OCw4v-eiX096AdJHaM52mc0j3CbQyTLgN5ZdiCtBnsS2MJ9dZLYt1DEIIHadAeQvLe8_2JaK9qHXCi-aCawpdeMNZ_L2KZLLCZ_YinlPEK75-utSaGdZOOq8tTFqcwyT7NoXpzSHyaFFyKQ3hCoPnNiVXmOL_wP7XJo_1WOVHEuKIDvyuw_kLGWWY0Us3jAhbznpqIIi3AEup67HYvxt-QjiZEWAiB1pHthuWpKNQq__YwXv70HMovw\"},\"tags\":{\"foo\":\"baz\"}}" + "Body" : "{\"attributes\":{\"created\":1623825621,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623825621},\"key\":{\"e\":\"Aw\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakvtr2hsm.managedhsm.azure.net/keys/testRsaKey523a5460/9b136de827f244d49f39bf4164309773\",\"kty\":\"RSA-HSM\",\"n\":\"oCuxUp70y8txMRmxyXU3b5SAeJvgjaQrc46em6MfZktNmZUBO9K5oSjrHdBe0OjZD-dR6odg4ZWKElOvlr9zk0_xJpaXbl5OCw4v-eiX096AdJHaM52mc0j3CbQyTLgN5ZdiCtBnsS2MJ9dZLYt1DEIIHadAeQvLe8_2JaK9qHXCi-aCawpdeMNZ_L2KZLLCZ_YinlPEK75-utSaGdZOOq8tTFqcwyT7NoXpzSHyaFFyKQ3hCoPnNiVXmOL_wP7XJo_1WOVHEuKIDvyuw_kLGWWY0Us3jAhbznpqIIi3AEup67HYvxt-QjiZEWAiB1pHthuWpKNQq__YwXv70HMovw\"},\"tags\":{\"foo\":\"baz\"}}" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "testRsaKey523a5460" ] } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKey[1].json new file mode 100644 index 0000000000000..6603e54482d8f --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.createRsaKey[1].json @@ -0,0 +1,30 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/javaKeyTemp/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "773", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Fri, 23 Apr 2021 07:48:38 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "439e7e9a-2b63-46ba-911c-2e233c0cdde4", + "x-ms-keyvault-service-version" : "1.2.236.0", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/javaKeyTemp/b4d28c6275fd408892727ee57d09ea15\",\"kty\":\"RSA-HSM\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"phnDiOmao4LvvBShkgXLY3gnei_tAXr3JalndQh88ND2qtasgOX1RpAHlEGWDvosMpCevXHI3BlU0QO6HudDnijsVJBXmvggRt5CFko49Yac4cqdvVu0SDzyQkpfBE_EZDt-fJ40CInUOuvj7l-e0MAaVci85Zgw35jo4lUa7_kMC_alE_m5G22LBBzRLB0MVErH4q2W9UJ3lfUGgflSBZV1Zd3Ok_9UqbJ-k2O1kQYfD3Uj4-QIgb6bkFafD9G26Q1HFFlIAROb4Tvp-oNZEH_7pAjirqCh_G9ATNzk1UqbaxIUUAXriRYjE2csTI6MA5tnP5olBPzNv_rVLHdJnQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":949237199,\"exp\":2527113600,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{\"foo\":\"baz\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.releaseKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.releaseKey[1].json new file mode 100644 index 0000000000000..1212946bde0d6 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientManagedHsmTest.releaseKey[1].json @@ -0,0 +1,52 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease7l4hs7/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "972", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "579", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "2580265e-f719-11eb-b2a7-00224843a6b5", + "Body" : "{\"attributes\":{\"created\":1628297294,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628297294},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/keytorelease7l4hs7/44257620186a0c6d13b6423a56f794f4\",\"kty\":\"RSA-HSM\",\"n\":\"wbxoZL_9ebOXQhLi8F3RcwhvkesbGx4is4E6i2IFJN4FOSbKqDB7bYBBx-azNNm2OxV42YdTVdM9HaUluULQBeBXkxYPpJchRQB7CYbcBVaCYDHIFeLiAvtU5jhFwgbDRDBZz7pcDs29KSglQGScDlkWbSbv4ZhPx8SRG4VSM2Y1QAd-V82Gg94P1RyTdxjtVAXEeFxGcfyj9W-YU1aeLPCUBZvXM6euleEAi0fK9rDAsaFdnkDeFCmQayyeqg4RGOfNprjT440Y_dRGhrZCpskwkGOm500cejCCBK9L8WKP4wjEP2wIVnXnIP51_ZqU3laVcORXAlGpkE5XITqBlw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease7l4hs7//release?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "14286", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "425", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "2674dc30-f719-11eb-b2a7-00224843a6b5", + "Body" : "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijd5eFFPdjhsTjREajQtWVZtVWtkdTR2X0FPMVV0d2hnTG1WYVBFVUhiWVkiLCJ4NWMiOlsiTUlJSkVUQ0NCdm1nQXdJQkFnSVRNd0FYZXgxUGZvTDlpMDhoL1FBQUFCZDdIVEFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EWXdIaGNOTWpFd09EQTJNak15TVRNeldoY05Nakl3T0RBeE1qTXlNVE16V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1MmFXTnZiR2x1WVcxb2MyMW9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNNMkVqNXMrUkh5bU9PTUl1NHB6OFA0VHVFaUpQOW5NUnk0ZTB3NmJnY0ZXL2hFV0grZVZGMmRXNFRKV2hzSGErcU9FVFNva3VEcXdueEhxZ09YUTd0VkFydFFsdVhteXZuYnVra3BGZUlaSUNqNEFrS2lHQUM4VWRiZnhmdVBTRDB6OGJOS25ERUZpWWVCc1pNaC9SQ3M2WnlIUm9BZTdXdDl6d1NlVlpUTEJaaWMralFuM2crbDRVaXZyQS92YzhEY3VMbC9aU05YSXA4TXhWU05nSEVkZnlsS2RySXVNd2gzajlZeEdybW1jQjBtdWlTK1VHb2tqTnljUEZnaGpmcTBsSFZUd0Z2SEwvMVhDTXVMWmtvVFBScnRKVDIzRWtZOWwvdE8zbk04VUZaT0N6SGFoOSs5LzZCK2dWT1F6T3hUR3FMaVZaVkpUTS9PSkYrQTd3WkFnTUJBQUdqZ2dTc01JSUVxRENDQWZZR0Npc0dBUVFCMW5rQ0JBSUVnZ0htQklJQjRnSGdBSFlBS1htKzhKNDVPU0h3Vm5PZlk2VjM1YjVYZlp4Z0N2ajVUVjBtWENWZHg0UUFBQUY3SGM3QmVnQUFCQU1BUnpCRkFpRUFnY2REaDl4QlRycE4zYTUwNlIrKzNYV0FuN29kcFFZMXQrK3U5bG1FUGhBQ0lGejZhUlhXWVRWVXFSalByQ2U2UDBPOWdlYXRBQUtIc0VNSS82SUhnRVRWQUhZQTdrdTl0M1hPWUxyaFFta2ZxK0dlWnFNUGZsK3djdGlEQU1SN2lYcW8vY3NBQUFGN0hjN0JTZ0FBQkFNQVJ6QkZBaUVBbHVpdittZmZCZ2E1TjUyMllxUjlMb3p5N1hadWs4dVpaU3pPUUhDQUR3Y0NJQWVJOFlCZG4raUIyMTdtQU5TT3BDZVZTY2pUOEtqNmo2UndYQmd1T2hOWUFIWUFRY2pLc2Q4aVJrb1F4cUU2Q1VLSFhrNHhpeHNENit0THgyandrR0tXQnZZQUFBRjdIYzdCclFBQUJBTUFSekJGQWlFQTNFcWVPQ20rWnZrLzlYS2ZqUGxzS2MxWElyRHJCOUdKVWxTNkVrRzlrNGdDSURhQ1ZkeXdsUFhvWkxVc29rSTFJbjQwV2RiTFhWR1Z5S1dkR1NyMXdvTGJBSFlBVWFPdzlmMEJlWnhXYmJnM2VJOE1wSHJNR3lmTDk1NklRcG9OL3RTTEJlVUFBQUY3SGM3QnhBQUFCQU1BUnpCRkFpQlJORHdOdXQ1WHFOd2ZRTFk0TXhZK2Y3SWk4N0VTVnE3VzQwZWkvejB6YXdJaEFQa3E2UGg2Y085Vmg4YzNrZEYzUTVuMWlQYVdTNGdqWm9JSmwzaHVFeXFVTUNjR0NTc0dBUVFCZ2pjVkNnUWFNQmd3Q2dZSUt3WUJCUVVIQXdJd0NnWUlLd1lCQlFVSEF3RXdQQVlKS3dZQkJBR0NOeFVIQkM4d0xRWWxLd1lCQkFHQ054VUloNzNYRzRIbjYwYUNnWjB1anRBTWgvRGFIVjJDaE9WcGd2T25QZ0lCWkFJQkl6Q0JyZ1lJS3dZQkJRVUhBUUVFZ2FFd2daNHdiUVlJS3dZQkJRVUhNQUtHWVdoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZMlZ5ZEhNdlRXbGpjbTl6YjJaMEpUSXdRWHAxY21VbE1qQlVURk1sTWpCSmMzTjFhVzVuSlRJd1EwRWxNakF3TmlVeU1DMGxNakI0YzJsbmJpNWpjblF3TFFZSUt3WUJCUVVITUFHR0lXaDBkSEE2THk5dmJtVnZZM053TG0xcFkzSnZjMjltZEM1amIyMHZiMk56Y0RBZEJnTlZIUTRFRmdRVUU4eFpVNzBXMm45aDhFMThJeVp2Nk84eU9nb3dEZ1lEVlIwUEFRSC9CQVFEQWdTd01GY0dBMVVkRVFSUU1FNkNKaW91ZG1samIyeHBibUZ0YUhOdGFITnRMbTFoYm1GblpXUm9jMjB1WVhwMWNtVXVibVYwZ2lSMmFXTnZiR2x1WVcxb2MyMW9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd1pBWURWUjBmQkYwd1d6QlpvRmVnVllaVGFIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlqY213dlRXbGpjbTl6YjJaMEpUSXdRWHAxY21VbE1qQlVURk1sTWpCSmMzTjFhVzVuSlRJd1EwRWxNakF3Tmk1amNtd3daZ1lEVlIwZ0JGOHdYVEJSQmd3ckJnRUVBWUkzVElOOUFRRXdRVEEvQmdnckJnRUZCUWNDQVJZemFIUjBjRG92TDNkM2R5NXRhV055YjNOdlpuUXVZMjl0TDNCcmFXOXdjeTlFYjJOekwxSmxjRzl6YVhSdmNua3VhSFJ0TUFnR0JtZUJEQUVDQWpBZkJnTlZIU01FR0RBV2dCVFZ3V2M2d3FPZDlIZFNXMWtTT0NubVZXaTdwVEFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0RRWUpLb1pJaHZjTkFRRU1CUUFEZ2dJQkFCYUtWcUxoL29hbyt4NTJoSWttODlyOWJHa2IyOXZ6ZzQ3M01JMGRDSTJvV1BFelhyQXlZRFh5UWhBcHVPdEE5S1o2aWhoRm5ldDA1OGpJR2FJUXFNOXNDdngzWHNFR1BYaG5CUVppc1lrU0ZyandMMEV6a0JSKzUxaVlCbGZYU1M1MnhhMWp3T0hTcHFCZ1FCTkhKbTJEVkNTMWhZZ2ZtVXJPMFpVSjVBN2MrOVhPVkNpNHdNSFpLbkw1R1Y1QnkrM3FZd1lkU0xHa1IzZ2RmTVJ3ai80NEJ1VUxMNmlQWUFUTGJydWM5UWh5K1RKTFFlNXBYRVhRcy80cUpiM2EvREhDTUNmSjBzZmdhdERkWTJUYWZZZnE1SnZFUkEyZ0d6RGNNUHBRWS8rWUN2YjVuWGZTTGZIWG8vb0hGQ2c0VEJDWDJCZDJKV2UvODllallIdDZmUXNmbE9uMVgxZk1nQ0xQbWk1UUxYL3ZFeDBzVks1cXdDNk90Q0ZoN3doNEJ2Z1EyS09BelhhZXF4WGxuNjZrRk5uemV4OENqeXRWZnB1UnBMN2pqUEJGN3ZUbis0L1JlbUI4SE4yR1FlRDFWUGpuV2JYUkRwdm9GMTliVFZleUIyZkRRQ3JaVCtVMSsvYkNVNnJ0NllBT2t5YnR3NTUzdDJXTHRsM0ZTZzFna2lYRFhKUmplTHBaYTlQZW5ZWXY3aWhVM3FabWluYkp6WW1iS2o4b2hLS2pyOHlUNnV1UTlSK1ltTzI1RE1mNFkrQWgwTXQxNUZhMjljNmlDSmlhZUdGUXRDaUo5Q3JBbVdBdmtnRzZsbTNNZ2xxcmZPd3FraHVzTVBzSWdkTmtFRGNCaEdGQkVWSjR2U0dyN2UzZVBBeUdETS9mcEhuQ1lKU3Ryc3BGelVCbSIsIk1JSUY4ekNDQk51Z0F3SUJBZ0lRQXVlUmNmdUFJZWsvNHRtRGcweFF3REFOQmdrcWhraUc5dzBCQVF3RkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCSE1qQWVGdzB5TURBM01qa3hNak13TURCYUZ3MHlOREEyTWpjeU16VTVOVGxhTUZreEN6QUpCZ05WQkFZVEFsVlRNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eEtqQW9CZ05WQkFNVElVMXBZM0p2YzI5bWRDQkJlblZ5WlNCVVRGTWdTWE56ZFdsdVp5QkRRU0F3TmpDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTFZHQVJsNTZieDNLQlVTR3VQYzRINXVvTkZrRkg0ZTdwdlRDeFJpNGovK3orWGJ3akV6KzVDaXBET3FqeDkvaldqc2tMNWRrN1BhUWt6SXRpZHNBQW5EQ1cxbGVaQk9JaTY4TGZmMWJqVGVaZ01ZaXdkUmQzWTM5Yi9sY0dwaXVQMmQyM1c5NVlIa01NVDhJbFdvc1lJWDBmNGtZYjYycnBoeWZuQWpZYi80T2Q5OVRobmhsQXhHdGZ2U2JYY0JWSUtDWWZaZ3FSdlYrNWxSZVVuZDFhTmpSWVZ6UE9vaWZnU3gyZlJ5eTErcE8xVXphTU1ObklPRTcxYlZZVzBBMWhyMTl3N2tPYjBLa0pYb0FMVEREajF1a1VFRHFRdUJmQnhSZUw1bVhpdTFPN1dHMHZsdGcwVlovU1p6Y3RCc2RCbHgxQmttV1lCVzI2MUtaZ0JpdnJxbDVFTFRLS2Q4cWd0SGNMUUE1Zmw2SkIwUWdzNVhEYVdlaE44NkdwczVKVzhBcmpHdGpjV0FJUCtYOENRYVdmYUNudVJtNkJrLzAzUFFXaGdkaTg0cXdBMHNzUmZGSndIVVBUTlNuRThFaUdWazJmcnQwdThQRzFwd1NRc0Z1TkpmY1lJSEV2MXZPelA3dUVPdUR5ZHNtQ2pobHh1b0sybjUvMmFWUjNCTVR1K3A0K2dsOGFsWG9CeWN5TG1qM0ovUFVncUQ4U0w1ZlRDVWVnR3NkaWEvU2E2ME4yb1Y3dlExN3dqTU4rTFhhMnJqai9iNFpsWmdYVm9qRG1BakR3SVJkRFV1alF1MFJWc0pxRkxNelNJSHBwMkNacDdtSW9McnlTYXkyWVlCdTdTaU53TDk1WDZIZTJrUzhlZWZCQkhqendXLzlGeEdxcnk1N2k3MWMyY0RBZ01CQUFHamdnR3RNSUlCcVRBZEJnTlZIUTRFRmdRVTFjRm5Pc0tqbmZSM1VsdFpFamdwNWxWb3U2VXdId1lEVlIwakJCZ3dGb0FVVGlKVUlCaVY1dU51NWcvNitya1M3UVlYanprd0RnWURWUjBQQVFIL0JBUURBZ0dHTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREFqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNSFlHQ0NzR0FRVUZCd0VCQkdvd2FEQWtCZ2dyQmdFRkJRY3dBWVlZYUhSMGNEb3ZMMjlqYzNBdVpHbG5hV05sY25RdVkyOXRNRUFHQ0NzR0FRVUZCekFDaGpSb2RIUndPaTh2WTJGalpYSjBjeTVrYVdkcFkyVnlkQzVqYjIwdlJHbG5hVU5sY25SSGJHOWlZV3hTYjI5MFJ6SXVZM0owTUhzR0ExVWRId1IwTUhJd042QTFvRE9HTVdoMGRIQTZMeTlqY213ekxtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dONkExb0RPR01XaDBkSEE2THk5amNtdzBMbVJwWjJsalpYSjBMbU52YlM5RWFXZHBRMlZ5ZEVkc2IySmhiRkp2YjNSSE1pNWpjbXd3SFFZRFZSMGdCQll3RkRBSUJnWm5nUXdCQWdFd0NBWUdaNEVNQVFJQ01CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1BMEdDU3FHU0liM0RRRUJEQVVBQTRJQkFRQjJvV2M5M2ZCOGVzY2kvOGVzaXhqKytOMjJtZWlHRGpnRityQTJMVUs1SU9RT2djVVNUR0tTcUY5bFlmQXhQanJxUGpEQ1VQSENVUnYrMjZhZDVQL0JZdFh0Ym10eEpXdStjUzVCaE1EUFBlRzNvUFp3WFJIQkpGQWtZNE80QUY3UklBQVVXNkV6RGZsVW9ESEt2ODN6T2lQZllHY3BIYzlza3hBSW5DZWRrN1FTZ1h2TUFSampPcWRha29yMjFEVG1OSVVvdHhvOGtIdjVod1JsR2hCSndwczZmRVZpMUJ0MHRycE0vM3dZeGxyNDczV1NQVUZaUGdQMWo1MTlrTHBXT0o4ejA5d3hheStCcjI5aXJQY0JZdjBHTVhsSHFUaHk4eTRtL0h5VFFlSTJJTXZNclFud3FQcFkrckxJWHl2aUkydkxvSSs0eEtFNFJuMzhaWjhtIiwiTUlJRGpqQ0NBbmFnQXdJQkFnSVFBenJ4NXFjUnFhQzdLR1N4SFFuNjVUQU5CZ2txaGtpRzl3MEJBUXNGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHhNekE0TURFeE1qQXdNREJhRncwek9EQXhNVFV4TWpBd01EQmFNR0V4Q3pBSkJnTlZCQVlUQWxWVE1SVXdFd1lEVlFRS0V3eEVhV2RwUTJWeWRDQkpibU14R1RBWEJnTlZCQXNURUhkM2R5NWthV2RwWTJWeWRDNWpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFY3lNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXV6Zk5OTng3YThteWFKQ3RTblgvUnJvaENnaU45UmxVeWZ1STIvT3U4anFKa1R4NjVxc0dHbXZQckMzb1hna2tSTHBpbW43V282aCs0RlIxSUFXc1VMZWNZeHBzTU56YUh4bXgxeDdlL2RmZ3k1U0RONjdzSDBOTzNYc3MwcjB1cFMva3FiaXRPdFNacExZbDZadHJBR0NTWVA5UElVa1k5MmVRcTJFR25JL3l1dW0wNlpJeWE3WHpWK2hkRzgyTUhhdVZCSlZKOHpVdGx1TkpiZDEzNC90SlM3U3NWUWVwajVXenRDTzdURzFGOFBhcHNwVXd0UDFNVll3blNsY1VmSUtkelhPUzB4WktCZ3lNVU5HUEhnbStGNkhtSWNyOWcrVVF2SU9sQ3NSbktQWnpGQlE5Um5iRGh4U0pJVFJOcnc5RkRLWkpvYnE3bk1XeE00TXBoUUlEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdCbktKUnZEa2hqNnpIZDZtY1kxWWw5UE1XTFNuL3B2dHNyRjkrd1gzTjNLaklUT1lGblFvUWo4a1ZuTmV5SXYvaVBzR0VNTktTdUlFeUV4dHY0TmVGMjJkK21RcnZIUkFpR2Z6WjBKRnJhYkEwVVdUVzk4a25kdGgvSnN3MUhLajJaTDd0Y3U3WFVJT0daWDFOR0ZkdG9tL0R6TU5VK01lS05oSjdqaXRyYWxqNDFFNlZmOFBsd1VIQkhRUkZYR1U3QWo2NEd4SlVURnk4YkpaOTE4ckdPbWFGdkU3RkJjZjZJS3NoUEVDQlYxL01VUmVYZ1JQVHFoNVV5a3c3K1UwYjZMSjMvaXlLNVM5a0pSYVRlcExpYVdOMGJmVktmamxsRGlJR2tuaWJWYjYzZERjWTNmZTBEa2h2bGQxOTI3anlOeEYxV1c2TFpabTZ6TlRmbE1yWT0iXSwieDV0I1MyNTYiOiI3eXhRT3Y4bE40RGo0LVlWbVVrZHU0dl9BTzFVdHdoZ0xtVmFQRVVIYllZIn0.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vdmljb2xpbmFtaHNtaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMva2V5dG9yZWxlYXNlMDY3OTViIn0sInJlc3BvbnNlIjp7ImtleSI6eyJhdHRyaWJ1dGVzIjp7ImNyZWF0ZWQiOjE2MjgyOTcyOTQsImVuYWJsZWQiOnRydWUsImV4cG9ydGFibGUiOnRydWUsInJlY292ZXJhYmxlRGF5cyI6OTAsInJlY292ZXJ5TGV2ZWwiOiJSZWNvdmVyYWJsZStQdXJnZWFibGUiLCJ1cGRhdGVkIjoxNjI4Mjk3Mjk0fSwia2V5Ijp7ImUiOiJBUUFCIiwia2V5X2hzbSI6ImV5SmphWEJvWlhKMFpYaDBJam9pYTJoVlNHaFhaMHBtTFVGTGNsSjVlR2x1UkdSS2NVcDBkMGRHTUZoVWVXUkVTVmRJYXpkQ1JHaGlTbEZYTnpOS016Sm1hekJTY0VORWRFSlBMWFJ6VjFKdWNTMXFhblJ1T0MxcWFIZEdZMDB4V1hwQkxTMVJVVTl1YzFaV1FWUXpka05LVTFGeE0zZzJiMDVuYkZNM09ITjFVR1JwZDNsV2VISk5RMlZaTTNWSU4zUnpUR1pIVkdGU1ppMW5XbkZ0VjNNNVNIUkNaM2hDVG10NVRqVjVUa1p3UzJkTk1EaHBTSEpCV0ZNMlJ6TlNUSEZyYVdsNloxY3llbGxMY2w5eVN6aFljR1pMUzFFNWFGOWFaVEk0T1hwNmJXcFBNVmwzY1Y5ZlMzVmpha05PZGtKaFNqQTFTelJNUkVGMU5GRm1RVmRtUlRSUlpYazJSbTl1Y25VeFFqRTBjM1JQZEdOWU4wRlRaVTVoWWpFeGRsTnZSMDF1UWpjeVFuUndXRFJyUzA1WmVHcENTMXBEV1RseWFtNUhWM2RRTXpnMGVEZEtjbnBMTmxjMFRVNVhTMEkyYldoME1HSTNNVkJ6VEZreVdXdDViREZzZWtvMFUyeFJOakYxTUZoc2FERk5lbmc1T0ZaM1VFaExkR1ExUXpsVGMyTkVSMEkzV0VvM1QzVnVOM2hIYldNNWFHTkVXVlpFZFRORFVFWmxRVjlvYTFacE5tdHliMjFRTTFwVmFuVlBibEpDZVhGVlUzUkZTRkpxUzNka1oyZHVaSGRZZGxwRWJ6VlFTM0kzY3prNVRXRmFja1pQVkRZM2NUZFFSMUZEVGtwelltNWFSMnRMTlhCRGNFaHlNSGhZUjBRdFRqVlVSa013ZEVaUGFVZGFSR3RSYTJWSVdGQnhSV1Z1VGw5M09GOXJaUzA1WVZGcGRrZE1YMEpvVUV4aFpGZHhTa1puYkVsRlgyOU5URmx1TVd0MFJVZHpPRFl0VjNrMGRHTlVSbEZhVkdwR2VIZEhTM0V5U1VjeFVISkliVXQwYVVFMVMzaGtlbmh0UjE4elJtSndRVVl0WDFFMU1USkRZbnBOYzFwVldGOUxaMnM0ZUVsRWMybGxNM05sVlhSVGNUYzFXRFkwWDBOblVUQlZXWEkyVWtOMVpVMTZiMDB5VldrMlF6UmtlVEp5TjFGS1dUWlVPRmhmVTFkRVdtdGhURzVqT0ZKbmMwNHdaM0pZVjFjMlgxSjNSMnhQVFZKeU1sRmtUV0ZWV0ZGQ1kybFpiVmhrTW1oTlZHOW9WbXBhTUZObGFsbERVbFV4U0dOV1VHUlhWR0pJYWxJMVpsa3pNbmhSVWtndGQxUlNOVnBqV1RKMU9WUmpMWFpDZGkxeVR5MVZYekpOVjI5alQzVXhjR1ZmU1ZwS1UwNTBUVTFXYUROQ1FWaEpjMUZPT1U1Rk9HSlNWQzFPYzI5d1VVWjRaR2xrTUc5RGRsRmxhMU5zYW14d1RFOHlWM0pWT1Rka01FTnJMUzFaTkRWamVGQm1RVUZXZGxWS1ltWkhjMUJRVURSc1NGaDNhalZXY1RKeWNUQlVVMnRxYjFsQlVFa3pZa2RVZGxSZk4xaG1kelZqZFVkc1NIcFZiazFmUmxkM1MzTkVWR3MyT0ZodGMwaHVhVVZDUVZwTFlXZEtkMHhuTFd3MVVHVldiVXBmUkZCblZHZFBlamhCTUY5NFFtNHpSVlZJTnpCMVNYcDNWRXBDV0dsVmJUUlRlVzlWZFRWNU1YWXdaR2g0Y0ZScE5taFVXbEpIYlhGSmFrTlBjVkZRZGt3MWRWY3lSVWt0TVY5RlNEWlBhbVZWZDI5dVFYZEZUblk0Ym5sbk56TmhRM1ZWV0RkSGFUWjJWbU5UVkhsMVNHRllRa0pFUjNSb2NVbHBNbDh5YlZwQmJsbGxkVzkxVWxKRlZuaHZRbTB0VkdkVVpWbGhYemhUZVVaUE9GVXhVazk1YzJ0elJqSjFjRTA1V2xOR2VVMW9OV3BVWDI5dGVqUTJNVE0zVFdGR1ZUSXdOemgzYldSSVRWbFBVWGg0T0c0eVIyNTRkWE5TVkhBeWVubDRWMUp5VG1JMFEyVmFhMjh3YlhKMGFIa3dlbGR4UkVsck5rUlJObUY2Vkd4NVRqYzBNRzFPZGtGVldqZElhMHRrV1RGMExWWkVjRXhLYlRnM1FVZzRhM0JEVTFwaFptOVFZMHd4UVcxM1lXdExTMFJGWlZsRlZXOWlhM2RQTUVaa2VuaHNNM2xzV2tscVFrZzJhWGgwV1hsVWQyeDRRMlZDUjNkelZYVXpiVk0yT1Zkc2JrWlVjRkJQWlV4d2RsWTVlV3RNUldSeE1ESnBXRzluUmsxTmVqZEJUVkZYVGs5cE1XbFlXalYzVjBSTFVISlVWRVZ5WlZOaVEzaG1NSEZKV2psRFRFaGhXRVJ0UzJaeGNGQldaMXB1WTBaUFNsRndiR3QzU1c4MFpGTnZOM1prUWtaaWNVaDNhMGd6Ykc1c1owVkxVSG81U0VGVVlUaFFjRTVJYlhkWlYzaDJiRE5pYjNKMk0wWmpiVTE2Y1dOaVFVRmxTVkZOTXpWNloxTjFTMDlaTm1GRVZuUkViMDVVYlc5Wk5rRlplVWhQZUhKUE1EVnBhWEJuZURsWmJtZzJTVXR1ZEVGWVptSjBaR0pvY0RoNGFsaHdRMk5KY2tvMU0waHFVamQyWDFNeFIzaG1RV1pEY2psak9IRkVRMUUzUVRCSFdWRTFNemcwUWtOS2RtWnZibU5QUldsRVJXbDZVa1ZJV1haVmJXVjNlbloyVDE5MmFHODFhV2RhYkZkck1GVXhibEZrVmxRMVNuRjBhRnAwYTFOa1MyNURUelJPVFZGUmRHbGtlVk16Vm14RFRISnlZM3BqVDE4M2VrcEJjbU4xY0MxM1IxVm5UR3hQU20wdE1XRnRaR3BwTFU5cFJIRkJUMTl6TVZoUlFsTnplWHBsVDFwRVpFZG5aa3hrVFRsR2VrWmhVemd6TW5sWGFISjRRbVExTUdGeVVqWmhaVWRaVnpWUk1XdENSVU5LY0V4aGMwcEtVVFZUY0d0alNtUk9XRmRMUWxSRVdYSk5kVEJPUjFOSFdqSndiMlpZUkVkZk5UZEhOR1ZQTURCZlZYUTJOSFpNTFhkV1NGazRiVzFoUkdkSVUzZEVNelZKV0VGWmMwbHNWa3RWY2pSTlNYSTNjMnA0VmtaaFkwZElObEUxVjJkUWVEUmliVlpDYUVKVFQzRnNTbFEyU25CV016bFlaVzlDY0dGSVIxaG5VRTVDTlZrNVJVdEhRUzE2YzNJNE9VUldXRk14ZW5aRFpVdEJVRzV2ZUdRME1YVkJNWEpSWlRCeldFWlFhVmx2YTI1elRGcGZabEF0YkV0c2RtVk9abEF4TjFCQ1IxUmxPRUpXU0hsRVVWWkdWVTFFYjNaTGRVczNPVEpXUVY5amRHMUllVVpCUjJSaWNEWnNhVUZJUWtJMFpWRjFPVnA2WTNOV1RDSXNJbWhsWVdSbGNpSTZleUpoYkdjaU9pSmthWElpTENKbGJtTWlPaUpEUzAxZlVsTkJYMEZGVTE5TFJWbGZWMUpCVUNJc0ltdHBaQ0k2SW1aaGEyVXRjbVZzWldGelpTMXJaWGtpZlN3aWMyTm9aVzFoWDNabGNuTnBiMjRpT2lJeExqQWlmUSIsImtleV9vcHMiOlsid3JhcEtleSIsImRlY3J5cHQiLCJlbmNyeXB0IiwidW53cmFwS2V5Iiwic2lnbiIsInZlcmlmeSJdLCJraWQiOiJodHRwczovL3ZpY29saW5hbWhzbWhzbS5tYW5hZ2VkaHNtLmF6dXJlLm5ldC9rZXlzL2tleXRvcmVsZWFzZTA2Nzk1Yi80NDI1NzYyMDE4NmEwYzZkMTNiNjQyM2E1NmY3OTRmNCIsImt0eSI6IlJTQSIsIm4iOiJ3YnhvWkxfOWViT1hRaExpOEYzUmN3aHZrZXNiR3g0aXM0RTZpMklGSk40Rk9TYktxREI3YllCQngtYXpOTm0yT3hWNDJZZFRWZE05SGFVbHVVTFFCZUJYa3hZUHBKY2hSUUI3Q1liY0JWYUNZREhJRmVMaUF2dFU1amhGd2diRFJEQlp6N3BjRHMyOUtTZ2xRR1NjRGxrV2JTYnY0WmhQeDhTUkc0VlNNMlkxUUFkLVY4MkdnOTRQMVJ5VGR4anRWQVhFZUZ4R2NmeWo5Vy1ZVTFhZUxQQ1VCWnZYTTZldWxlRUFpMGZLOXJEQXNhRmRua0RlRkNtUWF5eWVxZzRSR09mTnByalQ0NDBZX2RSR2hyWkNwc2t3a0dPbTUwMGNlakNDQks5TDhXS1A0d2pFUDJ3SVZuWG5JUDUxX1pxVTNsYVZjT1JYQWxHcGtFNVhJVHFCbHcifSwicmVsZWFzZV9wb2xpY3kiOnsiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04IiwiZGF0YSI6ImV5SmhibmxQWmlJNlczc2lZVzU1VDJZaU9sdDdJbU5zWVdsdElqb2ljMlJyTFhSbGMzUWlMQ0psY1hWaGJITWlPaUowY25WbEluMWRMQ0poZFhSb2IzSnBkSGtpT2lKb2RIUndjem92TDNOcmNtRjBkR1Z6ZEdGMGFXOXVMbUY2ZFhKbGQyVmljMmwwWlhNdWJtVjBMeUo5WFN3aWRtVnljMmx2YmlJNklqRXVNQzR3SW4wIn19fX0.eFUjCBDpkuWbRwBxJ23cBJtWnpe-n_4AKSpFNJGKwat7s8Ni8rZumtI8fQEYLDvCbNrDG2lGtTJYRjeNxvK0R11DhgBPJiNu-JJffnviTfG8usUAHX5awcWQ5BkENe-fCIi00YyWSKAdGqhq86gI7uzdYnKR8RxSbJzg6FQspfo7SNm5caaHN1t3oY6eJgWr3UN0-8MLVeuYPMP-Jz2OmVNpXwkyQ461k0aV7AzDszEuFvJ3kP-oGTfS8KuMU_xI-zAh8U83dWK0NHM21eRdXUvERdBSxjPxpLBkIjsBN9JOaemFp9LRdvxk6I5_To73o9292goc9BXD8_L_t3Rc2A\"}" + }, + "Exception" : null + } ], + "variables" : [ "keytorelease7l4hs7" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.createRsaKeyWithPublicExponent[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.createRsaKeyWithPublicExponent[1].json new file mode 100644 index 0000000000000..2a393a7bc29b3 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.createRsaKeyWithPublicExponent[1].json @@ -0,0 +1,30 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/testrsakey4201071/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "742", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 09:55:16 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "5847881c-a00c-466b-8c1f-494b171849e2", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testrsakey4201071/27f37a6709854f53bbc7bc7ab993b4f6\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"zUJ2F5u7EBEzx313jw0Ib9tV2Y4VZTA7HF51ZQA-rZ24bPwOcqeFzil2tr9tUD1AfWE_vg5p0UAN2zr4_Cji-NgofXeTsBi5gF5pmRdP26IcrpBHXCQ-dz580vUrEhTHZ0x5UxkUE6qdPfAIppXur672T0pSAOeSZcV7giQCcJYjArqyYrPfVpFF0ZM_JaB8X5ovwPtbWf-KZX2xmUbhKDFWWbb0b9tqWr87ViNckplr5V2yTvleOexS0ftvnn9icEPldqTJEZepvSiiD03lD1EF-20EiWOM4ESPaTt0P1CEphFbGbo9pNXUom99MFfHahuNr0NRDl5Ttvc5a6a1kQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":949237199,\"exp\":2527113600,\"created\":1632909315,\"updated\":1632909315,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{\"foo\":\"baz\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "testrsakey4201071" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyOfNonExistentKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyOfNonExistentKey[1].json new file mode 100644 index 0000000000000..e878242d855ed --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyOfNonExistentKey[1].json @@ -0,0 +1,29 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/nonexistentkey80340/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "307", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "404", + "Date" : "Wed, 29 Sep 2021 10:03:50 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "e33ae1b5-c407-4652-a10c-d4b4c55c4ff6", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"A key with (name/id) nonexistentkey80340 was not found in this key vault. If you recently deleted this key you may be able to recover it using the correct recovery command. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125182\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "nonexistentkey80340" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyWithNoPolicySet[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyWithNoPolicySet[1].json new file mode 100644 index 0000000000000..c5608d24c127f --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.getKeyRotationPolicyWithNoPolicySet[1].json @@ -0,0 +1,55 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey19347eeb/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:09:15 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "819fc9b7-7090-4539-8de8-cd995eb09a23", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey19347eeb/a70b87f6771245b79661897fdedaeb39\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uAjYdBYM5qtfM9PRNau9qBx2qZTGUPOQZF25FBFInzGLVh4pClnk_ZIi5Z1T0wh4GHeZEz5eIUHwqsgv0f1dSrZcIl7zrW2Vmx0NwYhst4_zpCa6bncSFbZjBRPo0BRrjhP5eTQrE5hqWyn3V4Oygqh7xOx81eDeVqsqj2RoaTwBe4vDYZT3S72Hve_ngZO1eYrFnWQKyjqdnUZde_a7lFE2IzE7f1tBd85HzeDyEZFBzgJhMgcUlhYfVF1ec4XQjp9qJDo8POnaH2CIxg-_qhxbykaUwWmmN9GW8qlnVMdVSwaw7OxtxZ-uIh9-_g03OL-EZzrM7j3O7yzWmTD3NQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632910155,\"updated\":1632910155,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey19347eeb/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "42", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:09:15 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "332ef40a-cf81-45d6-9860-b96bb5272761", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"lifetimeActions\":null,\"attributes\":null}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey19347eeb" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.releaseKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.releaseKey[1].json index ea9eaa44b545a..86744649f7138 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.releaseKey[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.releaseKey[1].json @@ -20,7 +20,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "2580265e-f719-11eb-b2a7-00224843a6b5", - "Body" : "{\"attributes\":{\"created\":1628297294,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628297294},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/keytorelease06795b/44257620186a0c6d13b6423a56f794f4\",\"kty\":\"RSA-HSM\",\"n\":\"wbxoZL_9ebOXQhLi8F3RcwhvkesbGx4is4E6i2IFJN4FOSbKqDB7bYBBx-azNNm2OxV42YdTVdM9HaUluULQBeBXkxYPpJchRQB7CYbcBVaCYDHIFeLiAvtU5jhFwgbDRDBZz7pcDs29KSglQGScDlkWbSbv4ZhPx8SRG4VSM2Y1QAd-V82Gg94P1RyTdxjtVAXEeFxGcfyj9W-YU1aeLPCUBZvXM6euleEAi0fK9rDAsaFdnkDeFCmQayyeqg4RGOfNprjT440Y_dRGhrZCpskwkGOm500cejCCBK9L8WKP4wjEP2wIVnXnIP51_ZqU3laVcORXAlGpkE5XITqBlw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" + "Body" : "{\"attributes\":{\"created\":1628297294,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628297294},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/keytorelease06795b/44257620186a0c6d13b6423a56f794f4\",\"kty\":\"RSA\",\"n\":\"wbxoZL_9ebOXQhLi8F3RcwhvkesbGx4is4E6i2IFJN4FOSbKqDB7bYBBx-azNNm2OxV42YdTVdM9HaUluULQBeBXkxYPpJchRQB7CYbcBVaCYDHIFeLiAvtU5jhFwgbDRDBZz7pcDs29KSglQGScDlkWbSbv4ZhPx8SRG4VSM2Y1QAd-V82Gg94P1RyTdxjtVAXEeFxGcfyj9W-YU1aeLPCUBZvXM6euleEAi0fK9rDAsaFdnkDeFCmQayyeqg4RGOfNprjT440Y_dRGhrZCpskwkGOm500cejCCBK9L8WKP4wjEP2wIVnXnIP51_ZqU3laVcORXAlGpkE5XITqBlw\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" }, "Exception" : null }, { @@ -49,4 +49,4 @@ "Exception" : null } ], "variables" : [ "keytorelease06795b" ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.rotateKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.rotateKey[1].json new file mode 100644 index 0000000000000..7f94c9ee64ba2 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.rotateKey[1].json @@ -0,0 +1,55 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey053577e4/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:53:52 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "d308c429-4aa0-4a5b-9e15-9eb8dee3900f", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey053577e4/e821f74ea59d409ab0c9761853288e94\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0lp3m_gmbeXJ_A92oaWD78vSI4YYGVtI3X-17Vidv0YOMYl7-kq1eWYfjTu6tGKxBKyfIu984qpItX-r7uTvb-V_vzV_HeP6q86jwBDCCwI1CaG9gBVYxzZ0L0Ead2BJFyFFnFZCJM1UwzgWr44zvBLJBl63W_DnKzpIE9-RZWUp0sM4WUST3C7b-TWfMVHeRtYV5negmOOdA-4C2AXtIFaKPISsAIteMfPR_B3wO3H7nqfgTCeN3G-TgB6aJeGT6Dw5uR_7aMFIIfO8S76IYkHPZ9QVh0PkAIijv1QLKp8ckNQTraqWK8J7d6TbDVt57vKXyN5XmvaqDBTOg2otcQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632912832,\"updated\":1632912832,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey053577e4/rotate?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:53:53 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "33c003b5-7b5c-4148-9d36-7d63753c6d9a", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey053577e4/69dc59b628874f3aab705a26095106b3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"pl5XDU1hX1XhgnESm9RsF5WGLVrR5R5p0JY42zZA9_fQ2J4rgzeLS2NQpKf13GeXoSDnb9gh887VE-90U4YOaBbGTU27ZecdFUc38Zvn6YLZTHAlfvW2D5IfFoGfJ14Mns8M2rVg5I4lSFNef7QwTvMesucpgmlBP1Mckqtuub3Ae8W7fm1sEWGWKFYEiu12wqBcuSFARc0Imx-GOcVcZKiqdnZSDhGT-YFQSnGFeQSCISeSUCHFhC6YXA_ijgVclZ53MLqHAxamm9MKkNfkV0YRrnUTGH4bgXUQeiNQzS85heMQ71AST1sIFkNRKWi67w_dx7VtJPZ5EWXHQNWqNQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632912833,\"updated\":1632912833,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey053577e4" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json new file mode 100644 index 0000000000000..08a505a4c7c9c --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json @@ -0,0 +1,81 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey34701b0d/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:41 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "eb1fd141-ad49-49da-b0d6-4af69466fd89", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey34701b0d/9d4d3194a9634c449e0999d7f917efb0\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sn6EnXxQ-mBOJRw9dY7YNDoU_WV6qGMfXApm00Yu5q_Dg8RNThLemv7D096zmvuJTN7cG_6BLmvRngLc8yKUhxtXNjWo6cU-kj6MqF7s2LQapJe6fLOUtoQh-96yWtwyNBi16baw534eS964E6DmhsI1lwhhywJFWMylf_SNAhXAOgfv50KxR76lIMDulZBUAVWOTCEuqAlT3vDgreVWWRNHgEbX8G8ePnw5qC42Q9qxeZFqQMgDYsHNcUKC1bZv27DPjruK2TAL3mGZaHWHb7qWcnDpD673ID7FnnS5LtpwLU_ODt4emkYKpIl5hju1FufwCwcHQyk3-W9pfsuyUQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632912701,\"updated\":1632912701,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey34701b0d/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "312", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:41 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "25267c41-e5e3-42d0-9528-0981fbab4e50", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey34701b0d/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P6M\",\"created\":1632912702,\"updated\":1632912702}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey34701b0d/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "312", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:41 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "771369b9-c3c5-487c-b783-80eb93684fc7", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey34701b0d/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P6M\",\"created\":1632912702,\"updated\":1632912702}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey34701b0d" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json new file mode 100644 index 0000000000000..3fe8560bace43 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyAsyncClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json @@ -0,0 +1,81 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey015446f9/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:31 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "264b1328-d226-4aca-80f7-d39b7bd48830", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey015446f9/b899bd3cfb0d40a3a7133a38de10b5d2\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"u8ybDVLag5DxPcCorVfc2YZMJJcsHSHc_1-YyeVomIIx_9TUqPKvUWUg3_ezStPkAFchKGl3d2sIqvkNyFjS5ChHmvscZZdSPeJsOB0vGk3TM-swaHHu15rueVfewBtF8k-Spb_eCTEqp7PLagIFPsaWnbzF3jAJjs0yV64_oqGuwNW60TvHrhG7lOTTkfpJYnbL74xmVEk5_-7y_VLtTibZkZoPZdeYJKqp48CUxDRfXNnoSd2ByzwmVMc5MR7CeN91wHIyhbqV__KUbPtc0V8pNWv5cUgns-zu6GObnjyKFEHOVLoaD_sRmV0CwCXU5K7fxQVgDjsp2yTOoklapQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632912691,\"updated\":1632912691,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey015446f9/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "230", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:31 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "92b52db7-39af-467a-933c-405d98ebdd84", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey015446f9/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632912692,\"updated\":1632912692}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey015446f9/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "230", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 10:51:31 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "e51c6100-9d5e-41d2-bb88-aebe27144950", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey015446f9/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632912692,\"updated\":1632912692}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey015446f9" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json index d9a3c3500391b..1281c3e227578 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKeyWithPublicExponent[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testRsaKey/create?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/testRsaKey52a8cs81/create?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -20,9 +20,9 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.106.72;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "1025029e-ce6e-11eb-93ed-002248449b1c", - "Body" : "{\"attributes\":{\"created\":1623825767,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623825767},\"key\":{\"e\":\"Aw\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakvtr2hsm.managedhsm.azure.net/keys/testRsaKey/8ae4d6dca20307492de10a8013578876\",\"kty\":\"RSA-HSM\",\"n\":\"usDbzesF_ITkDlbT-zncI_T1P2CpuOTPddMTZ4o9EPzrXUcOd8MIkzhTRWX8bw0RBAzKEaiGjMR3AUIzjJOYCpOK6gjcK3Rpon3dEupHAo2yP1WRkYoeTcZzdjMAcqAYy9lJm3DHgtkBsWWmK-mymsThpt0hwqD3diugOPsAtgA8dp9HExVSO9hraRKpLYA2RKIFwRmKEYT8gxx1iTrkzK28Ewm0JkX40LgS_6aRR3-usgWbWISo_v-ETPUhD6Myl-VF12cwdMp9pxTr3SNspotc7-DXLb2r119ZK6xYE2K4jfhZ1qEB5VAE9UOWmncNzqX5p7_SlDqQx8RNrWgrtQ\"},\"tags\":{\"foo\":\"baz\"}}" + "Body" : "{\"attributes\":{\"created\":1623825767,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1623825767},\"key\":{\"e\":\"Aw\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakvtr2hsm.managedhsm.azure.net/keys/testRsaKey52a8cs81/8ae4d6dca20307492de10a8013578876\",\"kty\":\"RSA-HSM\",\"n\":\"usDbzesF_ITkDlbT-zncI_T1P2CpuOTPddMTZ4o9EPzrXUcOd8MIkzhTRWX8bw0RBAzKEaiGjMR3AUIzjJOYCpOK6gjcK3Rpon3dEupHAo2yP1WRkYoeTcZzdjMAcqAYy9lJm3DHgtkBsWWmK-mymsThpt0hwqD3diugOPsAtgA8dp9HExVSO9hraRKpLYA2RKIFwRmKEYT8gxx1iTrkzK28Ewm0JkX40LgS_6aRR3-usgWbWISo_v-ETPUhD6Myl-VF12cwdMp9pxTr3SNspotc7-DXLb2r119ZK6xYE2K4jfhZ1qEB5VAE9UOWmncNzqX5p7_SlDqQx8RNrWgrtQ\"},\"tags\":{\"foo\":\"baz\"}}" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "testRsaKey52a8cs81" ] } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKey[1].json new file mode 100644 index 0000000000000..496c04a5b0e91 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.createRsaKey[1].json @@ -0,0 +1,30 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/javaKeyTemp/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "773", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Fri, 23 Apr 2021 07:48:37 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "160ab877-7191-41d2-9a91-0aab27cef689", + "x-ms-keyvault-service-version" : "1.2.236.0", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/javaKeyTemp/a03f22983611499d8f508fcdca3d2e14\",\"kty\":\"RSA-HSM\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"t5tUrxSEPdNd7zIypM9NcSKGMXNFUcpsBvEsr9N4PSc14toF_RbTjxRyGRigOdpb5wmbiAXgzqbjiLvSATdturV2-IapYoD26m3dleNrIn-CnAbDwLoCUbfzrFtY-ySbUXFT6PawqDAcEA4Vecu0PcX9SIZ2hj-bIvVSydZjBL1aBWeIKYj5KIrEAuH48lduKxt1BPNOfgsfvST--N6DVR-LRTXnInJVNbAsYLok3W4S1ZfXlfjLu_baom7VgpbKhLnY6Szc8CHZ5D13Ar8Vlj1LEQ-3781Doav9yVOURqANbGxJTV9bb_Bo-gEEclNObtdVK3DEVOgS5fMWuy7WGQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":949237199,\"exp\":2527113600,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{\"foo\":\"baz\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.releaseKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.releaseKey[1].json new file mode 100644 index 0000000000000..c73bbf8eab67a --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientManagedHsmTest.releaseKey[1].json @@ -0,0 +1,52 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease92a8js/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "1003", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "545", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4fa0e8e6-f715-11eb-a622-000d3aa6a10f", + "Body" : "{\"attributes\":{\"created\":1628295646,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628295646},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/keytorelease92a8js/8713f6289a2441313075698b8625bf32\",\"kty\":\"RSA-HSM\",\"n\":\"qwmJOrLUYKn5h4NCpuYC1oFFPHms8nXM-z3rHWJK4OYBvqQLwhp6wBOhsm7FPenRxXzsZAZbjOaqUQ_sDkCWNulm_ifa6LsRvjM_4ZeAExP6kabgkeHU1nmAm0vi2aBKqbvgysKjexRsrHCHO9zxOtktOz9W8r4HMrNJZkAou-h5tuBzFfe5DrHsTLNv_BMFwmvwIkX_6Gg1Sahgo-26CZHl2Koi6GQyYS0-nVwvJzqUZXxNPslFFLO0DnCg65izEqx7KnCNJR0nIZ6UhkaiMqdZQ3JaZE1fXCdBrOE9s6MCz6Pk3g51rJ67biefhaaAaUEfTyDvBTiU0zSckh6IsQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease92a8js//release?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "14161", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "389", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "50612eee-f715-11eb-a622-000d3aa6a10f", + "Body" : "{\"value\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFJWjlZQ0gtRWo5OGJxcUZUSnRITHFtZUFXSm5WZkhEdFlUbC1LS0RkRnciLCJ4NWMiOlsiTUlJSW1qQ0NCb0tnQXdJQkFnSVRNd0FZS3BaWmV5L0l3TkxGN1FBQUFCZ3FsakFOQmdrcWhraUc5dzBCQVF3RkFEQlpNUXN3Q1FZRFZRUUdFd0pWVXpFZU1Cd0dBMVVFQ2hNVlRXbGpjbTl6YjJaMElFTnZjbkJ2Y21GMGFXOXVNU293S0FZRFZRUURFeUZOYVdOeWIzTnZablFnUVhwMWNtVWdWRXhUSUVsemMzVnBibWNnUTBFZ01EVXdIaGNOTWpFd09EQTJNak15TVRJeldoY05Nakl3T0RBeE1qTXlNVEl6V2pCOU1Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DVjBFeEVEQU9CZ05WQkFjVEIxSmxaRzF2Ym1ReEhqQWNCZ05WQkFvVEZVMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiakV2TUMwR0ExVUVBd3dtS2k1MmFXTnZiR2x1WVcxb2MyMW9jMjB1YldGdVlXZGxaR2h6YlM1aGVuVnlaUzV1WlhRd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURMczZzL3RoZ2YzVk10WjBDeHpWVVAxYktReS9SVisvT1Y0MUxOcjdTMWtGYk9KaDJuLzhEZFNyWk5qN2dUbmxDTkJkV2ltWmY4ZHZwaUtMc0VMY2FlK01wQXk1OWhZYm96WGZyWTRuY2R6UVlsTXJGNHVMbUJicjF4MVMwWEtBMlQxTVByb3ZkbldXbDhuVkE4b2pPYklFdmlGN2F6MVppMmwyWmZpSHprQXo2YmhadmltUGNqdVRxTnpyVjJERHlXemdycVBSVzJaWDQyMUtNVUVTWFBObUhHNXZkN05kazYvc3ZpSjhubWVhRC8rSGRMcXpGVmFId3JvZ3lxSFFZNVk1VldSLzZGc1I0aE1wRzg5c2dITU1XSVZLVWVrdVBsNmhXb2haa0grdUN3Z29rdExKZ2EzRWN1VGtlbFJ5VlQ3RFcrSzJwS2sxcExLQ3JYS1I4YkFnTUJBQUdqZ2dRMU1JSUVNVENDQVg4R0Npc0dBUVFCMW5rQ0JBSUVnZ0Z2QklJQmF3RnBBSGNBN2t1OXQzWE9ZTHJoUW1rZnErR2VacU1QZmwrd2N0aURBTVI3aVhxby9jc0FBQUY3SGM2YUZBQUFCQU1BU0RCR0FpRUFuTUlydXp1cGFrK2tmWi84SE8xb0ZETEUvZ2RCS2NBWmZSbjBpMlJaVTBFQ0lRRGtuL2cyNkc4NWM2YmJDaHFnWnRwQjBaU1BZeG1ndUxmVEtyMWZHaXZVdEFCM0FDbDV2dkNlT1RraDhGWnpuMk9sZCtXK1YzMmNZQXI0K1UxZEpsd2xYY2VFQUFBQmV4M09ta1FBQUFRREFFZ3dSZ0loQUlLdUpHTm5YMEdzTWFNR2NHcnAxU3h0dUhiR2pSTUJscURVYkhPeEFHSXRBaUVBNE1DTkFuVVpVME1yNEdrZjB2K3l2TU13VUNBblVaQlZRbDNkZG9ZREtlVUFkUUJCeU1xeDN5SkdTaERHb1RvSlFvZGVUakdMR3dQcjYwdkhhUENRWXBZRzlnQUFBWHNkenBwdUFBQUVBd0JHTUVRQ0lHR1orM2pHNlcxM3ZVN3E0QWNsWU5kZHlVMVpHbzZSamNTK1M3Ui85VUszQWlCM0ZXSEdTNngrQlROR3hlYk1yVHBCbko0Y1ZFNGVyT0VQOEpmZTZOMng5VEFuQmdrckJnRUVBWUkzRlFvRUdqQVlNQW9HQ0NzR0FRVUZCd01DTUFvR0NDc0dBUVVGQndNQk1Ed0dDU3NHQVFRQmdqY1ZCd1F2TUMwR0pTc0dBUVFCZ2pjVkNJZTkxeHVCNSt0R2dvR2RMbzdRRElmdzJoMWRnb1RsYVlMenB6NENBV1FDQVNNd2dhNEdDQ3NHQVFVRkJ3RUJCSUdoTUlHZU1HMEdDQ3NHQVFVRkJ6QUNobUZvZEhSd09pOHZkM2QzTG0xcFkzSnZjMjltZEM1amIyMHZjR3RwYjNCekwyTmxjblJ6TDAxcFkzSnZjMjltZENVeU1FRjZkWEpsSlRJd1ZFeFRKVEl3U1hOemRXbHVaeVV5TUVOQkpUSXdNRFVsTWpBdEpUSXdlSE5wWjI0dVkzSjBNQzBHQ0NzR0FRVUZCekFCaGlGb2RIUndPaTh2YjI1bGIyTnpjQzV0YVdOeWIzTnZablF1WTI5dEwyOWpjM0F3SFFZRFZSME9CQllFRk1BRUlpT1JaMC9JbGx0SU80eG5ybWpEVlQ0cE1BNEdBMVVkRHdFQi93UUVBd0lFc0RCWEJnTlZIUkVFVURCT2dpWXFMblpwWTI5c2FXNWhiV2h6YldoemJTNXRZVzVoWjJWa2FITnRMbUY2ZFhKbExtNWxkSUlrZG1samIyeHBibUZ0YUhOdGFITnRMbTFoYm1GblpXUm9jMjB1WVhwMWNtVXVibVYwTUdRR0ExVWRId1JkTUZzd1dhQlhvRldHVTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZZM0pzTDAxcFkzSnZjMjltZENVeU1FRjZkWEpsSlRJd1ZFeFRKVEl3U1hOemRXbHVaeVV5TUVOQkpUSXdNRFV1WTNKc01HWUdBMVVkSUFSZk1GMHdVUVlNS3dZQkJBR0NOMHlEZlFFQk1FRXdQd1lJS3dZQkJRVUhBZ0VXTTJoMGRIQTZMeTkzZDNjdWJXbGpjbTl6YjJaMExtTnZiUzl3YTJsdmNITXZSRzlqY3k5U1pYQnZjMmwwYjNKNUxtaDBiVEFJQmdabmdRd0JBZ0l3SHdZRFZSMGpCQmd3Rm9BVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUhBd0lHQ0NzR0FRVUZCd01CTUEwR0NTcUdTSWIzRFFFQkRBVUFBNElDQVFDbytOY205MUpSK1ozazg1WUorVmNtVTVjNkJ3ZGR0eTFFR2o4RWM0dmNDcmN1b2lVL1RFUW1PSUcrTWM4WXlYd2FuVHVxeW53UklFZUtsTmJUSXYyREwwbWhrREt1UzczNk5VdDVWMjV0RXFnck5mTWE4bWswT3dickoybjNhQ3hvVTlXNDFYNkJ6WVc0ckpGOXpxZnEzbUdhS3YxaUoyL2V0UmpSRE5XVkRQMVYvYTF3OC9WTndQUTJ3Y2dtOHNtdGwvY09nUWFHRzl2eEpFNGZjV2h3ajBscTRBcVZDYTBIWjJOZVNiTjZJdTNiNFBESVU4czJSeGFlVWFhTXNCWW9FVmQvOXV0TXpBQ25MRUlkSlNyQ2kzZlg1WEtHT0VpQWEwYUY5UXRCZ2JLdzB4ajZaT1R0RWRYZDhrdFhBdmI5TWxtNEFnM3RBRmlVRlRmSlJ4dCtyQVdjYzhOL0pXenUrSFRjdElHQnFldS95N2xmRUc4QWp6c2w3dEdIRGVTclBndWtqN204WGZXZmlleit2SjFXWnhKVTY2LzZIWnZyY25FOUsxb1dOWXZTNnBscG5HZFVaU21PVExVZVAzTEx5ZkNXUFBueDJnUC9IWnBCVldxQ3RXUkh6bm5oMU5mbWY3aEgvK3VERnA0ekZMQ0cwTTdCTXVrVnNBVkZCQ0dzRUJKM29sQ3I4NUdvc01GRFBxYit1VldVcjBWejZjNk1pNjhQVXphcSs1Ly9WWS82WWJwSDdyR24yTE9DRW5jNmlRUU1LN1JDM1NveVB3aG5rWC9LWitJWThBOUp5OUZpSnZBc2wwcUhlSXVrUSt2MGpqZ3N4U25MdGtmMjFNbUJvVU9JMTB1cEt0VDUzSDd0di95dU44cHdJTXQrRDRLaHphUmFDNUZic2c9PSIsIk1JSUY4ekNDQk51Z0F3SUJBZ0lRRFh2dDZYMkNDWlo2VW1NYmk5MFl2VEFOQmdrcWhraUc5dzBCQVF3RkFEQmhNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzZDNjdVpHbG5hV05sY25RdVkyOXRNU0F3SGdZRFZRUURFeGRFYVdkcFEyVnlkQ0JIYkc5aVlXd2dVbTl2ZENCSE1qQWVGdzB5TURBM01qa3hNak13TURCYUZ3MHlOREEyTWpjeU16VTVOVGxhTUZreEN6QUpCZ05WQkFZVEFsVlRNUjR3SEFZRFZRUUtFeFZOYVdOeWIzTnZablFnUTI5eWNHOXlZWFJwYjI0eEtqQW9CZ05WQkFNVElVMXBZM0p2YzI5bWRDQkJlblZ5WlNCVVRGTWdTWE56ZFdsdVp5QkRRU0F3TlRDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBS3BsRFRtUTlhZndWUFFlbER1dStOa3hOSjA4NENOS25yWjIxQUJld0UrVVU0R0tEbnd5Z1pkSzZhZ05TTXM1VW9jaFVFRHp6OUNwZFY1dGRQekwxNE8vR2VFMmdPNS9hVUZUVU1HOWM2bmV5eGs1dHExV2RLc1BraXRQd3M2VjhNV2E1ZDFML3k0UkZoWkhVc2d4eFV5U2xZbEdwTmNIaGhzeXI3RXZGZWNaR0ExTWZzaXRBV1ZwNmhpV0FOa1dLSU5mUmNkdDNaMkEyM2htTUg5TVJTR0JjY0hpUHV6d3JWc1NtTHd2dDNXbFJEZ09iSmtFNDB0Rll2SjZHWEFRaWFHSENJV1NWT2JnTzN6ajZ4a2RiRUZNbUovenIyV2V0NUtFY1VEdFVCaEE0ZFVVb2FQVno2OXU0NlY1NlZzY3kzbFh1MVlsc2s4NGo1bFVQTGRzQXh0dWx0UDRPUFFvT1Rwblk4a3hXa0g2a2dPNWdUS0UzSFJ2b1ZJalU0eEowSlE3NDZ6eS84R2RRQTM2U2FOaXo0VTN1MTB6RlpnMlJrdjJkTDFMdjU4RVhMMDJyNXE1Qi9uaFZIL00xam9UdnBSdmFlRXBBSmhrSUE5TmtwdmJHRXBTZGNBME9ydE9PZUd0cnNpT3lNQllranBCNW53MGNKWTFRSE9yM25JdkoyT25ZK09LSmJEU3JoRnFXc2s4LzFxNloxV052T056N3RlMXBBdEhlcmRQaTVwQ0hlaVhDTnB2K2ZhZHdQMGs4Y3phZjJWczE5bllzZ1duNXVJeUxRTDhFZWhkQnpDYk9LSnk5c2w4NlM0RnFlNEhHeUF0bXFHbGFXT3NxMkE2Ty9wYU1pM0JTbVdURGJnUExDUEJiUHRlL2JzdUFFRjRhamtQRUVTM0dIUDlBZ01CQUFHamdnR3RNSUlCcVRBZEJnTlZIUTRFRmdRVXg3S2NmeHpqdUZydjZXZ2FxRjJVd1NaU2FtZ3dId1lEVlIwakJCZ3dGb0FVVGlKVUlCaVY1dU51NWcvNitya1M3UVlYanprd0RnWURWUjBQQVFIL0JBUURBZ0dHTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREFqQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNSFlHQ0NzR0FRVUZCd0VCQkdvd2FEQWtCZ2dyQmdFRkJRY3dBWVlZYUhSMGNEb3ZMMjlqYzNBdVpHbG5hV05sY25RdVkyOXRNRUFHQ0NzR0FRVUZCekFDaGpSb2RIUndPaTh2WTJGalpYSjBjeTVrYVdkcFkyVnlkQzVqYjIwdlJHbG5hVU5sY25SSGJHOWlZV3hTYjI5MFJ6SXVZM0owTUhzR0ExVWRId1IwTUhJd042QTFvRE9HTVdoMGRIQTZMeTlqY213ekxtUnBaMmxqWlhKMExtTnZiUzlFYVdkcFEyVnlkRWRzYjJKaGJGSnZiM1JITWk1amNtd3dONkExb0RPR01XaDBkSEE2THk5amNtdzBMbVJwWjJsalpYSjBMbU52YlM5RWFXZHBRMlZ5ZEVkc2IySmhiRkp2YjNSSE1pNWpjbXd3SFFZRFZSMGdCQll3RkRBSUJnWm5nUXdCQWdFd0NBWUdaNEVNQVFJQ01CQUdDU3NHQVFRQmdqY1ZBUVFEQWdFQU1BMEdDU3FHU0liM0RRRUJEQVVBQTRJQkFRQWUrRytHMlJGZFd0WXhMSUtNUjVIL2FWTkZqTlA3SmRldStvWmFLYUl1N1UzTmlkeWtGcjk5NGpTeE1CTVY3Njh1a0o1L2hMU0tzdWovU0xqbUFmd1JBWit3MFJHcWkva092UFlVbEJyL3NLT3dyM3RWa2c5Y2NaQmVibkJWRytETEtUcDJPeDArallCQ1B4bGE1Rk8yNTJxcGs3LzZ3dDhTWmszZGlTVTEySm03aWYvampraGtHQi9lOFVkZnJLb0x5dER2cVZlaXdQQTVGUHpxS29TcU43NWJ5TGpzSUtKRWROaTA3U1k0NWhOL1JVbnNtSW9BZjkzcWxhSFIvU0pXVlJocld0M0ptZW9CSjJSREs0OTJ6RjZUR3UxbW9oNGFFNmUwMFlrd1RQV3JldXd2YUxCMjIwdldtdGdaUHMrRFNJYjJkOWhQQmRDSmd2Y2hvMWM3IiwiTUlJRGpqQ0NBbmFnQXdJQkFnSVFBenJ4NXFjUnFhQzdLR1N4SFFuNjVUQU5CZ2txaGtpRzl3MEJBUXNGQURCaE1Rc3dDUVlEVlFRR0V3SlZVekVWTUJNR0ExVUVDaE1NUkdsbmFVTmxjblFnU1c1ak1Sa3dGd1lEVlFRTEV4QjNkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JITWpBZUZ3MHhNekE0TURFeE1qQXdNREJhRncwek9EQXhNVFV4TWpBd01EQmFNR0V4Q3pBSkJnTlZCQVlUQWxWVE1SVXdFd1lEVlFRS0V3eEVhV2RwUTJWeWRDQkpibU14R1RBWEJnTlZCQXNURUhkM2R5NWthV2RwWTJWeWRDNWpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFY3lNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXV6Zk5OTng3YThteWFKQ3RTblgvUnJvaENnaU45UmxVeWZ1STIvT3U4anFKa1R4NjVxc0dHbXZQckMzb1hna2tSTHBpbW43V282aCs0RlIxSUFXc1VMZWNZeHBzTU56YUh4bXgxeDdlL2RmZ3k1U0RONjdzSDBOTzNYc3MwcjB1cFMva3FiaXRPdFNacExZbDZadHJBR0NTWVA5UElVa1k5MmVRcTJFR25JL3l1dW0wNlpJeWE3WHpWK2hkRzgyTUhhdVZCSlZKOHpVdGx1TkpiZDEzNC90SlM3U3NWUWVwajVXenRDTzdURzFGOFBhcHNwVXd0UDFNVll3blNsY1VmSUtkelhPUzB4WktCZ3lNVU5HUEhnbStGNkhtSWNyOWcrVVF2SU9sQ3NSbktQWnpGQlE5Um5iRGh4U0pJVFJOcnc5RkRLWkpvYnE3bk1XeE00TXBoUUlEQVFBQm8wSXdRREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTRHQTFVZER3RUIvd1FFQXdJQmhqQWRCZ05WSFE0RUZnUVVUaUpVSUJpVjV1TnU1Zy82K3JrUzdRWVhqemt3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUdCbktKUnZEa2hqNnpIZDZtY1kxWWw5UE1XTFNuL3B2dHNyRjkrd1gzTjNLaklUT1lGblFvUWo4a1ZuTmV5SXYvaVBzR0VNTktTdUlFeUV4dHY0TmVGMjJkK21RcnZIUkFpR2Z6WjBKRnJhYkEwVVdUVzk4a25kdGgvSnN3MUhLajJaTDd0Y3U3WFVJT0daWDFOR0ZkdG9tL0R6TU5VK01lS05oSjdqaXRyYWxqNDFFNlZmOFBsd1VIQkhRUkZYR1U3QWo2NEd4SlVURnk4YkpaOTE4ckdPbWFGdkU3RkJjZjZJS3NoUEVDQlYxL01VUmVYZ1JQVHFoNVV5a3c3K1UwYjZMSjMvaXlLNVM5a0pSYVRlcExpYVdOMGJmVktmamxsRGlJR2tuaWJWYjYzZERjWTNmZTBEa2h2bGQxOTI3anlOeEYxV1c2TFpabTZ6TlRmbE1yWT0iXSwieDV0I1MyNTYiOiIxSVo5WUNILUVqOThicXFGVEp0SExxbWVBV0puVmZIRHRZVGwtS0tEZEZ3In0.eyJyZXF1ZXN0Ijp7ImFwaS12ZXJzaW9uIjoiNy4zLXByZXZpZXciLCJlbmMiOiJDS01fUlNBX0FFU19LRVlfV1JBUCIsImtpZCI6Imh0dHBzOi8vdmljb2xpbmFtaHNtaHNtLm1hbmFnZWRoc20uYXp1cmUubmV0L2tleXMvM2E1NTU1YTktMDA1Yi00ZDNiLWFiYjUtMDQ0ODFhNWNkNjExLWtleVRvUmVsZWFzZSJ9LCJyZXNwb25zZSI6eyJrZXkiOnsiYXR0cmlidXRlcyI6eyJjcmVhdGVkIjoxNjI4Mjk1NjQ2LCJlbmFibGVkIjp0cnVlLCJleHBvcnRhYmxlIjp0cnVlLCJyZWNvdmVyYWJsZURheXMiOjkwLCJyZWNvdmVyeUxldmVsIjoiUmVjb3ZlcmFibGUrUHVyZ2VhYmxlIiwidXBkYXRlZCI6MTYyODI5NTY0Nn0sImtleSI6eyJlIjoiQVFBQiIsImtleV9oc20iOiJleUpqYVhCb1pYSjBaWGgwSWpvaVlrMVBTMFJuVm5GTU5XNVRVR0ZvVW1kc2JVeHpiekJRTmpGSWRXRmtSVmRFTUdGbVdqWjFaVTVMVnpKdlRrOHlWelZ2V2xCTk5XRTVSVGxrYkU1NFdYVldYM0JTTTNrNFltTjFSRWRhT1VkbFVWZFdOVjlqTjBKbFNDMUVhME50ZFd4WVJXaHlWVXBSVEdaV1JFWkVPSFF5YjBoMlIyVjJiMjFwWjE5SlJYVkVRblpyWlZOT00xaGtSR1ZIYWs1M01HWmFlUzE1YlVORFdTMDFTRVY2TVU5YVpsUmZabkJCYWpGSU5WTk9RVVZrTFhvdE9HazNUM2hTUVdGQ1YxUTRkV1l4ZWxKWGEzbENaMjkwU1VkclpsSkRWSGxOZVhsbmMwUTRXbU53ZUU1NmRXRk1iVWxDVUVwYVQyaHhTSEUxZEZCUFVtbFFNVnBYYm1WaGMycEpSbUZEZG10YWFsaE5XSGh5WXpsTWMySlNURkZqT0VSWGRWUnlMV1Z6V0ZwaGJYcFROMkpZTFU0eGJsVXpWWGRPVVVkbWVFSktjRUZDUzFsbU5ESlpOM05MZUdoMFltbFVVVEJPTW1wUWNIQTNXbTVpWVRGdFFrc3dVek5qUWtFd1dFZGhaVk5NVTFCRE5DMVdlbTlLTjA1b1pqSkdhRE5EZFMxcU4wTndOSFIzZGxVNWFrdGhibWRhVm5GblgwTm5jMWhLY0ZCVlkzRmhWbVZETjFCTk1uZHFVWFpOUlhGb0xUbE9jbU5CVkc1d01VbG1TMFpMYXpOSmJFcDBhbkYwYm1aSmFtYzBkMjU0VVd4eFZXOVJTVjlIWkZkeFZsSTJNRkJLVDNWWk4yNDFVSGd0YUZSUmExWktTV3REWjI1WFpqaEpXazV2VW1SalZFOUhkWEZhTFdRMmJtNDVPV0ZSZVY5UWVXaHFVRU5GV0ZaT1gwaEtSRWxrY1U5TVp6QjVNM1l4TUROcVgxbE1XRzVpTjJ0UlUwTjVZa1ZrUlU1a1dWbExVMTlDTTBnMk9VOUxUelJNVDNwTWJUWjZRMHhOZG1SaVEzZFJTak5FV0UxSWVsZE9WbHBZYTNOVWFISkRURmM1V1RZek5WVmtiamhxVmpSUVgwOUpNV0YzWm1oU1MyeGZSbmt4WVZseVMya3pjMHhzVTFWTVFqWlBlVXBXVlVkNlpEVlpTWHBCVjFkTVlsUlhjSFYxZW5SNlVuRnBWVmd3UWxKSk1YZzNSalE0Y3pGWlowRmFlakJ3TUVkTlowNUZjMnMxTW1RMFJHNXJaM2QzVVRKb1lYaGhSVGg2Y1RWVmFYWmthRmg1UldkVlpHcERjbEZhTFUxYVZ6Tm9kMWRaVlV4dk0yZGxSbUZWVlRSVVpsQnNVV1pWUlZGblQwSnFkMDlsVG5nME0zZHlUMnR0T0dNMVpIUktjRGhDVFVONWRVUjFRVlEwZDBKUmFVOXlabGN4VW5OWmREbHlXRXczVkhrMVdERldkMGM0WjBSdlZXeERjVWxrUTFaeGFsRkdlR2RRZFhKNGIxUmxaVTFTY1VWVlJsb3piekJqTFVONlFuUnJkRUZZVEc1T2VFdHRVMHRDTm5aWlVsZDBZMDV2V2pkTmRucGhkMEprYzNFM1dFRnZlbkZRWmpsNldVVnFkMVZ5YlVoTlJUbEVNVE15VW5BMVpGZzVVVE5QZGw5Mk16Rk5OVzQxTVc5MmRteGZaV2RaVW0xelpVVmtZMFo2Y0U5cVgzbHpjamg2V1VkWlMyZFJkMGROYUdoMVMyNXlZV0ZWZWpGRlJsTjZVM0JqYm5oTmN6bDJOa1E0YkMxaVgyeEZMVzVtT1U5VmFGUktPVE5KWVRseWFVaFNiMnh2U0VaUVVEVTNOVXhmZHpSNGRtSXRRa3BPVlhOMVdYUmtXbk5XWkZkb2IzUnNOR1pvWkhOd2JUWnVielZzTkZwMFN6aHBOSGxYTTB4dGNWQjVXbEZ4VjBGTFZWOUtUR0pWWWs1elZVaEROSFZ2YWxSVmFGWnNUek5NT0dwaWRVaFBhekpITUhGNU5XSXlNbk52Wm05cVRWVlBOWEZ4ZEVJM2RuWnlaMk5FYW5ZMWNqaDRNRmR3VlRkS1EzaEtOVzV2Tkd3MlNsSkpabkk0U0Rac0xYRm1aekpHTlZocFkyNU9ZVkE1VGw5TVNYcDVZUzFZZGxOQk5XdHdVVEpZUlhnM1JWRlhTMUZLTFdVeE9FOUhVMjB6VmxwdVVFZ3hUVWRLUTJGVU1IcDFVV3MwUXpWSVpFZzBXazFaY21obGNFZENWelpEWm5SUmNHUmZjbUZ5VVVKNWJVOHhRVWMzUlVGNk5EbHNZbXgxY1U1R1pGQkpha04wTUhvMU5VdEVaamR4Tm1oM1FqVmhjMGxTUVhFMldteE9WakptWkZOWVRITlpXREY2VDJGSVNYZG1kM0p3VlV3M1YxaEJRWHBIVTNoUWNGOVFiMWs1UVRaZlJ6UjRZMXBLTUdoQmRFUlZabWR6WDNOelRGWlRabkI2ZEdGc2NXdDNSVzFCVlhKSWNXZzRhbkp0Wlc5bmJGaDJiMUJVZUVOdFgxUlJkM1ZIYnpSNWRuVm9TemRLY3pCTk1VSXdlbGR0UTJkRWFuUkNWVWw2VjJsTVYzRnRSMlZ1U0dreVZqUXdkRFpWTkV4UVRqSnhZVWh6TWpGb1Qya3liVXRGTmpad1FYb3dWM2xUUldSSFUwc3haV3hJWkdvMlpURTJYekJHTlVWSldYTlRia3QxWVRWcWVIaFRkamx5WmpOT2RYSnFVMHR5ZDBOdFRqUmllV1o0TkhkU2JYSXRablo1ZEhoQ04zTjNlamxTT0ZORGNtNVFVbWhLU1hwaVZsTmtkRzlFWVRGVkxUUlFSWFE1Y2psSE4xSm5ZVjlIYzNGQ1gwcDRjeTFVYUdaR2VuTkZka2h4V0c5d1VFTk9aWEJaTkRkeVQxb3hORlZCTlVsdlkxSTNhV1JMYWpKUFZGSm5XWGhRUW5Cek9GVXhSbk5UYjNjeGQwTnNMWEZCYjBSMk1GcFlkVkZ6ZUdONmVGZFZOVmN4WVRkaFQwWmpSSFIwVGpScGIwbHJSMFZLYzIweFpEaGpMVVJ4WjB4ME9YVnJNMU4wVTJsQ1QwRkVOVXBOTjBObU9IbHFkRkF5TlZGbldrNVdNR05JVVdSemJ6VmhlSGxDU2xkelEwdHNOWFZhT1VGdFFuRTViSE5WWVU1WGMxSTRRekpUVlRab01XcEpWVVpETkhRMmFIUmZOR0poV1U1SVNscFlaV2xVUVZkTldIcFpka3hxUTJOZmEwMVVZbTF0VEZwdFJFMUxlamgyZFdkbWJrTnhTV3hLY0ZSaFpHeHpTMGxzVWxCUlNqUXpja3B2WldKS1gzbEhSMG8yTVU5Nk1Ea3lNSFE0U3poNVRUSjBkMlExU1U5UlVIVXhPSFZ3VlU1blRrRkJRbEU0T0ZNeU5tTkxiRlEyVG1WSU9EQnpjREpNVVhNNVVHeEVSRjlXYkd4UmVWRXplaUlzSW1obFlXUmxjaUk2ZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKRFMwMWZVbE5CWDBGRlUxOUxSVmxmVjFKQlVDSXNJbXRwWkNJNkltWmhhMlV0Y21Wc1pXRnpaUzFyWlhraWZTd2ljMk5vWlcxaFgzWmxjbk5wYjI0aU9pSXhMakFpZlEiLCJrZXlfb3BzIjpbIndyYXBLZXkiLCJkZWNyeXB0IiwiZW5jcnlwdCIsInVud3JhcEtleSIsInNpZ24iLCJ2ZXJpZnkiXSwia2lkIjoiaHR0cHM6Ly92aWNvbGluYW1oc21oc20ubWFuYWdlZGhzbS5henVyZS5uZXQva2V5cy8zYTU1NTVhOS0wMDViLTRkM2ItYWJiNS0wNDQ4MWE1Y2Q2MTEta2V5VG9SZWxlYXNlLzg3MTNmNjI4OWEyNDQxMzEzMDc1Njk4Yjg2MjViZjMyIiwia3R5IjoiUlNBIiwibiI6InF3bUpPckxVWUtuNWg0TkNwdVlDMW9GRlBIbXM4blhNLXozckhXSks0T1lCdnFRTHdocDZ3Qk9oc203RlBlblJ4WHpzWkFaYmpPYXFVUV9zRGtDV051bG1faWZhNkxzUnZqTV80WmVBRXhQNmthYmdrZUhVMW5tQW0wdmkyYUJLcWJ2Z3lzS2pleFJzckhDSE85enhPdGt0T3o5VzhyNEhNck5KWmtBb3UtaDV0dUJ6RmZlNURySHNUTE52X0JNRndtdndJa1hfNkdnMVNhaGdvLTI2Q1pIbDJLb2k2R1F5WVMwLW5Wd3ZKenFVWlh4TlBzbEZGTE8wRG5DZzY1aXpFcXg3S25DTkpSMG5JWjZVaGthaU1xZFpRM0phWkUxZlhDZEJyT0U5czZNQ3o2UGszZzUxcko2N2JpZWZoYWFBYVVFZlR5RHZCVGlVMHpTY2toNklzUSJ9LCJyZWxlYXNlX3BvbGljeSI6eyJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiLCJkYXRhIjoiZXlKaGJubFBaaUk2VzNzaVlXNTVUMllpT2x0N0ltTnNZV2x0SWpvaWMyUnJMWFJsYzNRaUxDSmxjWFZoYkhNaU9pSjBjblZsSW4xZExDSmhkWFJvYjNKcGRIa2lPaUpvZEhSd2N6b3ZMM05yY21GMGRHVnpkR0YwYVc5dUxtRjZkWEpsZDJWaWMybDBaWE11Ym1WMEx5SjlYU3dpZG1WeWMybHZiaUk2SWpFdU1DNHdJbjAifX19fQ.Dn7guUG6V0PCU3MbKUTGiVjCi66NiqMhwBLIBB-f8dJ-9jbCK-wSars5lYo4ko0gG-NfC-iXUlt5eZxdaLCRplTbu0mvIxThWuuuBOvKI3kLj7gbvIMjHaoqlCFCrpqp8n9brRzR4j6-ufG6wrYVyJBpAbr3w54jtdCY2ydEPyTvJKDd4Q3ar5COdzab8i_6812CxQYiL1-BUkkKCd1OQ_iiD5TsO-Pt0TK6Anftb7Gr_WpAlH2N1Hj7F-A68mlO7JBdEOW5eA86eSUOtxR8E0Q8-uxaTmyu6UIBfqGZK5DyBfPxFyS8B4WzkcJcnM8sdTf2jFzQOuFuDtcDIzYWZQ\"}" + }, + "Exception" : null + } ], + "variables" : [ "keytorelease92a8js" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.createRsaKeyWithPublicExponent[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.createRsaKeyWithPublicExponent[1].json new file mode 100644 index 0000000000000..43d4b8061dd95 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.createRsaKeyWithPublicExponent[1].json @@ -0,0 +1,30 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/testRsaKey46as168a/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "772", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 09:28:11 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "dd551986-2eed-47ac-852b-8f7bf1c313c4", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/testRsaKey46as168a/9f7504389802488c95dfe7407351e054\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xb6R2CcczwnA8yjFe_WE9tTuupdkIvaBeX_qJdfRmB0FnKI-mEXt7hF-zdsyIgonepoPK3a00anrmEvcBj4qmZAEZHi2Ufns-coNuDDeM_3prooc8nyj_ZrDtR0DCQfvfIAWL8Drw5wCed1XRQpgzXX4WmRWf_auUn7P4wJNkRd4MRv3q65SRJfwFGPQQmA45O3ezPUclKVsZ60uwlzWuQOKM7heBs9URwcSLnnJc7ur-Y-wo090bf8nncfYcAlZIO1N7XeRg7VUZgeHXGWookB2IPUN9K-H1AatLyMUcNvkPffEE30PAotQAO7BuHqOjDR10HxgVBPiSEysG6srxQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":949237199,\"exp\":2527113600,\"created\":1632907691,\"updated\":1632907691,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{\"foo\":\"baz\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "testRsaKey46as168a" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyOfNonExistentKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyOfNonExistentKey[1].json new file mode 100644 index 0000000000000..c75c52cc7b852 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyOfNonExistentKey[1].json @@ -0,0 +1,29 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/nonexistentkey53313/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "307", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "404", + "Date" : "Wed, 29 Sep 2021 10:55:15 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "3aa2a583-9ab0-442c-8a13-86a58ed22343", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"A key with (name/id) nonexistentkey53313 was not found in this key vault. If you recently deleted this key you may be able to recover it using the correct recovery command. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125182\"}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "nonexistentkey53313" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyWithNoPolicySet[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyWithNoPolicySet[1].json new file mode 100644 index 0000000000000..680004083aeb8 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.getKeyRotationPolicyWithNoPolicySet[1].json @@ -0,0 +1,55 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey05083d12/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:32:57 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "3ed45897-e3ac-4c3b-b87f-98e0a2d5fa81", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey05083d12/fcf25e88646949d48f6ca1b18acaa032\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"u-o-hCPaHveuBG2K4wuYxS_RSTsJB0yLuyo8j3Xmx1jUDbSosda5RxrNLHGu5cpDmQdvZ2yurFnw9jclZ-HKfD_x2ZHZS3rgYmg9Af9C7Lf4_vbDv7jZx7p97BfmDN0sX-DBK7nCvVISYB-oX_Z35BYseKweA8f7ZDir7qaXSZ6D67qf_-ulKNhQvEwbWp6QGLrwOaOldoFLiwxsU01MkJgZZDInfjjtF-S397dqMZpGEYik18tVatSbZuWmwKVBFqb2h-eYw_t1_UP7sSMsy705sO2bhvHovhdLP7TIEvktxeRxyjZAp7aGCXq0ewFIaZ2N69y2PXJBtqhey8tWLQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632904377,\"updated\":1632904377,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey05083d12/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "42", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:32:57 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "c9437d1c-fa78-4379-b36b-5f93a7570c14", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"lifetimeActions\":null,\"attributes\":null}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey05083d12" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.releaseKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.releaseKey[1].json index e55a999139b8c..45b6c22594520 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.releaseKey[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.releaseKey[1].json @@ -1,7 +1,7 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/3a5555a9-005b-4d3b-abb5-04481a5cd611-keyToRelease/create?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease728ha8/create?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -20,12 +20,12 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.181.107.174;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "4fa0e8e6-f715-11eb-a622-000d3aa6a10f", - "Body" : "{\"attributes\":{\"created\":1628295646,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628295646},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/3a5555a9-005b-4d3b-abb5-04481a5cd611-keyToRelease/8713f6289a2441313075698b8625bf32\",\"kty\":\"RSA-HSM\",\"n\":\"qwmJOrLUYKn5h4NCpuYC1oFFPHms8nXM-z3rHWJK4OYBvqQLwhp6wBOhsm7FPenRxXzsZAZbjOaqUQ_sDkCWNulm_ifa6LsRvjM_4ZeAExP6kabgkeHU1nmAm0vi2aBKqbvgysKjexRsrHCHO9zxOtktOz9W8r4HMrNJZkAou-h5tuBzFfe5DrHsTLNv_BMFwmvwIkX_6Gg1Sahgo-26CZHl2Koi6GQyYS0-nVwvJzqUZXxNPslFFLO0DnCg65izEqx7KnCNJR0nIZ6UhkaiMqdZQ3JaZE1fXCdBrOE9s6MCz6Pk3g51rJ67biefhaaAaUEfTyDvBTiU0zSckh6IsQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" + "Body" : "{\"attributes\":{\"created\":1628295646,\"enabled\":true,\"exportable\":true,\"recoverableDays\":90,\"recoveryLevel\":\"Recoverable+Purgeable\",\"updated\":1628295646},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinamhsmhsm.managedhsm.azure.net/keys/keytorelease728ha8/8713f6289a2441313075698b8625bf32\",\"kty\":\"RSA\",\"n\":\"qwmJOrLUYKn5h4NCpuYC1oFFPHms8nXM-z3rHWJK4OYBvqQLwhp6wBOhsm7FPenRxXzsZAZbjOaqUQ_sDkCWNulm_ifa6LsRvjM_4ZeAExP6kabgkeHU1nmAm0vi2aBKqbvgysKjexRsrHCHO9zxOtktOz9W8r4HMrNJZkAou-h5tuBzFfe5DrHsTLNv_BMFwmvwIkX_6Gg1Sahgo-26CZHl2Koi6GQyYS0-nVwvJzqUZXxNPslFFLO0DnCg65izEqx7KnCNJR0nIZ6UhkaiMqdZQ3JaZE1fXCdBrOE9s6MCz6Pk3g51rJ67biefhaaAaUEfTyDvBTiU0zSckh6IsQ\"},\"release_policy\":{\"contentType\":\"application/json; charset=utf-8\",\"data\":\"eyJhbnlPZiI6W3siYW55T2YiOlt7ImNsYWltIjoic2RrLXRlc3QiLCJlcXVhbHMiOiJ0cnVlIn1dLCJhdXRob3JpdHkiOiJodHRwczovL3NrcmF0dGVzdGF0aW9uLmF6dXJld2Vic2l0ZXMubmV0LyJ9XSwidmVyc2lvbiI6IjEuMC4wIn0\"}}" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/3a5555a9-005b-4d3b-abb5-04481a5cd611-keyToRelease//release?api-version=7.3-preview", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/keytorelease728ha8//release?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" @@ -48,5 +48,5 @@ }, "Exception" : null } ], - "variables" : [ ] -} \ No newline at end of file + "variables" : [ "keytorelease728ha8" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.rotateKey[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.rotateKey[1].json new file mode 100644 index 0000000000000..50dbe0fce0924 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.rotateKey[1].json @@ -0,0 +1,55 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey98368999/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:39:36 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "e3e2d66a-c302-407d-b0ce-de4423982246", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey98368999/29be12efc5e64c269946bb8283eb9330\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7PYPIiBStnJeMPzE9-tLYN_9pfknRQzZORMF1Zh22q_XFHjdOwyQcIRrg_CqlN3CEUuSSkSxeukr5wlRtVTIMWhuK4NXGGJtyRuD9sAgPU8NP5Tc7BPO71FhxP0kK6tSH9FkQPqq7umCrqj9UfJBAmHnUw5v8ZsQfhsGzxqvnVwpr-EjAj2Qg0iB5KGONwPtdLCaub1_krzJY9dkRIIgC4lTlpX2r9Sb3mxJDC8HqGW7IVTYltRrO5m0pmSwPN01xi8-eVW88N-COOVVrpuOFn-JBYzfb_onr8Oq57b-Qa8IXFIHmoO8S1bwzqouJ2xQ4tcaRGBI62mk1df6zfRR7Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632904777,\"updated\":1632904777,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey98368999/rotate?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:39:36 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "5852d2a0-31af-43ad-9a87-62b1e86a2fdf", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey98368999/69dc59b628874f3aab705a26095106b3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"pl5XDU1hX1XhgnESm9RsF5WGLVrR5R5p0JY42zZA9_fQ2J4rgzeLS2NQpKf13GeXoSDnb9gh887VE-90U4YOaBbGTU27ZecdFUc38Zvn6YLZTHAlfvW2D5IfFoGfJ14Mns8M2rVg5I4lSFNef7QwTvMesucpgmlBP1Mckqtuub3Ae8W7fm1sEWGWKFYEiu12wqBcuSFARc0Imx-GOcVcZKiqdnZSDhGT-YFQSnGFeQSCISeSUCHFhC6YXA_ijgVclZ53MLqHAxamm9MKkNfkV0YRrnUTGH4bgXUQeiNQzS85heMQ71AST1sIFkNRKWi67w_dx7VtJPZ5EWXHQNWqNQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632904778,\"updated\":1632904778,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey98368999" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json new file mode 100644 index 0000000000000..a3588ffc957af --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithAllProperties[1].json @@ -0,0 +1,81 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey9767826d/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:39:25 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "0025e778-3bef-49b2-a910-512c2ab21b36", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey9767826d/d760e3eab00a470ab2f4400affada08e\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0AOAo51abtJ8PqjyCM0WPb1gbxJ6RgcEyzF7K2cxJL1WHoKEt2ANXvE5qrptBJIk0eRxQSYTGDjF1fmkXjsd5WaHSvvlRHg6sKY7y2Eo7MFZI7-a1qHzusuyuSpUHafUpAYatk6zWp2iX90PMjNe8WCTaxRpUBhsQfqPU26TkH0LWyzvj--7m4yV7QMB0Oehet5lBQgKGPkGrcvKylvlAXcIwlPp_Cla6k0M2ZaYros3FhBMnrLrKJ5no72eAoZCVufpgkdPEMiRQNvNcRDf7FAXeYHZ6Q3V99qtPcaKn41UgVwPxXuZbiWj0mME5-_m9YTg3s0Sb0SoTH-bvA8CKQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632904765,\"updated\":1632904765,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey9767826d/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "312", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:39:25 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "2b4eaeb9-d59b-487e-8ba5-21bab06786cb", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey9767826d/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P6M\",\"created\":1632904765,\"updated\":1632904765}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey9767826d/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "312", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:39:25 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "1f573ed3-6983-457b-b7e4-5773eca323fd", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey9767826d/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Rotate\"}},{\"trigger\":{\"timeAfterCreate\":\"P7D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"expiryTime\":\"P6M\",\"created\":1632904765,\"updated\":1632904765}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey9767826d" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json new file mode 100644 index 0000000000000..3b11c08a2c6b9 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyClientTest.updateGetKeyRotationPolicyWithMinimumProperties[1].json @@ -0,0 +1,81 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey869277bb/create?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "688", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:28:14 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "b8639a43-855c-4de9-9cd5-5e1bb0dde7e7", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"key\":{\"kid\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey869277bb/81d6cc34ba9747409f76ac8e58c5740c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"we_-K9Z7VqtGVdjePBSLlnveyylSSZVxNb9ZubqCamldgHLOoTof2iZl7pYyDAUZ8XMI_y4PG13mnFpHteoUlPJATObOrj-w7iVs4NcrHu-VkQl_n568CzAYicCsow7MLy1ncYCHdMElCnA7E8gwcifk7hQFBf5VkbpHWJUJWx49mD01JodstzCvYv0r1fEfk5tHMnUCNAWZjvhaw36VQZHDtELyXWWVhQuDaH7hcxw4jHN0scYvlb-IezxIb8LEaLnymksL93hHHrMzqQ86x8fJChPP3oLb-mV1-gfEUyrNnhW8PVw50veEkvYAHS0EysTuCl-YPIc39p7AKKWOsQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1632904094,\"updated\":1632904094,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey869277bb/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "230", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:28:14 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "0bb9d3c6-bc07-4b5f-8558-63d3e07139f6", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey869277bb/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632904095,\"updated\":1632904095}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.vault.azure.net/keys/rotatekey869277bb/rotationpolicy?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + }, + "Response" : { + "content-length" : "230", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 29 Sep 2021 08:28:15 GMT", + "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", + "Expires" : "-1", + "x-ms-request-id" : "824fe54f-850e-463a-b9b8-8141229b844d", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"id\":\"https://azure-kv-tests2.vault.azure.net/keys/rotatekey869277bb/rotationpolicy\",\"lifetimeActions\":[{\"trigger\":{\"timeBeforeExpiry\":\"P30D\"},\"action\":{\"type\":\"Notify\"}}],\"attributes\":{\"created\":1632904095,\"updated\":1632904095}}", + "Content-Type" : "application/json; charset=utf-8", + "X-Powered-By" : "ASP.NET" + }, + "Exception" : null + } ], + "variables" : [ "rotatekey869277bb" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK128[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK128[1].json new file mode 100644 index 0000000000000..4ab0a1651a6cc --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK128[1].json @@ -0,0 +1,126 @@ +{ + "networkCallRecords" : [ { + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey285768?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "201", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9cd72096-1a63-11ec-b856-000d3a9f7bf5", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"wrapKey\",\"unwrapKey\"],\"kid\":\"https://azure-kv-tests2.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210809-1-5b391b3f-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "52", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d035166-1a63-11ec-b856-000d3a9f7bf5", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"unwrapKey\",\"wrapKey\"],\"kid\":\"https://azure-kv-tests2.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9/wrapkey?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "169", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "52", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d41c16c-1a63-11ec-95c4-000d3a980532", + "Body" : "{\"alg\":\"A128KW\",\"kid\":\"https://azure-kv-tests2.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9\",\"value\":\"H6aLCoEStEeu80vY-1p7gp0-hiNx0s_l\"}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210809-1-5b391b3f-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "62", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d53265a-1a63-11ec-89ae-000d3aa45960", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"unwrapKey\",\"wrapKey\"],\"kid\":\"https://azure-kv-tests2.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9/unwrapkey?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "159", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "0", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d64b7b2-1a63-11ec-b856-000d3a9f7bf5", + "Body" : "{\"alg\":\"A128KW\",\"kid\":\"https://azure-kv-tests2.managedhsm.azure.net/keys/symmetrickey285768/be81850186f10aa0bd313c0f54c3c8c9\",\"value\":\"ABEiM0RVZneImaq7zN3u_w\"}" + }, + "Exception" : null + } ], + "variables" : [ "symmetrickey285768" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK192[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK192[1].json new file mode 100644 index 0000000000000..f671801c7613f --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientManagedHsmTest.wrapUnwrapSymmetricAK192[1].json @@ -0,0 +1,126 @@ +{ + "networkCallRecords" : [ { + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey494480?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "257", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9cd92b66-1a63-11ec-89ae-000d3aa45960", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"wrapKey\",\"unwrapKey\"],\"kid\":\"https://vicolinasep2hsm.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210809-1-5b391b3f-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "52", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d08d848-1a63-11ec-89ae-000d3aa45960", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"unwrapKey\",\"wrapKey\"],\"kid\":\"https://vicolinasep2hsm.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55/wrapkey?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "169", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "62", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d18b506-1a63-11ec-b856-000d3a9f7bf5", + "Body" : "{\"alg\":\"A192KW\",\"kid\":\"https://vicolinasep2hsm.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55\",\"value\":\"lneLJa5spDX5K1uXwFCu0kaKuKF62E5d\"}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "330", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20210809-1-5b391b3f-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "0", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d2af446-1a63-11ec-89ae-000d3aa45960", + "Body" : "{\"attributes\":{\"created\":1632177567,\"enabled\":true,\"exportable\":false,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1632177567},\"key\":{\"key_ops\":[\"unwrapKey\",\"wrapKey\"],\"kid\":\"https://vicolinasep2hsm.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55\",\"kty\":\"oct-HSM\"}}" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55/unwrapkey?api-version=7.3-preview", + "Headers" : { + "User-Agent" : "KEKClientTestBase azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "159", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "0", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "centralus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "9d3321c0-1a63-11ec-b856-000d3a9f7bf5", + "Body" : "{\"alg\":\"A192KW\",\"kid\":\"https://vicolinasep2hsm.managedhsm.azure.net/keys/symmetrickey494480/4b7443066e9303d11a627dc5d9198c55\",\"value\":\"ABEiM0RVZneImaq7zN3u_w\"}" + }, + "Exception" : null + } ], + "variables" : [ "symmetrickey494480" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK128[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK128[1].json index 533318784b32a..d51b1488efb78 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK128[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK128[1].json @@ -1,56 +1,56 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.vault.azure.net/secrets/secretKey?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/secrets/secretkey87617282?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "267", + "content-length" : "281", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "200", - "Date" : "Fri, 23 Apr 2021 07:48:37 GMT", + "Date" : "Mon, 20 Sep 2021 22:56:41 GMT", "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", "Expires" : "-1", - "x-ms-request-id" : "0bb4aafb-2891-4091-b44c-07c1057475be", - "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODw==\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretKey/fe1b20d906094377b48e6cf74c43bde3\",\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "x-ms-request-id" : "686a1fdd-6646-42f7-9d60-87fc07b95bc6", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODw==\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretkey87617282/b1103e3836f449969aee6643ad8574a5\",\"attributes\":{\"enabled\":true,\"created\":1632178602,\"updated\":1632178602,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.vault.azure.net/secrets/secretKey/fe1b20d906094377b48e6cf74c43bde3?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/secrets/secretkey87617282/b1103e3836f449969aee6643ad8574a5?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "267", + "content-length" : "281", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "200", - "Date" : "Fri, 23 Apr 2021 07:48:38 GMT", + "Date" : "Mon, 20 Sep 2021 22:56:41 GMT", "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", "Expires" : "-1", - "x-ms-request-id" : "3197b304-2e96-4589-bf92-de251afaf090", - "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODw==\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretKey/fe1b20d906094377b48e6cf74c43bde3\",\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "x-ms-request-id" : "a733e06a-0731-4164-92ea-8b4068d33ac1", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODw==\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretkey87617282/b1103e3836f449969aee6643ad8574a5\",\"attributes\":{\"enabled\":true,\"created\":1632178602,\"updated\":1632178602,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "secretkey87617282" ] } diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK192[1].json b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK192[1].json index 8391e9c05facd..22e1472bcd859 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK192[1].json +++ b/sdk/keyvault/azure-security-keyvault-keys/src/test/resources/session-records/KeyEncryptionKeyClientTest.wrapUnwrapSymmetricAK192[1].json @@ -1,56 +1,56 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.vault.azure.net/secrets/secretKey?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/secrets/secretkey14694bf4?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "275", + "content-length" : "289", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "200", - "Date" : "Fri, 23 Apr 2021 07:48:38 GMT", + "Date" : "Mon, 20 Sep 2021 22:56:41 GMT", "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", "Expires" : "-1", - "x-ms-request-id" : "9028c4c1-dfe2-41c1-9dc5-6770d9b3a49b", - "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODxAREhMUFRYX\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretKey/a0a903ed3ded491da68d4618cccc9a9f\",\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "x-ms-request-id" : "8553b0c1-6071-4f6d-8fe3-5ad2890e2c53", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODxAREhMUFRYX\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretkey14694bf4/8f01ce961c4d4d7d8591f67741a2c9aa\",\"attributes\":{\"enabled\":true,\"created\":1632178602,\"updated\":1632178602,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.vault.azure.net/secrets/secretKey/a0a903ed3ded491da68d4618cccc9a9f?api-version=7.3-preview", + "Uri" : "https://REDACTED.vault.azure.net/secrets/secretkey14694bf4/8f01ce961c4d4d7d8591f67741a2c9aa?api-version=7.3-preview", "Headers" : { "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "275", + "content-length" : "289", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "200", - "Date" : "Fri, 23 Apr 2021 07:48:38 GMT", + "Date" : "Mon, 20 Sep 2021 22:56:41 GMT", "Strict-Transport-Security" : "max-age=31536000;includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-keyvault-region" : "westus", + "x-ms-keyvault-region" : "centralus", "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=174.127.169.154;act_addr_fam=InterNetwork;", "Expires" : "-1", - "x-ms-request-id" : "d095c059-55cb-4b95-aca7-1b1d196b1193", - "x-ms-keyvault-service-version" : "1.2.236.0", - "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODxAREhMUFRYX\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretKey/a0a903ed3ded491da68d4618cccc9a9f\",\"attributes\":{\"enabled\":true,\"created\":1619164118,\"updated\":1619164118,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "x-ms-request-id" : "2c13abed-7ffe-478b-9b76-2ed2f017d147", + "x-ms-keyvault-service-version" : "1.9.79.2", + "Body" : "{\"value\":\"AAECAwQFBgcICQoLDA0ODxAREhMUFRYX\",\"id\":\"https://azure-kv-tests2.vault.azure.net/secrets/secretkey14694bf4/8f01ce961c4d4d7d8591f67741a2c9aa\",\"attributes\":{\"enabled\":true,\"created\":1632178602,\"updated\":1632178602,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"recoverableDays\":7}}", "Content-Type" : "application/json; charset=utf-8", "X-Powered-By" : "ASP.NET" }, "Exception" : null } ], - "variables" : [ ] + "variables" : [ "secretkey14694bf4" ] } diff --git a/sdk/keyvault/azure-security-keyvault-perf/pom.xml b/sdk/keyvault/azure-security-keyvault-perf/pom.xml index ae2fd4b98cfb1..f4f3a4c6bbeba 100644 --- a/sdk/keyvault/azure-security-keyvault-perf/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-perf/pom.xml @@ -47,7 +47,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 com.azure diff --git a/sdk/keyvault/azure-security-keyvault-secrets/pom.xml b/sdk/keyvault/azure-security-keyvault-secrets/pom.xml index 80ac3ea9e6ed7..0cefe55038c41 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-secrets/pom.xml @@ -57,20 +57,20 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -101,14 +101,14 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/SecretAsyncClient.java b/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/SecretAsyncClient.java index 8ab8444ff8304..7c705151dac8e 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/SecretAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/SecretAsyncClient.java @@ -58,7 +58,6 @@ public final class SecretAsyncClient { static final String ACCEPT_LANGUAGE = "en-US"; static final int DEFAULT_MAX_PAGE_RESULTS = 25; static final String CONTENT_TYPE_HEADER_VALUE = "application/json"; - static final String KEY_VAULT_SCOPE = "https://vault.azure.net/.default"; // Please see here // for more information on Azure resource provider namespaces. private static final String KEYVAULT_TRACING_NAMESPACE_VALUE = "Microsoft.KeyVault"; diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/KeyVaultCredentialPolicy.java b/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/KeyVaultCredentialPolicy.java index ddf4c1c267cff..a57e2e83dbcde 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/KeyVaultCredentialPolicy.java +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/KeyVaultCredentialPolicy.java @@ -1,108 +1,78 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.security.keyvault.secrets.implementation; import com.azure.core.credential.TokenCredential; import com.azure.core.credential.TokenRequestContext; import com.azure.core.http.HttpPipelineCallContext; -import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpRequest; import com.azure.core.http.HttpResponse; -import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.util.CoreUtils; -import com.azure.core.util.logging.ClientLogger; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.net.URL; +import java.nio.ByteBuffer; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** - * A policy that authenticates requests with Azure Key Vault service. The content added by this policy - * is leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. + * A policy that authenticates requests with the Azure Key Vault service. The content added by this policy is + * leveraged in {@link TokenCredential} to get and set the correct "Authorization" header value. * * @see TokenCredential */ -public final class KeyVaultCredentialPolicy implements HttpPipelinePolicy { - private final ClientLogger logger = new ClientLogger(KeyVaultCredentialPolicy.class); - private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; +public class KeyVaultCredentialPolicy extends BearerTokenAuthenticationPolicy { private static final String BEARER_TOKEN_PREFIX = "Bearer "; - private static final String AUTHORIZATION = "Authorization"; - private final ScopeTokenCache cache; + private static final String CONTENT_LENGTH_HEADER = "Content-Length"; + private static final String KEY_VAULT_STASHED_CONTENT_KEY = "KeyVaultCredentialPolicyStashedBody"; + private static final String KEY_VAULT_STASHED_CONTENT_LENGTH_KEY = "KeyVaultCredentialPolicyStashedContentLength"; + private static final String WWW_AUTHENTICATE = "WWW-Authenticate"; + private static final ConcurrentMap SCOPE_CACHE = new ConcurrentHashMap<>(); + private String scope; /** - * Creates KeyVaultCredentialPolicy. + * Creates a {@link KeyVaultCredentialPolicy}. * - * @param credential the token credential to authenticate the request + * @param credential The token credential to authenticate the request. */ public KeyVaultCredentialPolicy(TokenCredential credential) { - Objects.requireNonNull(credential); - this.cache = new ScopeTokenCache((request) -> credential.getToken(request)); - } - - /** - * Adds the required header to authenticate a request to Azure Key Vault service. - * - * @param context The request context - * @param next The next HTTP pipeline policy to process the {@code context's} request after this policy completes. - * @return A {@link Mono} representing the HTTP response that will arrive asynchronously. - */ - @Override - public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { - if ("http".equals(context.getHttpRequest().getUrl().getProtocol())) { - return Mono.error(new RuntimeException("Token credentials require a URL using the HTTPS protocol scheme")); - } - return next.clone().process() - .doOnNext(httpResponse -> { - // KV follows challenge based auth. Currently every service - // call hit the endpoint for challenge and then resend the - // request with token. The challenge response body is not - // consumed, not draining/closing the body will result in leak. - // Ref: https://github.com/Azure/azure-sdk-for-java/issues/7934 - // https://github.com/Azure/azure-sdk-for-java/issues/10467 - try { - httpResponse.getBody().subscribe().dispose(); - } catch (RuntimeException ignored) { - logger.logExceptionAsWarning(ignored); - } - // The ReactorNettyHttpResponse::close() should be sufficient - // and should take care similar body disposal but looks like that - // is not happening, need to re-visit the close() method. - }) - .map(res -> res.getHeaderValue(WWW_AUTHENTICATE)) - .map(header -> extractChallenge(header, BEARER_TOKEN_PREFIX)) - .flatMap(map -> { - cache.setTokenRequest(new TokenRequestContext().addScopes(map.get("resource") + "/.default")); - return cache.getToken(); - }) - .flatMap(token -> { - context.getHttpRequest().setHeader(AUTHORIZATION, BEARER_TOKEN_PREFIX + token.getToken()); - return next.process(); - }); + super(credential); } /** - * Extracts the challenge off the authentication header. + * Extracts attributes off the bearer challenge in the authentication header. * - * @param authenticateHeader The authentication header containing all the challenges. + * @param authenticateHeader The authentication header containing the challenge. * @param authChallengePrefix The authentication challenge name. - * @return a challenge map. + * + * @return A challenge attributes map. */ - private static Map extractChallenge(String authenticateHeader, String authChallengePrefix) { - if (!isValidChallenge(authenticateHeader, authChallengePrefix)) { - return null; + private static Map extractChallengeAttributes(String authenticateHeader, + String authChallengePrefix) { + if (!isBearerChallenge(authenticateHeader, authChallengePrefix)) { + return Collections.emptyMap(); } + authenticateHeader = authenticateHeader.toLowerCase(Locale.ROOT).replace(authChallengePrefix.toLowerCase(Locale.ROOT), ""); - String[] challenges = authenticateHeader.split(", "); - Map challengeMap = new HashMap<>(); - for (String pair : challenges) { + String[] attributes = authenticateHeader.split(", "); + Map attributeMap = new HashMap<>(); + + for (String pair : attributes) { String[] keyValue = pair.split("="); - challengeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); + + attributeMap.put(keyValue[0].replaceAll("\"", ""), keyValue[1].replaceAll("\"", "")); } - return challengeMap; + + return attributeMap; } /** @@ -110,10 +80,107 @@ private static Map extractChallenge(String authenticateHeader, S * * @param authenticateHeader The authentication header containing all the challenges. * @param authChallengePrefix The authentication challenge name. - * @return A boolean indicating tha challenge is valid or not. + * @return A boolean indicating if the challenge is a bearer challenge or not. */ - private static boolean isValidChallenge(String authenticateHeader, String authChallengePrefix) { + private static boolean isBearerChallenge(String authenticateHeader, String authChallengePrefix) { return (!CoreUtils.isNullOrEmpty(authenticateHeader) && authenticateHeader.toLowerCase(Locale.ROOT).startsWith(authChallengePrefix.toLowerCase(Locale.ROOT))); } + + @Override + public Mono authorizeRequest(HttpPipelineCallContext context) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + + // If this policy doesn't have an authorityScope cached try to get it from the static challenge cache. + if (this.scope == null) { + String authority = getRequestAuthority(request); + this.scope = SCOPE_CACHE.get(authority); + } + + if (this.scope != null) { + // We fetched the scope from the cache, but we have not initialized the scopes in the base yet. + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext); + } + + // The body is removed from the initial request because Key Vault supports other authentication schemes which + // also protect the body of the request. As a result, before we know the auth scheme we need to avoid sending + // an unprotected body to Key Vault. We don't currently support this enhanced auth scheme in the SDK but we + // still don't want to send any unprotected data to vaults which require it. + + // Do not overwrite previous contents if retrying after initial request failed (e.g. timeout). + if (!context.getData(KEY_VAULT_STASHED_CONTENT_KEY).isPresent()) { + if (request.getBody() != null) { + context.setData(KEY_VAULT_STASHED_CONTENT_KEY, request.getBody()); + context.setData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY, + request.getHeaders().getValue(CONTENT_LENGTH_HEADER)); + request.setHeader(CONTENT_LENGTH_HEADER, "0"); + request.setBody((Flux) null); + } + } + + return Mono.empty(); + }); + } + + @SuppressWarnings("unchecked") + @Override + public Mono authorizeRequestOnChallenge(HttpPipelineCallContext context, HttpResponse response) { + return Mono.defer(() -> { + HttpRequest request = context.getHttpRequest(); + Optional contentOptional = context.getData(KEY_VAULT_STASHED_CONTENT_KEY); + Optional contentLengthOptional = context.getData(KEY_VAULT_STASHED_CONTENT_LENGTH_KEY); + + if (request.getBody() == null && contentOptional.isPresent() && contentLengthOptional.isPresent()) { + request.setBody((Flux) contentOptional.get()); + request.setHeader(CONTENT_LENGTH_HEADER, (String) contentLengthOptional.get()); + } + + String authority = getRequestAuthority(request); + Map challengeAttributes = + extractChallengeAttributes(response.getHeaderValue(WWW_AUTHENTICATE), BEARER_TOKEN_PREFIX); + String scope = challengeAttributes.get("resource"); + + if (scope != null) { + scope = scope + "/.default"; + } else { + scope = challengeAttributes.get("scope"); + } + + if (scope == null) { + this.scope = SCOPE_CACHE.get(authority); + + if (this.scope == null) { + return Mono.just(false); + } + } else { + this.scope = scope; + + SCOPE_CACHE.put(authority, this.scope); + } + + TokenRequestContext tokenRequestContext = new TokenRequestContext().addScopes(this.scope); + + return setAuthorizationHeader(context, tokenRequestContext) + .then(Mono.just(true)); + }); + } + + static void clearCache() { + SCOPE_CACHE.clear(); + } + + private static String getRequestAuthority(HttpRequest request) { + URL url = request.getUrl(); + String authority = url.getAuthority(); + int port = url.getPort(); + + if (!authority.contains(":") && port > 0) { + authority = authority + ":" + port; + } + + return authority; + } } diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/ScopeTokenCache.java b/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/ScopeTokenCache.java deleted file mode 100644 index a46c76cb5247b..0000000000000 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/main/java/com/azure/security/keyvault/secrets/implementation/ScopeTokenCache.java +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.security.keyvault.secrets.implementation; - -import com.azure.core.credential.AccessToken; -import com.azure.core.credential.TokenRequestContext; -import reactor.core.publisher.FluxSink; -import reactor.core.publisher.Mono; -import reactor.core.publisher.ReplayProcessor; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Function; - -/** - * A token cache that supports caching a token and refreshing it. - */ -class ScopeTokenCache { - private final AtomicBoolean wip; - private AccessToken cache; - private final ReplayProcessor emitterProcessor = ReplayProcessor.create(1); - private final FluxSink sink = emitterProcessor.sink(FluxSink.OverflowStrategy.BUFFER); - private final Function> getNew; - private TokenRequestContext request; - - - /** - * Creates an instance of RefreshableTokenCredential with default scheme "Bearer". - * - * @param getNew a method to get a new token - */ - ScopeTokenCache(Function> getNew) { - this.wip = new AtomicBoolean(false); - this.getNew = getNew; - } - - public void setTokenRequest(TokenRequestContext request) { - this.request = request; - } - - /** - * Asynchronously get a token from either the cache or replenish the cache with a new token. - * @return a Publisher that emits an AccessToken - */ - public Mono getToken() { - if (cache != null && !cache.isExpired()) { - return Mono.just(cache); - } - return Mono.defer(() -> { - if (!wip.getAndSet(true)) { - return getNew.apply(request).doOnNext(ac -> cache = ac) - .doOnNext(sink::next) - .doOnError(sink::error) - .doOnTerminate(() -> wip.set(false)); - } else { - return emitterProcessor.next(); - } - }); - } -} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretAsyncClientTest.java index c6dd01170111d..b8f933fd45893 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretAsyncClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretAsyncClientTest.java @@ -40,7 +40,7 @@ protected void beforeTest() { private void initializeClient(HttpClient httpClient, SecretServiceVersion serviceVersion) { client = spy(new SecretClientBuilder() - .pipeline(getHttpPipeline(httpClient, serviceVersion)) + .pipeline(getHttpPipeline(httpClient)) .vaultUrl(getEndpoint()) .serviceVersion(serviceVersion) .buildAsyncClient()); diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTest.java b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTest.java index e921fd8213895..efa0becc78c6b 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTest.java @@ -37,7 +37,7 @@ protected void beforeTest() { private void initializeClient(HttpClient httpClient, SecretServiceVersion serviceVersion) { SecretAsyncClient asyncClient = spy(new SecretClientBuilder() - .pipeline(getHttpPipeline(httpClient, serviceVersion)) + .pipeline(getHttpPipeline(httpClient)) .vaultUrl(getEndpoint()) .serviceVersion(serviceVersion) .buildAsyncClient()); diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTestBase.java b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTestBase.java index f4e1b48a3dde0..c06109fa9995e 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/test/java/com/azure/security/keyvault/secrets/SecretClientTestBase.java @@ -8,7 +8,6 @@ import com.azure.core.http.HttpClient; import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.ExponentialBackoff; import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; @@ -24,6 +23,7 @@ import com.azure.core.util.Configuration; import com.azure.core.util.CoreUtils; import com.azure.identity.ClientSecretCredentialBuilder; +import com.azure.security.keyvault.secrets.implementation.KeyVaultCredentialPolicy; import com.azure.security.keyvault.secrets.models.KeyVaultSecret; import com.azure.security.keyvault.secrets.models.SecretProperties; @@ -61,7 +61,7 @@ protected String getTestName() { void beforeTestSetup() { } - HttpPipeline getHttpPipeline(HttpClient httpClient, SecretServiceVersion serviceVersion) { + HttpPipeline getHttpPipeline(HttpClient httpClient) { TokenCredential credential = null; if (!interceptorManager.isPlaybackMode()) { @@ -80,12 +80,12 @@ HttpPipeline getHttpPipeline(HttpClient httpClient, SecretServiceVersion service // Closest to API goes first, closest to wire goes last. final List policies = new ArrayList<>(); - policies.add(new UserAgentPolicy(SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone(), serviceVersion)); + policies.add(new UserAgentPolicy(null, SDK_NAME, SDK_VERSION, Configuration.getGlobalConfiguration().clone())); HttpPolicyProviders.addBeforeRetryPolicies(policies); RetryStrategy strategy = new ExponentialBackoff(5, Duration.ofSeconds(2), Duration.ofSeconds(16)); policies.add(new RetryPolicy(strategy)); if (credential != null) { - policies.add(new BearerTokenAuthenticationPolicy(credential, SecretAsyncClient.KEY_VAULT_SCOPE)); + policies.add(new KeyVaultCredentialPolicy(credential)); } HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))); diff --git a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml index 6c1223c27b3d3..be1631cf410ba 100644 --- a/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml +++ b/sdk/keyvault/azure-security-test-keyvault-jca/pom.xml @@ -41,7 +41,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 test @@ -78,7 +78,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/keyvault/microsoft-azure-keyvault-cryptography/pom.xml b/sdk/keyvault/microsoft-azure-keyvault-cryptography/pom.xml index 8c75cf73b1edc..025e0900350fe 100644 --- a/sdk/keyvault/microsoft-azure-keyvault-cryptography/pom.xml +++ b/sdk/keyvault/microsoft-azure-keyvault-cryptography/pom.xml @@ -59,7 +59,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 diff --git a/sdk/keyvault/microsoft-azure-keyvault-webkey/pom.xml b/sdk/keyvault/microsoft-azure-keyvault-webkey/pom.xml index 4e91b27b30d01..042eb38910add 100644 --- a/sdk/keyvault/microsoft-azure-keyvault-webkey/pom.xml +++ b/sdk/keyvault/microsoft-azure-keyvault-webkey/pom.xml @@ -45,17 +45,17 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 diff --git a/sdk/keyvault/platform-matrix.json b/sdk/keyvault/platform-matrix.json index 6b17c89b53fb4..740dbaa6dcee9 100644 --- a/sdk/keyvault/platform-matrix.json +++ b/sdk/keyvault/platform-matrix.json @@ -21,12 +21,6 @@ "Pool": "azsdk-pool-mms-ubuntu-2004-general", "TestGoals": "surefire:test", "TestFromSource": true - }, - "windows-2019_am_verify": { - "OSVmImage": "MMS2019", - "Pool": "azsdk-pool-mms-win-2019-general", - "AdditionalOptions": "-am", - "TestGoals": "verify" } }, "ArmTemplateParameters": "@{ enableHsm = $true }", diff --git a/sdk/keyvault/regenerate_and_fix_sdk.py b/sdk/keyvault/regenerate_and_fix_sdk.py index eeb644fc3dd6a..a27f9324d19c9 100644 --- a/sdk/keyvault/regenerate_and_fix_sdk.py +++ b/sdk/keyvault/regenerate_and_fix_sdk.py @@ -70,7 +70,7 @@ def correct_file(file, verbose): classre = re.compile(r'public class ([a-z|A-Z|0-9]*?)[ \n\r\t]*{') - # If this is a model class and not a custom model class, extend our custom code if necessary - additionally add back potentially nuked imports + # If this is a model class and not a custom model class, extend our custom code if necessary - additionally add back potentially removed imports dir, fn = os.path.split(file) if os.path.split(dir)[1] == "models": classes = classre.search(code) @@ -82,7 +82,7 @@ def correct_file(file, verbose): print("Updating generated '%s' to extend custom '%s'" % (classname, classname)) code = classre.sub(r'public class \1 extends %s.\1 {' % CUSTOM_MODEL_NAMESPACE, code) - # Add back webkey imports which may have been nuked + # Add back webkey imports which may have been removed class_usage_re = re.compile(r'[ \t<](' + '|'.join(WEBKEY_REPLACE_MODELS) + ')[ \t>]') needed_classes = list(set(class_usage_re.findall(code))) if len(needed_classes) > 0: diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml index fbf90866c3f68..4aed379dd6bff 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/kusto/azure-resourcemanager-kusto/pom.xml b/sdk/kusto/azure-resourcemanager-kusto/pom.xml index 4a2b76e29c773..ecdb0d7777d59 100644 --- a/sdk/kusto/azure-resourcemanager-kusto/pom.xml +++ b/sdk/kusto/azure-resourcemanager-kusto/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/labservices/azure-resourcemanager-labservices/pom.xml b/sdk/labservices/azure-resourcemanager-labservices/pom.xml index 3a06ffe7ff65e..11116dbe00916 100644 --- a/sdk/labservices/azure-resourcemanager-labservices/pom.xml +++ b/sdk/labservices/azure-resourcemanager-labservices/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/loganalytics/azure-resourcemanager-loganalytics/pom.xml b/sdk/loganalytics/azure-resourcemanager-loganalytics/pom.xml index 99490f14c6953..a8dff49cb327a 100644 --- a/sdk/loganalytics/azure-resourcemanager-loganalytics/pom.xml +++ b/sdk/loganalytics/azure-resourcemanager-loganalytics/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/loganalytics/microsoft-azure-loganalytics/pom.xml b/sdk/loganalytics/microsoft-azure-loganalytics/pom.xml index 86503ace46c52..438352df6d8c7 100644 --- a/sdk/loganalytics/microsoft-azure-loganalytics/pom.xml +++ b/sdk/loganalytics/microsoft-azure-loganalytics/pom.xml @@ -71,7 +71,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -136,7 +136,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search diff --git a/sdk/logic/azure-resourcemanager-logic/pom.xml b/sdk/logic/azure-resourcemanager-logic/pom.xml index b0f4820808b42..4660739cc938d 100644 --- a/sdk/logic/azure-resourcemanager-logic/pom.xml +++ b/sdk/logic/azure-resourcemanager-logic/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/machinelearningservices/azure-resourcemanager-machinelearningservices/pom.xml b/sdk/machinelearningservices/azure-resourcemanager-machinelearningservices/pom.xml index 42de52da90a52..09db400387b84 100644 --- a/sdk/machinelearningservices/azure-resourcemanager-machinelearningservices/pom.xml +++ b/sdk/machinelearningservices/azure-resourcemanager-machinelearningservices/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/maintenance/azure-resourcemanager-maintenance/pom.xml b/sdk/maintenance/azure-resourcemanager-maintenance/pom.xml index 5c825632cf289..3136e98214c31 100644 --- a/sdk/maintenance/azure-resourcemanager-maintenance/pom.xml +++ b/sdk/maintenance/azure-resourcemanager-maintenance/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/managedapplications/azure-resourcemanager-managedapplications/pom.xml b/sdk/managedapplications/azure-resourcemanager-managedapplications/pom.xml index d70256a99dbb8..6b8dfe34ee64c 100644 --- a/sdk/managedapplications/azure-resourcemanager-managedapplications/pom.xml +++ b/sdk/managedapplications/azure-resourcemanager-managedapplications/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/maps/azure-resourcemanager-maps/pom.xml b/sdk/maps/azure-resourcemanager-maps/pom.xml index 9fa94b5da8d65..ffac9e9ac9eb3 100644 --- a/sdk/maps/azure-resourcemanager-maps/pom.xml +++ b/sdk/maps/azure-resourcemanager-maps/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/mariadb/azure-resourcemanager-mariadb/pom.xml b/sdk/mariadb/azure-resourcemanager-mariadb/pom.xml index 09d70a2dd273f..4f77b77d6d18d 100644 --- a/sdk/mariadb/azure-resourcemanager-mariadb/pom.xml +++ b/sdk/mariadb/azure-resourcemanager-mariadb/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/marketplaceordering/azure-resourcemanager-marketplaceordering/pom.xml b/sdk/marketplaceordering/azure-resourcemanager-marketplaceordering/pom.xml index 6e048fa32a8ca..434f5b989ee1f 100644 --- a/sdk/marketplaceordering/azure-resourcemanager-marketplaceordering/pom.xml +++ b/sdk/marketplaceordering/azure-resourcemanager-marketplaceordering/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/mediaservices/azure-resourcemanager-mediaservices/pom.xml b/sdk/mediaservices/azure-resourcemanager-mediaservices/pom.xml index d0e4ddfa41bd4..a88741f07ef0c 100644 --- a/sdk/mediaservices/azure-resourcemanager-mediaservices/pom.xml +++ b/sdk/mediaservices/azure-resourcemanager-mediaservices/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/mediaservices/microsoft-azure-media/pom.xml b/sdk/mediaservices/microsoft-azure-media/pom.xml index 314570145ce24..adb3e9f6b5da1 100644 --- a/sdk/mediaservices/microsoft-azure-media/pom.xml +++ b/sdk/mediaservices/microsoft-azure-media/pom.xml @@ -108,17 +108,17 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-annotations - 2.12.4 + 2.12.5 com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 io.jsonwebtoken @@ -184,7 +184,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.storage /** diff --git a/sdk/metricsadvisor/azure-ai-metricsadvisor/pom.xml b/sdk/metricsadvisor/azure-ai-metricsadvisor/pom.xml index 2fc7d2d597aac..e47f8388d20e9 100644 --- a/sdk/metricsadvisor/azure-ai-metricsadvisor/pom.xml +++ b/sdk/metricsadvisor/azure-ai-metricsadvisor/pom.xml @@ -44,25 +44,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/mixedreality/azure-mixedreality-authentication/pom.xml b/sdk/mixedreality/azure-mixedreality-authentication/pom.xml index 635b7f434bfa4..90c7fcdf18d18 100644 --- a/sdk/mixedreality/azure-mixedreality-authentication/pom.xml +++ b/sdk/mixedreality/azure-mixedreality-authentication/pom.xml @@ -34,25 +34,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -82,7 +82,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/mixedreality/azure-resourcemanager-mixedreality/pom.xml b/sdk/mixedreality/azure-resourcemanager-mixedreality/pom.xml index b41b67be6d5a3..b681ebe903858 100644 --- a/sdk/mixedreality/azure-resourcemanager-mixedreality/pom.xml +++ b/sdk/mixedreality/azure-resourcemanager-mixedreality/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml b/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml index bd602599de00b..8a6b43bf9a21b 100644 --- a/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml +++ b/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml @@ -46,19 +46,19 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -70,7 +70,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -123,7 +123,7 @@ - com.fasterxml.jackson.core:jackson-annotations:[2.12.4] + com.fasterxml.jackson.core:jackson-annotations:[2.12.5] diff --git a/sdk/monitor/azure-monitor-opentelemetry-exporter/pom.xml b/sdk/monitor/azure-monitor-opentelemetry-exporter/pom.xml index e1442b1494d84..2de8c2518972e 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-exporter/pom.xml +++ b/sdk/monitor/azure-monitor-opentelemetry-exporter/pom.xml @@ -43,12 +43,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 io.opentelemetry @@ -104,13 +104,13 @@ com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.14 + 1.0.0-beta.15 test com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/monitor/azure-monitor-query/pom.xml b/sdk/monitor/azure-monitor-query/pom.xml index 5bc757ff04304..a51d841c02306 100644 --- a/sdk/monitor/azure-monitor-query/pom.xml +++ b/sdk/monitor/azure-monitor-query/pom.xml @@ -37,12 +37,12 @@ com.azure azure-core - 1.21.0-beta.1 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 org.junit.jupiter @@ -71,13 +71,13 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/mysql/azure-resourcemanager-mysql/pom.xml b/sdk/mysql/azure-resourcemanager-mysql/pom.xml index 12c4492bd03c1..187ae179f9319 100644 --- a/sdk/mysql/azure-resourcemanager-mysql/pom.xml +++ b/sdk/mysql/azure-resourcemanager-mysql/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/mysqlflexibleserver/azure-resourcemanager-mysqlflexibleserver/pom.xml b/sdk/mysqlflexibleserver/azure-resourcemanager-mysqlflexibleserver/pom.xml index 59d9f2f19af19..92c398a2a3668 100644 --- a/sdk/mysqlflexibleserver/azure-resourcemanager-mysqlflexibleserver/pom.xml +++ b/sdk/mysqlflexibleserver/azure-resourcemanager-mysqlflexibleserver/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/netapp/azure-resourcemanager-netapp/pom.xml b/sdk/netapp/azure-resourcemanager-netapp/pom.xml index 88a9c4d87751c..c32a942b3ab2d 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/pom.xml +++ b/sdk/netapp/azure-resourcemanager-netapp/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/notificationhubs/azure-resourcemanager-notificationhubs/pom.xml b/sdk/notificationhubs/azure-resourcemanager-notificationhubs/pom.xml index 4a501b989c1c9..9df436e6a7998 100644 --- a/sdk/notificationhubs/azure-resourcemanager-notificationhubs/pom.xml +++ b/sdk/notificationhubs/azure-resourcemanager-notificationhubs/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/operationsmanagement/azure-resourcemanager-operationsmanagement/pom.xml b/sdk/operationsmanagement/azure-resourcemanager-operationsmanagement/pom.xml index 482d354d34000..45420a93023ec 100644 --- a/sdk/operationsmanagement/azure-resourcemanager-operationsmanagement/pom.xml +++ b/sdk/operationsmanagement/azure-resourcemanager-operationsmanagement/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/parents/azure-client-sdk-parent/pom.xml b/sdk/parents/azure-client-sdk-parent/pom.xml index 75eaf770c6811..9ac83a6a5c282 100644 --- a/sdk/parents/azure-client-sdk-parent/pom.xml +++ b/sdk/parents/azure-client-sdk-parent/pom.xml @@ -138,6 +138,13 @@ true + + + true + + + org.apidesign.javadoc.codesnippet.Doclet + -maxLineLength 120 -snippetpath ${project.basedir}/src/samples/java -suppressMissingLinkWarnings @@ -201,11 +208,35 @@ + + + com.azure.tools + codesnippet-maven-plugin + 1.0.0-beta.1 + + ${skipNewCodesnippetTooling} + + + + update-codesnippets + + update-codesnippet + + + + verify-codesnippets + + verify-codesnippet + + + + + org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs @@ -542,14 +573,14 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 1.8 Azure SDK for Java Reference Documentation Azure SDK for Java Reference Documentation -
Visit the <a href="https://docs.microsoft.com/java/azure/">Azure for Java Developers</a>site + Visit the <a href="https://docs.microsoft.com/java/azure/">Azure for Java Developers</a> site for more Java documentation, including quick starts, tutorials, and code samples. -
+
false *.impl*: @@ -558,7 +589,7 @@ com.azure.tools.checkstyle*: com.azure.core.test*: com.azure.endtoend*: - com.azure.perf* + com.azure.perf*: com.azure.storage.internal.avro* @@ -632,22 +663,23 @@ ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/apache-avro/ - org.apidesign.javadoc.codesnippet.Doclet + true + true + all + true + ${packageOutputDirectory} + ${javadocDoclet} org.apidesign.javadoc codesnippet-doclet 0.53 - -maxLineLength 120 - -snippetpath ${project.basedir}/src/samples/java - -suppressMissingLinkWarnings + + + + -version ${javadocDocletOptions} - true - true - all - true - ${packageOutputDirectory}
@@ -748,7 +780,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 non-aggregate @@ -826,7 +858,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 module-info.java @@ -841,7 +873,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 module-info.java @@ -947,6 +979,8 @@ ${project.basedir}/${relative.path.to.eng.folder}/eng/pipelines/scripts/generate_overview_from_readme.py --rf ${project.basedir}/README.md + --ofp + ${project.build.directory}${file.separator} --v ${project.version} @@ -958,9 +992,9 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 - ${project.basedir}/readme_overview.html + ${project.build.directory}/readme_overview.html diff --git a/sdk/parents/azure-data-sdk-parent/pom.xml b/sdk/parents/azure-data-sdk-parent/pom.xml index ee550985f81c1..ff4624bedb72b 100644 --- a/sdk/parents/azure-data-sdk-parent/pom.xml +++ b/sdk/parents/azure-data-sdk-parent/pom.xml @@ -153,7 +153,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs @@ -219,7 +219,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 8 Azure SDK for Java Reference Documentation @@ -375,7 +375,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 non-aggregate @@ -492,7 +492,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 --no-module-directories @@ -542,7 +542,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 ${project.basedir}/readme_overview.html diff --git a/sdk/peering/azure-resourcemanager-peering/pom.xml b/sdk/peering/azure-resourcemanager-peering/pom.xml index 7575116c6e6ef..0b2b913ed0de4 100644 --- a/sdk/peering/azure-resourcemanager-peering/pom.xml +++ b/sdk/peering/azure-resourcemanager-peering/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/policyinsights/azure-resourcemanager-policyinsights/pom.xml b/sdk/policyinsights/azure-resourcemanager-policyinsights/pom.xml index 3d30e92ff968d..568651e26080f 100644 --- a/sdk/policyinsights/azure-resourcemanager-policyinsights/pom.xml +++ b/sdk/policyinsights/azure-resourcemanager-policyinsights/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/postgresql/azure-resourcemanager-postgresql/pom.xml b/sdk/postgresql/azure-resourcemanager-postgresql/pom.xml index d314c1a9d5a45..83c1cc6d8ec43 100644 --- a/sdk/postgresql/azure-resourcemanager-postgresql/pom.xml +++ b/sdk/postgresql/azure-resourcemanager-postgresql/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/postgresqlflexibleserver/azure-resourcemanager-postgresqlflexibleserver/pom.xml b/sdk/postgresqlflexibleserver/azure-resourcemanager-postgresqlflexibleserver/pom.xml index 22876d712eed3..9240815a463ba 100644 --- a/sdk/postgresqlflexibleserver/azure-resourcemanager-postgresqlflexibleserver/pom.xml +++ b/sdk/postgresqlflexibleserver/azure-resourcemanager-postgresqlflexibleserver/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/powerbidedicated/azure-resourcemanager-powerbidedicated/pom.xml b/sdk/powerbidedicated/azure-resourcemanager-powerbidedicated/pom.xml index 489d927d462b3..64f3e4f02220b 100644 --- a/sdk/powerbidedicated/azure-resourcemanager-powerbidedicated/pom.xml +++ b/sdk/powerbidedicated/azure-resourcemanager-powerbidedicated/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/purview/azure-analytics-purview-catalog/pom.xml b/sdk/purview/azure-analytics-purview-catalog/pom.xml index e0b0658425b1c..7e25d66179114 100644 --- a/sdk/purview/azure-analytics-purview-catalog/pom.xml +++ b/sdk/purview/azure-analytics-purview-catalog/pom.xml @@ -40,17 +40,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -75,7 +75,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -99,7 +99,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 diff --git a/sdk/purview/azure-analytics-purview-scanning/pom.xml b/sdk/purview/azure-analytics-purview-scanning/pom.xml index 862dc73b94263..2c917f3540e09 100644 --- a/sdk/purview/azure-analytics-purview-scanning/pom.xml +++ b/sdk/purview/azure-analytics-purview-scanning/pom.xml @@ -40,17 +40,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -75,7 +75,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -99,7 +99,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 diff --git a/sdk/purview/azure-resourcemanager-purview/pom.xml b/sdk/purview/azure-resourcemanager-purview/pom.xml index 2a4feeac8093e..d59e2e9655e17 100644 --- a/sdk/purview/azure-resourcemanager-purview/pom.xml +++ b/sdk/purview/azure-resourcemanager-purview/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/quantum/azure-quantum-jobs/pom.xml b/sdk/quantum/azure-quantum-jobs/pom.xml index 3035b5f57d2b5..3c70b2b2b0c62 100644 --- a/sdk/quantum/azure-quantum-jobs/pom.xml +++ b/sdk/quantum/azure-quantum-jobs/pom.xml @@ -42,12 +42,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -62,7 +62,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/quota/azure-resourcemanager-quota/pom.xml b/sdk/quota/azure-resourcemanager-quota/pom.xml index 151b586719646..3916a9e642848 100644 --- a/sdk/quota/azure-resourcemanager-quota/pom.xml +++ b/sdk/quota/azure-resourcemanager-quota/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/recoveryservices/azure-resourcemanager-recoveryservices/pom.xml b/sdk/recoveryservices/azure-resourcemanager-recoveryservices/pom.xml index 98911f6852b32..e846251bd8de8 100644 --- a/sdk/recoveryservices/azure-resourcemanager-recoveryservices/pom.xml +++ b/sdk/recoveryservices/azure-resourcemanager-recoveryservices/pom.xml @@ -44,7 +44,7 @@ com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/recoveryservicesbackup/azure-resourcemanager-recoveryservicesbackup/pom.xml b/sdk/recoveryservicesbackup/azure-resourcemanager-recoveryservicesbackup/pom.xml index 5344979efc39e..f1889c856e581 100644 --- a/sdk/recoveryservicesbackup/azure-resourcemanager-recoveryservicesbackup/pom.xml +++ b/sdk/recoveryservicesbackup/azure-resourcemanager-recoveryservicesbackup/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/redisenterprise/azure-resourcemanager-redisenterprise/pom.xml b/sdk/redisenterprise/azure-resourcemanager-redisenterprise/pom.xml index 662c362b700b3..a2606e7b1b942 100644 --- a/sdk/redisenterprise/azure-resourcemanager-redisenterprise/pom.xml +++ b/sdk/redisenterprise/azure-resourcemanager-redisenterprise/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/relay/azure-resourcemanager-relay/pom.xml b/sdk/relay/azure-resourcemanager-relay/pom.xml index 7574d1f84d6e1..e97a412df4057 100644 --- a/sdk/relay/azure-resourcemanager-relay/pom.xml +++ b/sdk/relay/azure-resourcemanager-relay/pom.xml @@ -44,7 +44,7 @@ com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/remoterendering/azure-mixedreality-remoterendering/pom.xml b/sdk/remoterendering/azure-mixedreality-remoterendering/pom.xml index 4d11272243d50..b0a6b193fbb86 100644 --- a/sdk/remoterendering/azure-mixedreality-remoterendering/pom.xml +++ b/sdk/remoterendering/azure-mixedreality-remoterendering/pom.xml @@ -31,7 +31,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -43,13 +43,13 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -79,7 +79,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/resourcegraph/azure-resourcemanager-resourcegraph/pom.xml b/sdk/resourcegraph/azure-resourcemanager-resourcegraph/pom.xml index db2a4d9cc4735..9c15de44b87ed 100644 --- a/sdk/resourcegraph/azure-resourcemanager-resourcegraph/pom.xml +++ b/sdk/resourcegraph/azure-resourcemanager-resourcegraph/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -60,7 +60,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/resourcehealth/azure-resourcemanager-resourcehealth/pom.xml b/sdk/resourcehealth/azure-resourcemanager-resourcehealth/pom.xml index fca88454b715a..5a1df07f5c04f 100644 --- a/sdk/resourcehealth/azure-resourcemanager-resourcehealth/pom.xml +++ b/sdk/resourcehealth/azure-resourcemanager-resourcehealth/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/resourcemanager/azure-resourcemanager-appplatform/pom.xml b/sdk/resourcemanager/azure-resourcemanager-appplatform/pom.xml index 820f44651093f..98c5fa5eaf072 100644 --- a/sdk/resourcemanager/azure-resourcemanager-appplatform/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-appplatform/pom.xml @@ -97,7 +97,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-appservice/pom.xml b/sdk/resourcemanager/azure-resourcemanager-appservice/pom.xml index e9041311017e7..1b853e1afda4d 100644 --- a/sdk/resourcemanager/azure-resourcemanager-appservice/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-appservice/pom.xml @@ -105,7 +105,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/models/DeployOptions.java b/sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/models/DeployOptions.java index f4c3bc983753b..7b43eba7e9bc5 100644 --- a/sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/models/DeployOptions.java +++ b/sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/models/DeployOptions.java @@ -63,7 +63,7 @@ public Boolean cleanDeployment() { * By default {@code type=zip} and {@code type=war&path=webapps/} performs clean deployment. * All other types of artifacts will be deployed incrementally. * The default behavior for any artifact type can be changed by this option. - * A clean deployment nukes the default directory associated with the type of artifact being deployed. + * A clean deployment removes the default directory associated with the type of artifact being deployed. * * @param cleanDeployment whether to perform clean deployment * @return the DeployOptions object diff --git a/sdk/resourcemanager/azure-resourcemanager-authorization/pom.xml b/sdk/resourcemanager/azure-resourcemanager-authorization/pom.xml index 5850908b68d37..9880b3b04174d 100644 --- a/sdk/resourcemanager/azure-resourcemanager-authorization/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-authorization/pom.xml @@ -80,7 +80,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-cdn/pom.xml b/sdk/resourcemanager/azure-resourcemanager-cdn/pom.xml index 46da0ff14254f..be1264c5227b8 100644 --- a/sdk/resourcemanager/azure-resourcemanager-cdn/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-cdn/pom.xml @@ -73,7 +73,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-compute/pom.xml b/sdk/resourcemanager/azure-resourcemanager-compute/pom.xml index 38f53f7e512f5..f5117671c1096 100644 --- a/sdk/resourcemanager/azure-resourcemanager-compute/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-compute/pom.xml @@ -109,7 +109,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-containerinstance/pom.xml b/sdk/resourcemanager/azure-resourcemanager-containerinstance/pom.xml index 6ab8eecce7e37..330b1cb19dcd8 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerinstance/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-containerinstance/pom.xml @@ -103,7 +103,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/main/java/com/azure/resourcemanager/containerinstance/implementation/ContainerGroupImpl.java b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/main/java/com/azure/resourcemanager/containerinstance/implementation/ContainerGroupImpl.java index d753e1051da84..d6423472490d1 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/main/java/com/azure/resourcemanager/containerinstance/implementation/ContainerGroupImpl.java +++ b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/main/java/com/azure/resourcemanager/containerinstance/implementation/ContainerGroupImpl.java @@ -459,10 +459,9 @@ public ContainerGroupImpl withExistingNetworkProfile( @Override public ContainerGroupImpl withExistingNetworkProfile(String networkProfileId) { this.innerModel().withNetworkProfile(new ContainerGroupNetworkProfile().withId(networkProfileId)); - if (this.innerModel().ipAddress() == null) { - this.innerModel().withIpAddress(new IpAddress()); + if (this.innerModel().ipAddress() != null) { + this.innerModel().ipAddress().withType(ContainerGroupIpAddressType.PRIVATE); } - this.innerModel().ipAddress().withType(ContainerGroupIpAddressType.PRIVATE); return this; } diff --git a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/java/com/azure/resourcemanager/containerinstance/ContainerGroupTest.java b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/java/com/azure/resourcemanager/containerinstance/ContainerGroupTest.java index 9165e3cbc6d4d..150ac0ee0af74 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/java/com/azure/resourcemanager/containerinstance/ContainerGroupTest.java +++ b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/java/com/azure/resourcemanager/containerinstance/ContainerGroupTest.java @@ -66,7 +66,7 @@ public void testContainerGroupWithVirtualNetwork() { .withLinux() .withPublicImageRegistryOnly() .withoutVolume() - .withContainerInstance("nginx", 80) + .withContainerInstance("nginx") .withExistingNetworkProfile(containerGroup1.networkProfileId()) .create(); diff --git a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/resources/session-records/ContainerGroupTest.testContainerGroupWithVirtualNetwork.json b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/resources/session-records/ContainerGroupTest.testContainerGroupWithVirtualNetwork.json index a12d146634707..95c624d9c6d5a 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/resources/session-records/ContainerGroupTest.testContainerGroupWithVirtualNetwork.json +++ b/sdk/resourcemanager/azure-resourcemanager-containerinstance/src/test/resources/session-records/ContainerGroupTest.testContainerGroupWithVirtualNetwork.json @@ -1,67 +1,67 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg69096212a00?api-version=2021-01-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg749298a0fab?api-version=2021-01-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "45bb81f5-6a0d-4dc4-9159-78fef29650bf", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "63c8bbbe-cf0a-40ee-9ffa-9363602c4434", "Content-Type" : "application/json" }, "Response" : { "content-length" : "223", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1199", + "x-ms-ratelimit-remaining-subscription-writes" : "1197", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "201", - "x-ms-correlation-request-id" : "ca7d3a3b-fd86-449d-b828-a00b6e195165", - "Date" : "Tue, 25 May 2021 02:54:51 GMT", + "x-ms-correlation-request-id" : "07a04f03-f59b-481b-9679-e652b930a468", + "Date" : "Tue, 28 Sep 2021 05:10:54 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025452Z:ca7d3a3b-fd86-449d-b828-a00b6e195165", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051054Z:07a04f03-f59b-481b-9679-e652b930a468", "Expires" : "-1", - "x-ms-request-id" : "ca7d3a3b-fd86-449d-b828-a00b6e195165", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00\",\"name\":\"rg69096212a00\",\"type\":\"Microsoft.Resources/resourceGroups\",\"location\":\"eastus\",\"properties\":{\"provisioningState\":\"Succeeded\"}}", + "x-ms-request-id" : "07a04f03-f59b-481b-9679-e652b930a468", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab\",\"name\":\"rg749298a0fab\",\"type\":\"Microsoft.Resources/resourceGroups\",\"location\":\"eastus\",\"properties\":{\"provisioningState\":\"Succeeded\"}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "f945898b-34f2-4168-b505-05994e7b97c8", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "28068135-902d-4552-bf07-0761ec005572", "Content-Type" : "application/json" }, "Response" : { "content-length" : "2100", "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1198", + "x-ms-ratelimit-remaining-subscription-writes" : "1196", "Pragma" : "no-cache", "Azure-AsyncNotification" : "Enabled", "StatusCode" : "201", - "x-ms-correlation-request-id" : "ba4cb250-3f0f-4e7c-9be0-793f463d5b1b", - "Date" : "Tue, 25 May 2021 02:54:58 GMT", - "x-ms-arm-service-request-id" : "91fb0768-8802-478e-85e7-3b3297bdaa2d", + "x-ms-correlation-request-id" : "c9f84ccf-4545-4c37-ad75-4300f38c5e65", + "Date" : "Tue, 28 Sep 2021 05:10:59 GMT", + "x-ms-arm-service-request-id" : "0301e6be-1f5e-4160-93cb-77d1bd56c7a5", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", "Retry-After" : "0", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025458Z:ba4cb250-3f0f-4e7c-9be0-793f463d5b1b", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051059Z:c9f84ccf-4545-4c37-ad75-4300f38c5e65", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/097ef2e1-e4ab-4375-b2b7-70a9517db7e2?api-version=2021-03-01", - "x-ms-request-id" : "097ef2e1-e4ab-4375-b2b7-70a9517db7e2", - "Body" : "{\r\n \"name\": \"net5885523f5b1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1\",\r\n \"etag\": \"W/\\\"f09f96ed-358a-4903-ac47-fbbfca539714\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"da4be89a-97f2-4a9b-8f73-3dcde801b04a\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1/subnets/subnet0\",\r\n \"etag\": \"W/\\\"f09f96ed-358a-4903-ac47-fbbfca539714\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1/subnets/subnet0/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"f09f96ed-358a-4903-ac47-fbbfca539714\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", - "x-ms-client-request-id" : "f945898b-34f2-4168-b505-05994e7b97c8", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f284afca-a0d2-4d0d-8fe0-1331839776aa?api-version=2021-03-01", + "x-ms-request-id" : "f284afca-a0d2-4d0d-8fe0-1331839776aa", + "Body" : "{\r\n \"name\": \"net44448ce10f9\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9\",\r\n \"etag\": \"W/\\\"6aa19e03-b409-4a35-962e-d5818cdfc397\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"9247e7b9-de06-49df-a0b4-05981ad6efb7\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9/subnets/subnet0\",\r\n \"etag\": \"W/\\\"6aa19e03-b409-4a35-962e-d5818cdfc397\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9/subnets/subnet0/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"6aa19e03-b409-4a35-962e-d5818cdfc397\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", + "x-ms-client-request-id" : "28068135-902d-4552-bf07-0761ec005572", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/097ef2e1-e4ab-4375-b2b7-70a9517db7e2?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f284afca-a0d2-4d0d-8fe0-1331839776aa?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "eb091539-3804-43e3-b29b-6f45ccf70d7f" + "x-ms-client-request-id" : "26ba940d-c7d8-49e0-812f-d3138815a2f7" }, "Response" : { "content-length" : "29", @@ -69,27 +69,27 @@ "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11999", + "x-ms-ratelimit-remaining-subscription-reads" : "11995", "StatusCode" : "200", - "x-ms-correlation-request-id" : "a6ff64d1-90d6-4ad2-8d35-3eb325ad7dac", - "Date" : "Tue, 25 May 2021 02:55:02 GMT", - "x-ms-arm-service-request-id" : "fd8bc923-15da-4ae7-b218-bf5bf5c3cfb7", + "x-ms-correlation-request-id" : "5fa43889-7e70-4dba-a5d9-6f73573ca825", + "Date" : "Tue, 28 Sep 2021 05:11:02 GMT", + "x-ms-arm-service-request-id" : "15b7d15f-6106-4b80-8b9d-1cef5ac49809", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025502Z:a6ff64d1-90d6-4ad2-8d35-3eb325ad7dac", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051102Z:5fa43889-7e70-4dba-a5d9-6f73573ca825", "Expires" : "-1", - "x-ms-request-id" : "39022f6c-c638-46d6-b7b4-50e492c328d3", + "x-ms-request-id" : "f6781a41-779b-4f74-aecc-066aedda21a3", "Body" : "{\r\n \"status\": \"Succeeded\"\r\n}", - "x-ms-client-request-id" : "eb091539-3804-43e3-b29b-6f45ccf70d7f", + "x-ms-client-request-id" : "26ba940d-c7d8-49e0-812f-d3138815a2f7", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "b9bdc429-97f7-4000-b0e8-f882cd3ffe5a" + "x-ms-client-request-id" : "235aa4a3-72b4-4d3f-9d54-ea1fcd5f2f4d" }, "Response" : { "content-length" : "2102", @@ -97,244 +97,270 @@ "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11998", + "x-ms-ratelimit-remaining-subscription-reads" : "11999", "StatusCode" : "200", - "x-ms-correlation-request-id" : "53b08559-59f0-4629-bdbd-b3e969f0f44a", - "Date" : "Tue, 25 May 2021 02:55:02 GMT", - "x-ms-arm-service-request-id" : "572755bb-507d-4fa1-a14a-160b23828a73", + "x-ms-correlation-request-id" : "8838bd3c-2cd2-432a-9e7b-30aa6e6fd76c", + "Date" : "Tue, 28 Sep 2021 05:11:02 GMT", + "x-ms-arm-service-request-id" : "1c94891e-e0a5-4903-8ead-e7c7d80a52ea", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "ETag" : "W/\"3a38b2c1-9607-46c2-9880-b2a50b269457\"", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025502Z:53b08559-59f0-4629-bdbd-b3e969f0f44a", + "ETag" : "W/\"de3d0c19-125a-4f5e-9ba3-cddb18816533\"", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051103Z:8838bd3c-2cd2-432a-9e7b-30aa6e6fd76c", "Expires" : "-1", - "x-ms-request-id" : "e60d43c2-f937-45f1-a680-dd86507928e2", - "Body" : "{\r\n \"name\": \"net5885523f5b1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1\",\r\n \"etag\": \"W/\\\"3a38b2c1-9607-46c2-9880-b2a50b269457\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"da4be89a-97f2-4a9b-8f73-3dcde801b04a\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1/subnets/subnet0\",\r\n \"etag\": \"W/\\\"3a38b2c1-9607-46c2-9880-b2a50b269457\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1/subnets/subnet0/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"3a38b2c1-9607-46c2-9880-b2a50b269457\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", - "x-ms-client-request-id" : "b9bdc429-97f7-4000-b0e8-f882cd3ffe5a", + "x-ms-request-id" : "76f63911-0f6d-4610-8d58-e9ab76f977f4", + "Body" : "{\r\n \"name\": \"net44448ce10f9\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9\",\r\n \"etag\": \"W/\\\"de3d0c19-125a-4f5e-9ba3-cddb18816533\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"9247e7b9-de06-49df-a0b4-05981ad6efb7\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9/subnets/subnet0\",\r\n \"etag\": \"W/\\\"de3d0c19-125a-4f5e-9ba3-cddb18816533\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9/subnets/subnet0/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"de3d0c19-125a-4f5e-9ba3-cddb18816533\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", + "x-ms-client-request-id" : "235aa4a3-72b4-4d3f-9d54-ea1fcd5f2f4d", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "0072ab7d-614c-461c-a9f6-f235532502b9", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "c8416180-2276-47bc-ab73-7437a3ffca07", "Content-Type" : "application/json" }, "Response" : { "content-length" : "1899", "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1197", + "x-ms-ratelimit-remaining-subscription-writes" : "1195", "Pragma" : "no-cache", "retry-after" : "0", "Azure-AsyncNotification" : "Enabled", "StatusCode" : "201", - "x-ms-correlation-request-id" : "e0acc199-87d3-499b-b16d-73717858b7fa", - "Date" : "Tue, 25 May 2021 02:55:05 GMT", - "x-ms-arm-service-request-id" : "3ccb13a4-4c55-4662-8b97-4485a8cfe81b", + "x-ms-correlation-request-id" : "2fdcce24-b337-4805-b0e7-e4bd2dc4f438", + "Date" : "Tue, 28 Sep 2021 05:11:06 GMT", + "x-ms-arm-service-request-id" : "635f5177-1eae-4cb5-8fd3-51ca7fdeab01", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025506Z:e0acc199-87d3-499b-b16d-73717858b7fa", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051107Z:2fdcce24-b337-4805-b0e7-e4bd2dc4f438", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1a3d4804-b5ce-4142-8012-cf451566abeb?api-version=2021-03-01", - "x-ms-request-id" : "1a3d4804-b5ce-4142-8012-cf451566abeb", - "Body" : "{\r\n \"name\": \"aci-profile-71953f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f\",\r\n \"etag\": \"W/\\\"160acd54-7618-4166-ac12-4b8409ee91ab\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"9e380bc1-12fe-4025-9606-b75f24f5edf8\",\r\n \"containerNetworkInterfaceConfigurations\": [\r\n {\r\n \"name\": \"eth0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f/containerNetworkInterfaceConfigurations/eth0\",\r\n \"etag\": \"W/\\\"160acd54-7618-4166-ac12-4b8409ee91ab\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfig0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfig0\",\r\n \"etag\": \"W/\\\"160acd54-7618-4166-ac12-4b8409ee91ab\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/net5885523f5b1/subnets/subnet0\"\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations\"\r\n }\r\n ],\r\n \"containerNetworkInterfaces\": []\r\n }\r\n}", - "x-ms-client-request-id" : "0072ab7d-614c-461c-a9f6-f235532502b9", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/2591a9cc-f094-459e-980a-84c97c2ecaa2?api-version=2021-03-01", + "x-ms-request-id" : "2591a9cc-f094-459e-980a-84c97c2ecaa2", + "Body" : "{\r\n \"name\": \"aci-profile-951430\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430\",\r\n \"etag\": \"W/\\\"0e4b6ba7-d9a4-4ddc-be1e-11ca603faf54\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"fb3b5453-3bd5-41b0-902e-c1be966902b6\",\r\n \"containerNetworkInterfaceConfigurations\": [\r\n {\r\n \"name\": \"eth0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430/containerNetworkInterfaceConfigurations/eth0\",\r\n \"etag\": \"W/\\\"0e4b6ba7-d9a4-4ddc-be1e-11ca603faf54\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfig0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfig0\",\r\n \"etag\": \"W/\\\"0e4b6ba7-d9a4-4ddc-be1e-11ca603faf54\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/net44448ce10f9/subnets/subnet0\"\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations\"\r\n }\r\n ],\r\n \"containerNetworkInterfaces\": []\r\n }\r\n}", + "x-ms-client-request-id" : "c8416180-2276-47bc-ab73-7437a3ffca07", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "9c030a32-700c-49e7-8ddc-159a254fe9ca", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "d99fa9a1-4ec3-4ac4-a4bc-c344690250e5", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "781", + "content-length" : "763", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1196", + "x-ms-ratelimit-remaining-subscription-writes" : "1199", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "201", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "297", - "x-ms-correlation-request-id" : "bc7fa284-596c-42b4-8f25-a80bfd132f51", - "Date" : "Tue, 25 May 2021 02:55:12 GMT", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "299", + "x-ms-correlation-request-id" : "5294105b-9cbe-467d-b8da-3c298bbd31fd", + "Date" : "Tue, 28 Sep 2021 05:11:14 GMT", "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "99", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025512Z:bc7fa284-596c-42b4-8f25-a80bfd132f51", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051115Z:5294105b-9cbe-467d-b8da-3c298bbd31fd", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", - "x-ms-request-id" : "eastus:2089d131-017d-44f1-afe0-67d41c9c8b77", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container808122e5\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[],\"state\":\"Pending\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"name\":\"container808122e5\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", + "x-ms-request-id" : "eastus:18d1568a-74be-4a58-afad-bc59eae45514", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container69141809\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[]},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"name\":\"container69141809\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "7d061fab-dca9-40fb-90e6-183e0812d336" + "x-ms-client-request-id" : "bb1bdbe3-5555-4dd2-9e48-32798c41c997" }, "Response" : { "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11997", + "x-ms-ratelimit-remaining-subscription-reads" : "11994", "StatusCode" : "200", - "x-ms-correlation-request-id" : "5a8cb9c7-b3b0-4f68-bc7b-7176a52ffc39", - "Date" : "Tue, 25 May 2021 02:55:42 GMT", + "x-ms-correlation-request-id" : "89e390ae-d57e-4f15-be06-790a1ac42c9e", + "Date" : "Tue, 28 Sep 2021 05:11:45 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025542Z:5a8cb9c7-b3b0-4f68-bc7b-7176a52ffc39", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051145Z:89e390ae-d57e-4f15-be06-790a1ac42c9e", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:1b2422f2-b00f-4da3-8bf2-0cb08d8ded47", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:55:10.9823415Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:1b6f318e-b669-4daf-9891-f37543a08d21", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "604735fc-e8c6-4c45-91f1-9416032e7182" + "x-ms-client-request-id" : "04ab043a-7616-4989-9cb5-fa5b6da228df" }, "Response" : { "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11996", + "x-ms-ratelimit-remaining-subscription-reads" : "11998", "StatusCode" : "200", - "x-ms-correlation-request-id" : "12c54f71-f486-4544-bfa7-2ac19711dfc4", - "Date" : "Tue, 25 May 2021 02:56:12 GMT", + "x-ms-correlation-request-id" : "dc888431-ee72-48df-8bc1-56c84fb2ec2f", + "Date" : "Tue, 28 Sep 2021 05:12:15 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025613Z:12c54f71-f486-4544-bfa7-2ac19711dfc4", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051216Z:dc888431-ee72-48df-8bc1-56c84fb2ec2f", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:d9a59543-f29b-4b6f-bcff-8748bee04037", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:55:10.9823415Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:010e98a4-d4d2-4787-a1a5-467c92d79fdb", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "6b4a832f-97ce-4be1-8727-0a97fe66382d" + "x-ms-client-request-id" : "95b572c6-b0ac-4f1d-8ad9-8d25104b95e3" }, "Response" : { "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11995", + "x-ms-ratelimit-remaining-subscription-reads" : "11993", "StatusCode" : "200", - "x-ms-correlation-request-id" : "3e178fbe-b91e-46b0-b9b0-651136936f6f", - "Date" : "Tue, 25 May 2021 02:56:43 GMT", + "x-ms-correlation-request-id" : "a38e95a4-6050-46bb-8411-9397ea18122a", + "Date" : "Tue, 28 Sep 2021 05:12:46 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025643Z:3e178fbe-b91e-46b0-b9b0-651136936f6f", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051247Z:a38e95a4-6050-46bb-8411-9397ea18122a", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:8c4e8d18-8374-4e04-badf-c9f87eed0f63", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:55:10.9823415Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:97b853a7-84dc-4744-b104-e7282f258861", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "390dbfb9-940f-4fde-a9d3-f24025c36ff5" + "x-ms-client-request-id" : "b3fef631-a56d-4c90-a135-0ef1a4cf000b" }, "Response" : { - "content-length" : "1163", + "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11994", + "x-ms-ratelimit-remaining-subscription-reads" : "11997", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "41e51128-192e-4048-b308-fce82e9fd08a", + "Date" : "Tue, 28 Sep 2021 05:13:18 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051319Z:41e51128-192e-4048-b308-fce82e9fd08a", + "Vary" : "Accept-Encoding", + "Expires" : "-1", + "x-ms-request-id" : "eastus:ebcaadc7-e726-45fe-9fd6-624189489d1a", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[]}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "2abc4080-8a07-48cb-88e5-44191cdf14a8" + }, + "Response" : { + "content-length" : "1494", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11992", "StatusCode" : "200", - "x-ms-correlation-request-id" : "5e6a9ebb-5a26-4b29-acb6-c379708cf4ab", - "Date" : "Tue, 25 May 2021 02:57:13 GMT", + "x-ms-correlation-request-id" : "d9506ba5-ab7e-4e1d-a87a-abc815468a66", + "Date" : "Tue, 28 Sep 2021 05:13:50 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025713Z:5e6a9ebb-5a26-4b29-acb6-c379708cf4ab", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051350Z:d9506ba5-ab7e-4e1d-a87a-abc815468a66", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:6e6df192-de18-4d7f-a33c-ca334cfe6926", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"status\":\"Creating\",\"startTime\":\"2021-05-25T02:55:10.9823415Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:11Z\",\"lastTimestamp\":\"2021-05-25T02:55:11Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:56Z\",\"lastTimestamp\":\"2021-05-25T02:55:56Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"da4be89a-97f2-4a9b-8f73-3dcde801b04a\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:25Z\",\"lastTimestamp\":\"2021-05-25T02:56:25Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", + "x-ms-request-id" : "eastus:25f559d1-7373-42d1-bc42-26e94717a528", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Creating\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:40Z\",\"lastTimestamp\":\"2021-09-28T05:13:40Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:44Z\",\"lastTimestamp\":\"2021-09-28T05:13:44Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:11:28Z\",\"lastTimestamp\":\"2021-09-28T05:11:28Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:13Z\",\"lastTimestamp\":\"2021-09-28T05:12:13Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"9247e7b9-de06-49df-a0b4-05981ad6efb7\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:36Z\",\"lastTimestamp\":\"2021-09-28T05:12:36Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:37Z\",\"lastTimestamp\":\"2021-09-28T05:12:37Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:40Z\",\"lastTimestamp\":\"2021-09-28T05:12:40Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/2089d131-017d-44f1-afe0-67d41c9c8b77?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/18d1568a-74be-4a58-afad-bc59eae45514?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "d823834f-a4b6-452d-8472-f3e9002cc7e6" + "x-ms-client-request-id" : "1dc7aaa2-4403-46f1-877c-3a211e42256f" }, "Response" : { "content-length" : "1803", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11993", + "x-ms-ratelimit-remaining-subscription-reads" : "11996", "StatusCode" : "200", - "x-ms-correlation-request-id" : "9ae31ca9-e13f-46e4-944d-53d5a95155c1", - "Date" : "Tue, 25 May 2021 02:57:43 GMT", + "x-ms-correlation-request-id" : "34fdac96-2eec-4983-a2d0-0e2bf7066e55", + "Date" : "Tue, 28 Sep 2021 05:14:20 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025744Z:9ae31ca9-e13f-46e4-944d-53d5a95155c1", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051420Z:34fdac96-2eec-4983-a2d0-0e2bf7066e55", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:8c1e9792-5e3f-4a2e-b1ce-83959965f776", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"status\":\"Succeeded\",\"startTime\":\"2021-05-25T02:55:10.9823415Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:21Z\",\"lastTimestamp\":\"2021-05-25T02:57:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:25Z\",\"lastTimestamp\":\"2021-05-25T02:57:25Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:30Z\",\"lastTimestamp\":\"2021-05-25T02:57:30Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:31Z\",\"lastTimestamp\":\"2021-05-25T02:57:31Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:11Z\",\"lastTimestamp\":\"2021-05-25T02:55:11Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:56Z\",\"lastTimestamp\":\"2021-05-25T02:55:56Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"da4be89a-97f2-4a9b-8f73-3dcde801b04a\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:25Z\",\"lastTimestamp\":\"2021-05-25T02:56:25Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", + "x-ms-request-id" : "eastus:450ede59-bcb3-49dc-8ee2-c211a29089a9", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"status\":\"Succeeded\",\"startTime\":\"2021-09-28T05:11:13.8758429Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:40Z\",\"lastTimestamp\":\"2021-09-28T05:13:40Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:44Z\",\"lastTimestamp\":\"2021-09-28T05:13:44Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:11:28Z\",\"lastTimestamp\":\"2021-09-28T05:11:28Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:13Z\",\"lastTimestamp\":\"2021-09-28T05:12:13Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"9247e7b9-de06-49df-a0b4-05981ad6efb7\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:36Z\",\"lastTimestamp\":\"2021-09-28T05:12:36Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:37Z\",\"lastTimestamp\":\"2021-09-28T05:12:37Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:40Z\",\"lastTimestamp\":\"2021-09-28T05:12:40Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "45d8f0ae-5a16-4835-b41f-1f775cd5c39a" + "x-ms-client-request-id" : "8b7467ad-98cf-4a24-a773-374be2fbb570" }, "Response" : { "content-length" : "2553", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11992", + "x-ms-ratelimit-remaining-subscription-reads" : "11991", "StatusCode" : "200", - "x-ms-correlation-request-id" : "09be638d-5b71-46b1-9d66-5a88ce0e66da", - "Date" : "Tue, 25 May 2021 02:57:43 GMT", + "x-ms-correlation-request-id" : "586c9356-a0ce-4566-8e72-ab49000e0bfb", + "Date" : "Tue, 28 Sep 2021 05:14:20 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025744Z:09be638d-5b71-46b1-9d66-5a88ce0e66da", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051421Z:586c9356-a0ce-4566-8e72-ab49000e0bfb", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:46b8afc5-8a91-40c8-b520-d20658eba9fc", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container808122e5\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-05-25T02:57:30Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:21Z\",\"lastTimestamp\":\"2021-05-25T02:57:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:25Z\",\"lastTimestamp\":\"2021-05-25T02:57:25Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:30Z\",\"lastTimestamp\":\"2021-05-25T02:57:30Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:31Z\",\"lastTimestamp\":\"2021-05-25T02:57:31Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.0.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:11Z\",\"lastTimestamp\":\"2021-05-25T02:55:11Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:56Z\",\"lastTimestamp\":\"2021-05-25T02:55:56Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"da4be89a-97f2-4a9b-8f73-3dcde801b04a\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:25Z\",\"lastTimestamp\":\"2021-05-25T02:56:25Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"name\":\"container808122e5\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "x-ms-request-id" : "eastus:6af40604-b3d1-49fb-925e-8f0372bcffa1", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container69141809\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-09-28T05:13:50Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:40Z\",\"lastTimestamp\":\"2021-09-28T05:13:40Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:44Z\",\"lastTimestamp\":\"2021-09-28T05:13:44Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.0.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:11:28Z\",\"lastTimestamp\":\"2021-09-28T05:11:28Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:13Z\",\"lastTimestamp\":\"2021-09-28T05:12:13Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"9247e7b9-de06-49df-a0b4-05981ad6efb7\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:36Z\",\"lastTimestamp\":\"2021-09-28T05:12:36Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:37Z\",\"lastTimestamp\":\"2021-09-28T05:12:37Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:40Z\",\"lastTimestamp\":\"2021-09-28T05:12:40Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"name\":\"container69141809\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "72f12db6-4abb-4eb5-98ea-0597ea8f34a0", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "9809ad5e-f0e5-4698-b1ba-5237e66f50ff", "Content-Type" : "application/json" }, "Response" : { @@ -344,57 +370,57 @@ "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "200", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "298", - "x-ms-correlation-request-id" : "48bc5847-5b38-4b6d-a6c1-c02f69555563", - "Date" : "Tue, 25 May 2021 02:57:49 GMT", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "299", + "x-ms-correlation-request-id" : "32336bf2-4708-4f3f-8938-2ee12221e956", + "Date" : "Tue, 28 Sep 2021 05:14:23 GMT", "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "99", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025750Z:48bc5847-5b38-4b6d-a6c1-c02f69555563", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051424Z:32336bf2-4708-4f3f-8938-2ee12221e956", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:894805ad-40cb-49f9-b656-9212e875dd7e", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container808122e5\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-05-25T02:57:30Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:21Z\",\"lastTimestamp\":\"2021-05-25T02:57:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:25Z\",\"lastTimestamp\":\"2021-05-25T02:57:25Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:30Z\",\"lastTimestamp\":\"2021-05-25T02:57:30Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:57:31Z\",\"lastTimestamp\":\"2021-05-25T02:57:31Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.0.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:11Z\",\"lastTimestamp\":\"2021-05-25T02:55:11Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:55:56Z\",\"lastTimestamp\":\"2021-05-25T02:55:56Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"da4be89a-97f2-4a9b-8f73-3dcde801b04a\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:18Z\",\"lastTimestamp\":\"2021-05-25T02:56:18Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:56:25Z\",\"lastTimestamp\":\"2021-05-25T02:56:25Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-profile-71953f\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container808122e5\",\"name\":\"container808122e5\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "x-ms-request-id" : "eastus:5a740068-a959-4d8c-a809-d818c860a978", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container69141809\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-09-28T05:13:50Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:40Z\",\"lastTimestamp\":\"2021-09-28T05:13:40Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:44Z\",\"lastTimestamp\":\"2021-09-28T05:13:44Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:13:50Z\",\"lastTimestamp\":\"2021-09-28T05:13:50Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.0.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:11:28Z\",\"lastTimestamp\":\"2021-09-28T05:11:28Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:13Z\",\"lastTimestamp\":\"2021-09-28T05:12:13Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"9247e7b9-de06-49df-a0b4-05981ad6efb7\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:36Z\",\"lastTimestamp\":\"2021-09-28T05:12:36Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:37Z\",\"lastTimestamp\":\"2021-09-28T05:12:37Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:12:40Z\",\"lastTimestamp\":\"2021-09-28T05:12:40Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-profile-951430\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container69141809\",\"name\":\"container69141809\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "db91fed0-0a05-4b3d-83e7-88f6fd6ed548", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "33bf7872-6d43-4514-b81a-a52b213cac04", "Content-Type" : "application/json" }, "Response" : { "content-length" : "2064", "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1195", + "x-ms-ratelimit-remaining-subscription-writes" : "1194", "Pragma" : "no-cache", "Azure-AsyncNotification" : "Enabled", "StatusCode" : "201", - "x-ms-correlation-request-id" : "bdef0f9a-69c5-4e2c-853f-228196b327ed", - "Date" : "Tue, 25 May 2021 02:57:53 GMT", - "x-ms-arm-service-request-id" : "42963f59-ce77-48c2-9435-cdd850c90a68", + "x-ms-correlation-request-id" : "f69f17c6-cc43-478f-b682-6e068dc8d80c", + "Date" : "Tue, 28 Sep 2021 05:14:28 GMT", + "x-ms-arm-service-request-id" : "00e3d57d-1c56-4009-80bd-8c56afb8c71e", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", "Retry-After" : "0", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025754Z:bdef0f9a-69c5-4e2c-853f-228196b327ed", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051428Z:f69f17c6-cc43-478f-b682-6e068dc8d80c", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/c480e333-ce2e-417a-b77b-6fa7d5342c5c?api-version=2021-03-01", - "x-ms-request-id" : "c480e333-ce2e-417a-b77b-6fa7d5342c5c", - "Body" : "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1\",\r\n \"etag\": \"W/\\\"2b72a442-74c3-41f5-a21b-bc1503b2284a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"2d27e921-1e87-4bd9-acea-a897f77b7347\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\",\r\n \"etag\": \"W/\\\"2b72a442-74c3-41f5-a21b-bc1503b2284a\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"2b72a442-74c3-41f5-a21b-bc1503b2284a\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", - "x-ms-client-request-id" : "db91fed0-0a05-4b3d-83e7-88f6fd6ed548", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/465e3256-8996-468b-9ad9-94693cd0b5ee?api-version=2021-03-01", + "x-ms-request-id" : "465e3256-8996-468b-9ad9-94693cd0b5ee", + "Body" : "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1\",\r\n \"etag\": \"W/\\\"816234b5-cbe6-4866-a3de-72d018b7b0aa\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"b61efcaa-61a9-4772-8bed-f1dd9f663fb6\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\",\r\n \"etag\": \"W/\\\"816234b5-cbe6-4866-a3de-72d018b7b0aa\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"816234b5-cbe6-4866-a3de-72d018b7b0aa\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", + "x-ms-client-request-id" : "33bf7872-6d43-4514-b81a-a52b213cac04", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/c480e333-ce2e-417a-b77b-6fa7d5342c5c?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/465e3256-8996-468b-9ad9-94693cd0b5ee?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "ffa97aa3-0cbf-4bb6-88e1-72df361ad1fa" + "x-ms-client-request-id" : "1b32c7da-4793-4c6e-9837-5cc24ebc9e55" }, "Response" : { "content-length" : "29", @@ -402,27 +428,27 @@ "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11991", + "x-ms-ratelimit-remaining-subscription-reads" : "11995", "StatusCode" : "200", - "x-ms-correlation-request-id" : "7437ccae-4bf5-46ca-90c5-d61d6c68ecd4", - "Date" : "Tue, 25 May 2021 02:57:57 GMT", - "x-ms-arm-service-request-id" : "6e070135-973c-4400-81de-36509b1f617b", + "x-ms-correlation-request-id" : "b7bf8e11-9d74-462a-8075-86ddf589efe3", + "Date" : "Tue, 28 Sep 2021 05:14:31 GMT", + "x-ms-arm-service-request-id" : "1d666639-3bbd-4327-9709-fc0111c2dcde", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025757Z:7437ccae-4bf5-46ca-90c5-d61d6c68ecd4", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051432Z:b7bf8e11-9d74-462a-8075-86ddf589efe3", "Expires" : "-1", - "x-ms-request-id" : "d836cd63-eedd-4a92-a10c-bf0942183610", + "x-ms-request-id" : "a1c817ef-6ddb-4921-bc13-d42d768cc2ff", "Body" : "{\r\n \"status\": \"Succeeded\"\r\n}", - "x-ms-client-request-id" : "ffa97aa3-0cbf-4bb6-88e1-72df361ad1fa", + "x-ms-client-request-id" : "1b32c7da-4793-4c6e-9837-5cc24ebc9e55", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "e8083a27-3617-4352-9b29-101bad667ad2" + "x-ms-client-request-id" : "60456099-68e8-490d-b99a-acd624665c2a" }, "Response" : { "content-length" : "2066", @@ -432,323 +458,297 @@ "retry-after" : "0", "x-ms-ratelimit-remaining-subscription-reads" : "11990", "StatusCode" : "200", - "x-ms-correlation-request-id" : "1d1d547e-79a9-4a9e-9bcd-84e776b30298", - "Date" : "Tue, 25 May 2021 02:57:57 GMT", - "x-ms-arm-service-request-id" : "b13f621a-ad66-4e62-b0d1-ac00a5831e67", + "x-ms-correlation-request-id" : "a3684dbf-2608-4bdf-9644-a8d6871d64a3", + "Date" : "Tue, 28 Sep 2021 05:14:31 GMT", + "x-ms-arm-service-request-id" : "2da0fa37-e581-480d-a485-cf716f16b0a8", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "ETag" : "W/\"7bb3860d-d890-4550-b498-ea796fa8b47b\"", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025758Z:1d1d547e-79a9-4a9e-9bcd-84e776b30298", + "ETag" : "W/\"c8fa7bf4-0a9b-4a12-8dd7-e6d5b2bbddf5\"", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051432Z:a3684dbf-2608-4bdf-9644-a8d6871d64a3", "Expires" : "-1", - "x-ms-request-id" : "d7a6bdca-cdbd-46eb-a9ca-28613306ca3d", - "Body" : "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1\",\r\n \"etag\": \"W/\\\"7bb3860d-d890-4550-b498-ea796fa8b47b\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"2d27e921-1e87-4bd9-acea-a897f77b7347\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\",\r\n \"etag\": \"W/\\\"7bb3860d-d890-4550-b498-ea796fa8b47b\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"7bb3860d-d890-4550-b498-ea796fa8b47b\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", - "x-ms-client-request-id" : "e8083a27-3617-4352-9b29-101bad667ad2", + "x-ms-request-id" : "0c0bec14-888b-423a-bd1d-98d4fe203e09", + "Body" : "{\r\n \"name\": \"vnet1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1\",\r\n \"etag\": \"W/\\\"c8fa7bf4-0a9b-4a12-8dd7-e6d5b2bbddf5\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"b61efcaa-61a9-4772-8bed-f1dd9f663fb6\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/24\"\r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\",\r\n \"etag\": \"W/\\\"c8fa7bf4-0a9b-4a12-8dd7-e6d5b2bbddf5\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default/delegations/Microsoft.ContainerInstance/containerGroups\",\r\n \"etag\": \"W/\\\"c8fa7bf4-0a9b-4a12-8dd7-e6d5b2bbddf5\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.ContainerInstance/containerGroups\",\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/action\"\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false\r\n }\r\n}", + "x-ms-client-request-id" : "60456099-68e8-490d-b99a-acd624665c2a", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "c924bd8f-adab-440f-ab6f-dccde40cfc81", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.network/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "ff6bd6c0-b118-400f-b4a1-f76289365833", "Content-Type" : "application/json" }, "Response" : { "content-length" : "1882", "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1194", + "x-ms-ratelimit-remaining-subscription-writes" : "1198", "Pragma" : "no-cache", "retry-after" : "0", "Azure-AsyncNotification" : "Enabled", "StatusCode" : "201", - "x-ms-correlation-request-id" : "b447bf5e-360b-4fce-9bf9-85179da7c9ed", - "Date" : "Tue, 25 May 2021 02:58:01 GMT", - "x-ms-arm-service-request-id" : "c8fa8de0-9281-4049-bb6a-302f55aa614d", + "x-ms-correlation-request-id" : "0f30d7ee-c9be-4310-88af-dba702021555", + "Date" : "Tue, 28 Sep 2021 05:14:35 GMT", + "x-ms-arm-service-request-id" : "0a62e2e9-ae67-404d-a987-ea48c2640447", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025802Z:b447bf5e-360b-4fce-9bf9-85179da7c9ed", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051436Z:0f30d7ee-c9be-4310-88af-dba702021555", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/b8ac0350-9610-4c23-9d65-499aae5c3ee7?api-version=2021-03-01", - "x-ms-request-id" : "b8ac0350-9610-4c23-9d65-499aae5c3ee7", - "Body" : "{\r\n \"name\": \"aci-vnet-profile\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\",\r\n \"etag\": \"W/\\\"1c0c6af0-905a-4d95-8864-021c24b2e762\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"21ab6e33-b9af-4f9b-9ce7-e6b14c082197\",\r\n \"containerNetworkInterfaceConfigurations\": [\r\n {\r\n \"name\": \"eth0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile/containerNetworkInterfaceConfigurations/eth0\",\r\n \"etag\": \"W/\\\"1c0c6af0-905a-4d95-8864-021c24b2e762\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfig0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfig0\",\r\n \"etag\": \"W/\\\"1c0c6af0-905a-4d95-8864-021c24b2e762\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\"\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations\"\r\n }\r\n ],\r\n \"containerNetworkInterfaces\": []\r\n }\r\n}", - "x-ms-client-request-id" : "c924bd8f-adab-440f-ab6f-dccde40cfc81", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/9ca4838d-68b3-4fb6-ae1e-4415ee36df41?api-version=2021-03-01", + "x-ms-request-id" : "9ca4838d-68b3-4fb6-ae1e-4415ee36df41", + "Body" : "{\r\n \"name\": \"aci-vnet-profile\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\",\r\n \"etag\": \"W/\\\"ac2e3147-c855-4931-8066-8b29e7a25e70\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"a2f84d68-fbd5-4718-97f6-4ae67d4cbb21\",\r\n \"containerNetworkInterfaceConfigurations\": [\r\n {\r\n \"name\": \"eth0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile/containerNetworkInterfaceConfigurations/eth0\",\r\n \"etag\": \"W/\\\"ac2e3147-c855-4931-8066-8b29e7a25e70\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfig0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfig0\",\r\n \"etag\": \"W/\\\"ac2e3147-c855-4931-8066-8b29e7a25e70\\\"\",\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default\"\r\n }\r\n }\r\n }\r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations\"\r\n }\r\n ],\r\n \"containerNetworkInterfaces\": []\r\n }\r\n}", + "x-ms-client-request-id" : "ff6bd6c0-b118-400f-b4a1-f76289365833", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "b3e0f41a-be7b-4494-b6bc-31eb046aedc1", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "0ea3ecb8-2da3-4322-be0d-9dbc8ed0309e", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "779", + "content-length" : "761", "X-Content-Type-Options" : "nosniff", "x-ms-ratelimit-remaining-subscription-writes" : "1193", "Pragma" : "no-cache", "retry-after" : "0", "StatusCode" : "201", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "296", - "x-ms-correlation-request-id" : "370d6b08-63d3-4230-b222-69eb16217c99", - "Date" : "Tue, 25 May 2021 02:58:06 GMT", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "98", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "299", + "x-ms-correlation-request-id" : "3b3f4bfd-a298-4ea7-a82b-db297c261440", + "Date" : "Tue, 28 Sep 2021 05:14:40 GMT", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "99", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025807Z:370d6b08-63d3-4230-b222-69eb16217c99", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051440Z:3b3f4bfd-a298-4ea7-a82b-db297c261440", "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", - "x-ms-request-id" : "eastus:64531d28-f090-4588-b20b-6f5cd6bffc3b", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container70522fb2\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[],\"state\":\"Pending\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"name\":\"container70522fb2\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/548041d0-66e9-4899-8b66-0f83d9615023?api-version=2018-06-01", + "x-ms-request-id" : "eastus:548041d0-66e9-4899-8b66-0f83d9615023", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container4993361f\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[]},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f\",\"name\":\"container4993361f\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/548041d0-66e9-4899-8b66-0f83d9615023?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "b4e79df9-6704-4b60-a581-6bc561ec71c4" + "x-ms-client-request-id" : "fd489ca5-bad6-4935-9a92-abe87a015dfb" }, "Response" : { - "content-length" : "249", + "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11989", + "x-ms-ratelimit-remaining-subscription-reads" : "11994", "StatusCode" : "200", - "x-ms-correlation-request-id" : "32e19fcd-e314-42e3-8715-0622f4a7b932", - "Date" : "Tue, 25 May 2021 02:58:37 GMT", + "x-ms-correlation-request-id" : "a20c0a41-1541-41c8-9309-4cfd2242485a", + "Date" : "Tue, 28 Sep 2021 05:15:11 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025837Z:32e19fcd-e314-42e3-8715-0622f4a7b932", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051511Z:a20c0a41-1541-41c8-9309-4cfd2242485a", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:66fbccaa-1598-49ea-85c1-dd9f1ff676d8", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:58:06.185514Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:08adc9f7-5e81-4f31-89ff-6178cb0eaeea", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:14:39.5482489Z\",\"properties\":{\"events\":[]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/548041d0-66e9-4899-8b66-0f83d9615023?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "5eb4c1b6-8e17-4816-90f7-f6c6d8cbedf2" + "x-ms-client-request-id" : "65fa81a8-e634-4acb-a6fb-220db81b1fc5" }, "Response" : { - "content-length" : "249", + "content-length" : "1756", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11988", + "x-ms-ratelimit-remaining-subscription-reads" : "11989", "StatusCode" : "200", - "x-ms-correlation-request-id" : "83914446-0810-452a-beb6-9cac884c5eef", - "Date" : "Tue, 25 May 2021 02:59:07 GMT", + "x-ms-correlation-request-id" : "18207ffa-8b52-49e6-b42d-246f1d825988", + "Date" : "Tue, 28 Sep 2021 05:15:41 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025908Z:83914446-0810-452a-beb6-9cac884c5eef", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051542Z:18207ffa-8b52-49e6-b42d-246f1d825988", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:b83614ee-8c68-4ca4-bf15-eea81256e7f7", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:58:06.185514Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:1029fb10-e36f-4b52-a6b9-ca48b9c60c45", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f\",\"status\":\"Creating\",\"startTime\":\"2021-09-28T05:14:39.5482489Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:21Z\",\"lastTimestamp\":\"2021-09-28T05:15:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:26Z\",\"lastTimestamp\":\"2021-09-28T05:15:26Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:45Z\",\"lastTimestamp\":\"2021-09-28T05:14:45Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:50Z\",\"lastTimestamp\":\"2021-09-28T05:14:50Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:52Z\",\"lastTimestamp\":\"2021-09-28T05:14:52Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/548041d0-66e9-4899-8b66-0f83d9615023?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "da9cb8a2-078e-437b-a068-36a40eb81575" + "x-ms-client-request-id" : "7ff2bc98-53d8-4ee6-9112-6991f3106cea" }, "Response" : { - "content-length" : "249", + "content-length" : "1757", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11987", + "x-ms-ratelimit-remaining-subscription-reads" : "11993", "StatusCode" : "200", - "x-ms-correlation-request-id" : "f9cafbcc-275c-4e06-966f-1b311e5c096e", - "Date" : "Tue, 25 May 2021 02:59:37 GMT", + "x-ms-correlation-request-id" : "2e560494-a940-40e1-84e6-af56d232fde8", + "Date" : "Tue, 28 Sep 2021 05:16:13 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T025938Z:f9cafbcc-275c-4e06-966f-1b311e5c096e", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051614Z:2e560494-a940-40e1-84e6-af56d232fde8", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:8e23aca2-1add-4ca4-ac81-8f07e4f6706b", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:58:06.185514Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:1cfdfb79-1c4f-41bc-a364-378a2ef10364", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f\",\"status\":\"Succeeded\",\"startTime\":\"2021-09-28T05:14:39.5482489Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:21Z\",\"lastTimestamp\":\"2021-09-28T05:15:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:26Z\",\"lastTimestamp\":\"2021-09-28T05:15:26Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:45Z\",\"lastTimestamp\":\"2021-09-28T05:14:45Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:50Z\",\"lastTimestamp\":\"2021-09-28T05:14:50Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:52Z\",\"lastTimestamp\":\"2021-09-28T05:14:52Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "95796e49-0a5a-4d54-b8df-ccb8a7428d80" + "x-ms-client-request-id" : "5acc3760-14ed-450c-9c20-ffd93b40f38c" }, "Response" : { - "content-length" : "249", + "content-length" : "2505", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11986", + "x-ms-ratelimit-remaining-subscription-reads" : "11988", "StatusCode" : "200", - "x-ms-correlation-request-id" : "65d32fcd-9e9a-496b-97a7-03142f43227f", - "Date" : "Tue, 25 May 2021 03:00:08 GMT", + "x-ms-correlation-request-id" : "09bf0fd0-a374-4119-9309-0170f132aa1f", + "Date" : "Tue, 28 Sep 2021 05:16:14 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030008Z:65d32fcd-9e9a-496b-97a7-03142f43227f", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051614Z:09bf0fd0-a374-4119-9309-0170f132aa1f", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:f6718e23-f723-494d-9a5f-44f6364b6229", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"status\":\"Pending\",\"startTime\":\"2021-05-25T02:58:06.185514Z\",\"properties\":{\"events\":[]}}", + "x-ms-request-id" : "eastus:87338830-ca7b-41a2-8bb2-e585e4bc990d", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container4993361f\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-09-28T05:15:32Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:21Z\",\"lastTimestamp\":\"2021-09-28T05:15:21Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:26Z\",\"lastTimestamp\":\"2021-09-28T05:15:26Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:15:32Z\",\"lastTimestamp\":\"2021-09-28T05:15:32Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.1.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:45Z\",\"lastTimestamp\":\"2021-09-28T05:14:45Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:49Z\",\"lastTimestamp\":\"2021-09-28T05:14:49Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:50Z\",\"lastTimestamp\":\"2021-09-28T05:14:50Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:14:52Z\",\"lastTimestamp\":\"2021-09-28T05:14:52Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container4993361f\",\"name\":\"container4993361f\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { - "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/64531d28-f090-4588-b20b-6f5cd6bffc3b?api-version=2018-06-01", + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4?api-version=2021-03-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "4d49691c-8038-4f6d-a548-71fe68526508" + "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "30691b91-ea17-4d00-86c1-c2f2e9852b56", + "Content-Type" : "application/json" }, "Response" : { - "content-length" : "2018", + "content-length" : "733", "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1197", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11985", - "StatusCode" : "200", - "x-ms-correlation-request-id" : "4381628f-97ee-434c-bbee-145505fcadea", - "Date" : "Tue, 25 May 2021 03:00:39 GMT", + "StatusCode" : "201", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "299", + "x-ms-correlation-request-id" : "0d1ee66c-c77d-4f6f-a66a-db9b32a193a0", + "Date" : "Tue, 28 Sep 2021 05:16:18 GMT", + "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "99", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030039Z:4381628f-97ee-434c-bbee-145505fcadea", - "Vary" : "Accept-Encoding", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051619Z:0d1ee66c-c77d-4f6f-a66a-db9b32a193a0", "Expires" : "-1", - "x-ms-request-id" : "eastus:68b3937b-3760-4a25-9b77-9baeb4953444", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"status\":\"Succeeded\",\"startTime\":\"2021-05-25T02:58:06.185514Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:17Z\",\"lastTimestamp\":\"2021-05-25T03:00:17Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:23Z\",\"lastTimestamp\":\"2021-05-25T03:00:23Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:27Z\",\"lastTimestamp\":\"2021-05-25T03:00:27Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:27Z\",\"lastTimestamp\":\"2021-05-25T03:00:27Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:06Z\",\"lastTimestamp\":\"2021-05-25T02:58:06Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:51Z\",\"lastTimestamp\":\"2021-05-25T02:58:51Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"2d27e921-1e87-4bd9-acea-a897f77b7347\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:57Z\",\"lastTimestamp\":\"2021-05-25T02:58:57Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"2d27e921-1e87-4bd9-acea-a897f77b7347\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:46Z\",\"lastTimestamp\":\"2021-05-25T02:59:46Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:47Z\",\"lastTimestamp\":\"2021-05-25T02:59:47Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:51Z\",\"lastTimestamp\":\"2021-05-25T02:59:51Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/633e3eea-f794-4f19-b79f-bf926429f82f?api-version=2018-06-01", + "x-ms-request-id" : "eastus:633e3eea-f794-4f19-b79f-bf926429f82f", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container837670d4\",\"properties\":{\"image\":\"nginx\",\"ports\":[],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[]},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4\",\"name\":\"container837670d4\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/633e3eea-f794-4f19-b79f-bf926429f82f?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "2954b169-660a-4960-8c14-944d92812af5" + "x-ms-client-request-id" : "b9a34ff4-ffa4-4ba6-8771-d89a8ec034d8" }, "Response" : { - "content-length" : "2767", + "content-length" : "250", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11984", + "x-ms-ratelimit-remaining-subscription-reads" : "11987", "StatusCode" : "200", - "x-ms-correlation-request-id" : "59a2b9c6-e6ab-4b98-83b9-bf58ac03cd5a", - "Date" : "Tue, 25 May 2021 03:00:39 GMT", + "x-ms-correlation-request-id" : "fa244b8c-c884-42fe-96d8-289fb0a34d36", + "Date" : "Tue, 28 Sep 2021 05:16:49 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030039Z:59a2b9c6-e6ab-4b98-83b9-bf58ac03cd5a", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051649Z:fa244b8c-c884-42fe-96d8-289fb0a34d36", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:ee4fce03-a73c-49b2-873a-69b931ac4e67", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container70522fb2\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-05-25T03:00:27Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:17Z\",\"lastTimestamp\":\"2021-05-25T03:00:17Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:23Z\",\"lastTimestamp\":\"2021-05-25T03:00:23Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:27Z\",\"lastTimestamp\":\"2021-05-25T03:00:27Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:27Z\",\"lastTimestamp\":\"2021-05-25T03:00:27Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.1.0.4\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:06Z\",\"lastTimestamp\":\"2021-05-25T02:58:06Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:51Z\",\"lastTimestamp\":\"2021-05-25T02:58:51Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"2d27e921-1e87-4bd9-acea-a897f77b7347\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:58:57Z\",\"lastTimestamp\":\"2021-05-25T02:58:57Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network failed for \\\"2d27e921-1e87-4bd9-acea-a897f77b7347\\\": Timeout.\",\"type\":\"Warning\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:46Z\",\"lastTimestamp\":\"2021-05-25T02:59:46Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:47Z\",\"lastTimestamp\":\"2021-05-25T02:59:47Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T02:59:51Z\",\"lastTimestamp\":\"2021-05-25T02:59:51Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container70522fb2\",\"name\":\"container70522fb2\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", - "Content-Type" : "application/json; charset=utf-8" - }, - "Exception" : null - }, { - "Method" : "PUT", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container119440b7?api-version=2021-03-01", - "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.containerinstance/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "fa26efa1-c469-4fc5-b4b0-c11bc23229c3", - "Content-Type" : "application/json" - }, - "Response" : { - "content-length" : "779", - "X-Content-Type-Options" : "nosniff", - "x-ms-ratelimit-remaining-subscription-writes" : "1192", - "Pragma" : "no-cache", - "retry-after" : "0", - "StatusCode" : "201", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt1h" : "295", - "x-ms-correlation-request-id" : "c8683e8f-b22a-42b4-a146-636e2d815569", - "Date" : "Tue, 25 May 2021 03:00:50 GMT", - "x-ms-ratelimit-remaining-subscription-resource-requests-pt5m" : "98", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", - "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030050Z:c8683e8f-b22a-42b4-a146-636e2d815569", - "Expires" : "-1", - "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/091d559a-162e-4d22-aac8-d908547c249c?api-version=2018-06-01", - "x-ms-request-id" : "eastus:091d559a-162e-4d22-aac8-d908547c249c", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Pending\",\"containers\":[{\"name\":\"container119440b7\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"osType\":\"Linux\",\"instanceView\":{\"events\":[],\"state\":\"Pending\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container119440b7\",\"name\":\"container119440b7\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "x-ms-request-id" : "eastus:a4a53938-5457-4943-ad4b-e318c1f5ade9", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4\",\"status\":\"Pending\",\"startTime\":\"2021-09-28T05:16:18.1662166Z\",\"properties\":{\"events\":[]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/091d559a-162e-4d22-aac8-d908547c249c?api-version=2018-06-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerInstance/locations/eastus/operations/633e3eea-f794-4f19-b79f-bf926429f82f?api-version=2018-06-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "0783a0b2-862f-4ea8-b414-2bf3ab5786b0" + "x-ms-client-request-id" : "8fb7850a-7fe0-41cd-812c-471f8cb04b78" }, "Response" : { "content-length" : "1587", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11983", + "x-ms-ratelimit-remaining-subscription-reads" : "11992", "StatusCode" : "200", - "x-ms-correlation-request-id" : "fefe9833-97e6-43eb-acc2-2c597cea3128", - "Date" : "Tue, 25 May 2021 03:01:20 GMT", + "x-ms-correlation-request-id" : "e8759d14-b51e-4f9e-81d6-e314d67ef4e7", + "Date" : "Tue, 28 Sep 2021 05:17:20 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030120Z:fefe9833-97e6-43eb-acc2-2c597cea3128", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051720Z:e8759d14-b51e-4f9e-81d6-e314d67ef4e7", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:2bf12d7a-b160-420c-9164-7b657fc0d4b9", - "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container119440b7\",\"status\":\"Succeeded\",\"startTime\":\"2021-05-25T03:00:46.1174963Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:05Z\",\"lastTimestamp\":\"2021-05-25T03:01:05Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:11Z\",\"lastTimestamp\":\"2021-05-25T03:01:11Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:16Z\",\"lastTimestamp\":\"2021-05-25T03:01:16Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:16Z\",\"lastTimestamp\":\"2021-05-25T03:01:16Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:46Z\",\"lastTimestamp\":\"2021-05-25T03:00:46Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:50Z\",\"lastTimestamp\":\"2021-05-25T03:00:50Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:50Z\",\"lastTimestamp\":\"2021-05-25T03:00:50Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:53Z\",\"lastTimestamp\":\"2021-05-25T03:00:53Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", + "x-ms-request-id" : "eastus:70a24105-cd9a-4d64-9375-bd8881198928", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4\",\"status\":\"Succeeded\",\"startTime\":\"2021-09-28T05:16:18.1662166Z\",\"properties\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:02Z\",\"lastTimestamp\":\"2021-09-28T05:17:02Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:06Z\",\"lastTimestamp\":\"2021-09-28T05:17:06Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:11Z\",\"lastTimestamp\":\"2021-09-28T05:17:11Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:11Z\",\"lastTimestamp\":\"2021-09-28T05:17:11Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:26Z\",\"lastTimestamp\":\"2021-09-28T05:16:26Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:44Z\",\"lastTimestamp\":\"2021-09-28T05:16:44Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:45Z\",\"lastTimestamp\":\"2021-09-28T05:16:45Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:48Z\",\"lastTimestamp\":\"2021-09-28T05:16:48Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}]}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container119440b7?api-version=2021-03-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4?api-version=2021-03-01", "Headers" : { "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "333397cc-b1fe-45cf-aa3b-258704dcc904" + "x-ms-client-request-id" : "a1df5e5f-e016-45f4-acbb-1b7714d5be37" }, "Response" : { - "content-length" : "2335", + "content-length" : "2279", "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "retry-after" : "0", - "x-ms-ratelimit-remaining-subscription-reads" : "11982", + "x-ms-ratelimit-remaining-subscription-reads" : "11986", "StatusCode" : "200", - "x-ms-correlation-request-id" : "942b59ba-b12b-472c-8f94-f66ff1acfebe", - "Date" : "Tue, 25 May 2021 03:01:21 GMT", + "x-ms-correlation-request-id" : "af777eb0-d6ee-4215-9dc3-397c615aaea4", + "Date" : "Tue, 28 Sep 2021 05:17:20 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030122Z:942b59ba-b12b-472c-8f94-f66ff1acfebe", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051720Z:af777eb0-d6ee-4215-9dc3-397c615aaea4", "Vary" : "Accept-Encoding", "Expires" : "-1", - "x-ms-request-id" : "eastus:9f9e92ad-43d8-49b2-a19d-b2da603d07e6", - "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container119440b7\",\"properties\":{\"image\":\"nginx\",\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-05-25T03:01:16Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:05Z\",\"lastTimestamp\":\"2021-05-25T03:01:05Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:11Z\",\"lastTimestamp\":\"2021-05-25T03:01:11Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:16Z\",\"lastTimestamp\":\"2021-05-25T03:01:16Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:01:16Z\",\"lastTimestamp\":\"2021-05-25T03:01:16Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[{\"protocol\":\"TCP\",\"port\":80}],\"ip\":\"10.1.0.5\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:46Z\",\"lastTimestamp\":\"2021-05-25T03:00:46Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:50Z\",\"lastTimestamp\":\"2021-05-25T03:00:50Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:50Z\",\"lastTimestamp\":\"2021-05-25T03:00:50Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-05-25T03:00:53Z\",\"lastTimestamp\":\"2021-05-25T03:00:53Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg69096212a00/providers/Microsoft.ContainerInstance/containerGroups/container119440b7\",\"name\":\"container119440b7\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", + "x-ms-request-id" : "eastus:92d74da0-b0f0-4941-afd3-2f448f9e44fb", + "Body" : "{\"properties\":{\"sku\":\"Standard\",\"provisioningState\":\"Succeeded\",\"containers\":[{\"name\":\"container837670d4\",\"properties\":{\"image\":\"nginx\",\"ports\":[],\"environmentVariables\":[],\"instanceView\":{\"restartCount\":0,\"currentState\":{\"state\":\"Running\",\"startTime\":\"2021-09-28T05:17:11Z\",\"detailStatus\":\"\"},\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:02Z\",\"lastTimestamp\":\"2021-09-28T05:17:02Z\",\"name\":\"Pulling\",\"message\":\"pulling image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:06Z\",\"lastTimestamp\":\"2021-09-28T05:17:06Z\",\"name\":\"Pulled\",\"message\":\"Successfully pulled image \\\"nginx\\\"\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:11Z\",\"lastTimestamp\":\"2021-09-28T05:17:11Z\",\"name\":\"Created\",\"message\":\"Created container\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:17:11Z\",\"lastTimestamp\":\"2021-09-28T05:17:11Z\",\"name\":\"Started\",\"message\":\"Started container\",\"type\":\"Normal\"}]},\"resources\":{\"requests\":{\"memoryInGB\":1.5,\"cpu\":1.0}}}}],\"initContainers\":[],\"ipAddress\":{\"ports\":[],\"ip\":\"10.1.0.5\",\"type\":\"Private\"},\"osType\":\"Linux\",\"instanceView\":{\"events\":[{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:26Z\",\"lastTimestamp\":\"2021-09-28T05:16:26Z\",\"name\":\"PrepareNetwork\",\"message\":\"Prepare network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:44Z\",\"lastTimestamp\":\"2021-09-28T05:16:44Z\",\"name\":\"JoinNetwork\",\"message\":\"Join network succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:45Z\",\"lastTimestamp\":\"2021-09-28T05:16:45Z\",\"name\":\"DelegateSubnet\",\"message\":\"Delegate subnet succeeded.\",\"type\":\"Normal\"},{\"count\":1,\"firstTimestamp\":\"2021-09-28T05:16:48Z\",\"lastTimestamp\":\"2021-09-28T05:16:48Z\",\"name\":\"ProvisionNetworkInterface\",\"message\":\"Provision network interface succeeded.\",\"type\":\"Normal\"}],\"state\":\"Running\"},\"networkProfile\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.Network/networkProfiles/aci-vnet-profile\"}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg749298a0fab/providers/Microsoft.ContainerInstance/containerGroups/container837670d4\",\"name\":\"container837670d4\",\"type\":\"Microsoft.ContainerInstance/containerGroups\",\"location\":\"eastus\",\"tags\":{}}", "Content-Type" : "application/json; charset=utf-8" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg69096212a00?api-version=2021-01-01", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg749298a0fab?api-version=2021-01-01", "Headers" : { - "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.5.0-beta.1 (15.0.1; Windows 10; 10.0)", - "x-ms-client-request-id" : "744fe993-7d55-4bb4-aa43-665ffaa83309", + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "d18a82d2-59f2-4d4e-956d-7fdd318d45d0", "Content-Type" : "application/json" }, "Response" : { @@ -757,17 +757,17 @@ "X-Content-Type-Options" : "nosniff", "Pragma" : "no-cache", "StatusCode" : "202", - "x-ms-correlation-request-id" : "43ad50c2-71ee-4ef4-89f8-3c4192afa086", - "Date" : "Tue, 25 May 2021 03:03:28 GMT", + "x-ms-correlation-request-id" : "f015481a-d50e-432a-8518-66f9eeba931b", + "Date" : "Tue, 28 Sep 2021 05:17:24 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", "Cache-Control" : "no-cache", "Retry-After" : "0", - "x-ms-routing-request-id" : "SOUTHEASTASIA:20210525T030329Z:43ad50c2-71ee-4ef4-89f8-3c4192afa086", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210928T051724Z:f015481a-d50e-432a-8518-66f9eeba931b", "Expires" : "-1", - "x-ms-request-id" : "43ad50c2-71ee-4ef4-89f8-3c4192afa086", - "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1SRzY5MDk2MjEyQTAwLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-01-01" + "x-ms-request-id" : "f015481a-d50e-432a-8518-66f9eeba931b", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1SRzc0OTI5OEEwRkFCLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-01-01" }, "Exception" : null } ], - "variables" : [ "rg69096212a00", "container808122e5", "net5885523f5b1", "aci-profile-71953f", "container70522fb2", "container119440b7" ] + "variables" : [ "rg749298a0fab", "container69141809", "net44448ce10f9", "aci-profile-951430", "container4993361f", "container837670d4" ] } \ No newline at end of file diff --git a/sdk/resourcemanager/azure-resourcemanager-containerregistry/pom.xml b/sdk/resourcemanager/azure-resourcemanager-containerregistry/pom.xml index 6c7a6d263ced1..0e6f174eb95f3 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerregistry/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-containerregistry/pom.xml @@ -80,7 +80,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-containerservice/pom.xml b/sdk/resourcemanager/azure-resourcemanager-containerservice/pom.xml index b0068ba5aa486..36945cbeae182 100644 --- a/sdk/resourcemanager/azure-resourcemanager-containerservice/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-containerservice/pom.xml @@ -75,7 +75,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-cosmos/pom.xml b/sdk/resourcemanager/azure-resourcemanager-cosmos/pom.xml index 205c2f23c2ff5..ff06ef4247a39 100644 --- a/sdk/resourcemanager/azure-resourcemanager-cosmos/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-cosmos/pom.xml @@ -90,7 +90,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-dns/pom.xml b/sdk/resourcemanager/azure-resourcemanager-dns/pom.xml index 8a5bf35a88e31..c9bea3ba11c39 100644 --- a/sdk/resourcemanager/azure-resourcemanager-dns/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-dns/pom.xml @@ -85,7 +85,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-eventhubs/pom.xml b/sdk/resourcemanager/azure-resourcemanager-eventhubs/pom.xml index 9967a547099e2..bc554ea558bd4 100644 --- a/sdk/resourcemanager/azure-resourcemanager-eventhubs/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-eventhubs/pom.xml @@ -79,7 +79,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-keyvault/pom.xml b/sdk/resourcemanager/azure-resourcemanager-keyvault/pom.xml index 993a25d6a9307..356a2b4fd4ff6 100644 --- a/sdk/resourcemanager/azure-resourcemanager-keyvault/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-keyvault/pom.xml @@ -101,7 +101,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-monitor/pom.xml b/sdk/resourcemanager/azure-resourcemanager-monitor/pom.xml index 2a2b75f42e99e..bbfd9f21cc485 100644 --- a/sdk/resourcemanager/azure-resourcemanager-monitor/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-monitor/pom.xml @@ -76,7 +76,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-msi/pom.xml b/sdk/resourcemanager/azure-resourcemanager-msi/pom.xml index a4571e0b85e81..34f81b7863d60 100644 --- a/sdk/resourcemanager/azure-resourcemanager-msi/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-msi/pom.xml @@ -71,7 +71,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-network/pom.xml b/sdk/resourcemanager/azure-resourcemanager-network/pom.xml index 8f59251ee71c2..8dd53c6dfee76 100644 --- a/sdk/resourcemanager/azure-resourcemanager-network/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-network/pom.xml @@ -80,7 +80,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-privatedns/pom.xml b/sdk/resourcemanager/azure-resourcemanager-privatedns/pom.xml index 421e2bd79d8ee..24e7c36ad5adf 100644 --- a/sdk/resourcemanager/azure-resourcemanager-privatedns/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-privatedns/pom.xml @@ -82,7 +82,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-redis/pom.xml b/sdk/resourcemanager/azure-resourcemanager-redis/pom.xml index 5d9cbb2395920..450638187520b 100644 --- a/sdk/resourcemanager/azure-resourcemanager-redis/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-redis/pom.xml @@ -76,7 +76,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/CHANGELOG.md b/sdk/resourcemanager/azure-resourcemanager-resources/CHANGELOG.md index e85dd28b04cb7..44434c92c7412 100644 --- a/sdk/resourcemanager/azure-resourcemanager-resources/CHANGELOG.md +++ b/sdk/resourcemanager/azure-resourcemanager-resources/CHANGELOG.md @@ -4,6 +4,8 @@ ### Features Added +- Added support for `validateMoveResources` in `GenericResources`. + ### Breaking Changes ### Bugs Fixed diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/pom.xml b/sdk/resourcemanager/azure-resourcemanager-resources/pom.xml index 642b9ff39c864..0388e7ed00c9f 100644 --- a/sdk/resourcemanager/azure-resourcemanager-resources/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-resources/pom.xml @@ -56,12 +56,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 org.slf4j @@ -84,13 +84,13 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/implementation/GenericResourcesImpl.java b/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/implementation/GenericResourcesImpl.java index 40c2f7c83028f..e22308c2ea5cb 100644 --- a/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/implementation/GenericResourcesImpl.java +++ b/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/implementation/GenericResourcesImpl.java @@ -185,6 +185,21 @@ public GenericResource get( return null; } + @Override + public void validateMoveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup, + List resourceIds) { + validateMoveResourcesAsync(sourceResourceGroupName, targetResourceGroup, resourceIds).block(); + } + + @Override + public Mono validateMoveResourcesAsync(String sourceResourceGroupName, ResourceGroup targetResourceGroup, + List resourceIds) { + ResourcesMoveInfo moveInfo = new ResourcesMoveInfo(); + moveInfo.withTargetResourceGroup(targetResourceGroup.id()); + moveInfo.withResources(resourceIds); + return this.inner().validateMoveResourcesAsync(sourceResourceGroupName, moveInfo); + } + @Override public GenericResource get( String resourceGroupName, @@ -222,16 +237,16 @@ public GenericResource get( @Override public void moveResources(String sourceResourceGroupName, - ResourceGroup targetResourceGroup, List resources) { - this.moveResourcesAsync(sourceResourceGroupName, targetResourceGroup, resources).block(); + ResourceGroup targetResourceGroup, List resourceIds) { + this.moveResourcesAsync(sourceResourceGroupName, targetResourceGroup, resourceIds).block(); } @Override public Mono moveResourcesAsync(String sourceResourceGroupName, - ResourceGroup targetResourceGroup, List resources) { + ResourceGroup targetResourceGroup, List resourceIds) { ResourcesMoveInfo moveInfo = new ResourcesMoveInfo(); moveInfo.withTargetResourceGroup(targetResourceGroup.id()); - moveInfo.withResources(resources); + moveInfo.withResources(resourceIds); return this.inner().moveResourcesAsync(sourceResourceGroupName, moveInfo); } diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/models/GenericResources.java b/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/models/GenericResources.java index 41f9eed8b7e92..516e5073c41c1 100644 --- a/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/models/GenericResources.java +++ b/sdk/resourcemanager/azure-resourcemanager-resources/src/main/java/com/azure/resourcemanager/resources/models/GenericResources.java @@ -175,25 +175,48 @@ GenericResource get( String resourceType, String resourceName); + /** + * Validates move resources from one resource group to another. + * If validation fails, {@link com.azure.core.management.exception.ManagementException} is thrown. + * + * @param sourceResourceGroupName Source resource group name + * @param targetResourceGroup target resource group, can be in a different subscription + * @param resourceIds the list of IDs of the resources to move + */ + void validateMoveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup, + List resourceIds); + + /** + * Validates move resources from one resource group to another asynchronously. + * If validation fails, {@link com.azure.core.management.exception.ManagementException} is thrown. + * + * @param sourceResourceGroupName Source resource group name + * @param targetResourceGroup target resource group, can be in a different subscription + * @param resourceIds the list of IDs of the resources to move + * @return a representation of the deferred computation of this call + */ + Mono validateMoveResourcesAsync(String sourceResourceGroupName, ResourceGroup targetResourceGroup, + List resourceIds); + /** * Move resources from one resource group to another. * * @param sourceResourceGroupName Source resource group name * @param targetResourceGroup target resource group, can be in a different subscription - * @param resources the list of IDs of the resources to move + * @param resourceIds the list of IDs of the resources to move */ - void moveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup, List resources); + void moveResources(String sourceResourceGroupName, ResourceGroup targetResourceGroup, List resourceIds); /** * Move resources from one resource group to another asynchronously. * * @param sourceResourceGroupName Source resource group name * @param targetResourceGroup target resource group, can be in a different subscription - * @param resources the list of IDs of the resources to move + * @param resourceIds the list of IDs of the resources to move * @return a representation of the deferred computation of this call */ - Mono moveResourcesAsync(String sourceResourceGroupName, - ResourceGroup targetResourceGroup, List resources); + Mono moveResourcesAsync(String sourceResourceGroupName, ResourceGroup targetResourceGroup, + List resourceIds); /** * Delete resource and all of its child resources. diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/src/test/java/com/azure/resourcemanager/resources/GenericResourcesTests.java b/sdk/resourcemanager/azure-resourcemanager-resources/src/test/java/com/azure/resourcemanager/resources/GenericResourcesTests.java index 4677d3d13ac17..ee24a3c341af1 100644 --- a/sdk/resourcemanager/azure-resourcemanager-resources/src/test/java/com/azure/resourcemanager/resources/GenericResourcesTests.java +++ b/sdk/resourcemanager/azure-resourcemanager-resources/src/test/java/com/azure/resourcemanager/resources/GenericResourcesTests.java @@ -5,6 +5,7 @@ import com.azure.core.http.HttpPipeline; import com.azure.core.http.rest.PagedIterable; +import com.azure.core.management.exception.ManagementException; import com.azure.core.util.Context; import com.azure.core.util.polling.LongRunningOperationStatus; import com.azure.core.util.polling.PollResponse; @@ -17,6 +18,7 @@ import com.azure.resourcemanager.resources.models.GenericResource; import com.azure.resourcemanager.resources.models.GenericResources; import com.azure.resourcemanager.resources.models.Identity; +import com.azure.resourcemanager.resources.models.ResourceGroup; import com.azure.resourcemanager.resources.models.ResourceGroups; import com.azure.resourcemanager.resources.models.ResourceIdentityType; import com.azure.resourcemanager.resources.models.Sku; @@ -26,6 +28,9 @@ import java.time.Duration; import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; public class GenericResourcesTests extends ResourceManagementTest { @@ -100,6 +105,55 @@ public void canCreateUpdateMoveResource() throws Exception { Assertions.assertFalse(genericResources.checkExistenceById(resource.id())); } + @Test + public void canValidateMoveResources() throws Exception { + final String resourceName = "rs" + testId; + final Map properties = new HashMap<>(); + properties.put("publicIPAllocationMethod", "Dynamic"); + + GenericResource resource = genericResources.define(resourceName) + .withRegion(Region.US_EAST2) + .withExistingResourceGroup(rgName) + .withResourceType("publicIPAddresses") + .withProviderNamespace("Microsoft.Network") + .withoutPlan() + .withProperties(properties) + .create(); + + ResourceGroup targetResourceGroup = resourceGroups.getByName(newRgName); + // validate pass as public IP can be moved + genericResources.validateMoveResources(rgName, targetResourceGroup, Collections.singletonList(resource.id())); + + // create resource in target group with same name + GenericResource resource2 = genericResources.define(resourceName) + .withRegion(Region.US_EAST2) + .withExistingResourceGroup(newRgName) + .withResourceType("publicIPAddresses") + .withProviderNamespace("Microsoft.Network") + .withoutPlan() + .withProperties(properties) + .create(); + + // validate fail as name conflict + Assertions.assertThrows(ManagementException.class, () -> { + genericResources.validateMoveResources(rgName, targetResourceGroup, Collections.singletonList(resource.id())); + }); + + final String resourceName3 = "rs2" + testId; + GenericResource resource3 = genericResources.define(resourceName3) + .withRegion(Region.US_EAST2) + .withExistingResourceGroup(rgName) + .withResourceType("userAssignedIdentities") + .withProviderNamespace("Microsoft.ManagedIdentity") + .withoutPlan() + .create(); + + // validate fail as managed identity does not support move + Assertions.assertThrows(ManagementException.class, () -> { + genericResources.validateMoveResources(rgName, targetResourceGroup, Collections.singletonList(resource3.id())); + }); + } + @Test public void canCreateDeleteResourceSyncPoll() throws Exception { final long defaultDelayInMillis = 10 * 1000; diff --git a/sdk/resourcemanager/azure-resourcemanager-resources/src/test/resources/session-records/GenericResourcesTests.canValidateMoveResources.json b/sdk/resourcemanager/azure-resourcemanager-resources/src/test/resources/session-records/GenericResourcesTests.canValidateMoveResources.json new file mode 100644 index 0000000000000..a2f2974bc87d8 --- /dev/null +++ b/sdk/resourcemanager/azure-resourcemanager-resources/src/test/resources/session-records/GenericResourcesTests.canValidateMoveResources.json @@ -0,0 +1,824 @@ +{ + "networkCallRecords" : [ { + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "ee54acca-8833-40be-81bf-3a986acbd35f", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "215", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1199", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "201", + "x-ms-correlation-request-id" : "20f7f44c-79f5-4b73-ae3a-bd0ef0109e7c", + "Date" : "Thu, 30 Sep 2021 02:33:26 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023327Z:20f7f44c-79f5-4b73-ae3a-bd0ef0109e7c", + "Expires" : "-1", + "x-ms-request-id" : "20f7f44c-79f5-4b73-ae3a-bd0ef0109e7c", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026\",\"name\":\"rg8237026\",\"type\":\"Microsoft.Resources/resourceGroups\",\"location\":\"eastus\",\"properties\":{\"provisioningState\":\"Succeeded\"}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgB8237026?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "938cf19b-3d8b-4a42-8616-7a081db15885", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "225", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1198", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "201", + "x-ms-correlation-request-id" : "b15fa18a-cd12-4ca4-b559-ce9ba45bd2d9", + "Date" : "Thu, 30 Sep 2021 02:33:29 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023330Z:b15fa18a-cd12-4ca4-b559-ce9ba45bd2d9", + "Expires" : "-1", + "x-ms-request-id" : "b15fa18a-cd12-4ca4-b559-ce9ba45bd2d9", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgB8237026\",\"name\":\"rgB8237026\",\"type\":\"Microsoft.Resources/resourceGroups\",\"location\":\"southcentralus\",\"properties\":{\"provisioningState\":\"Succeeded\"}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "948a7ef3-222c-422c-bf95-dec26ca20624", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "119192", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11999", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "c00a6e7b-7652-4b5b-978a-729bdcc48378", + "Date" : "Thu, 30 Sep 2021 02:33:30 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023331Z:c00a6e7b-7652-4b5b-978a-729bdcc48378", + "Expires" : "-1", + "x-ms-request-id" : "c00a6e7b-7652-4b5b-978a-729bdcc48378", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network\",\"namespace\":\"Microsoft.Network\",\"authorizations\":[{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"13ba9ab4-19f0-4804-adc4-14ece36cc7a1\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"ad6261e4-fa9a-4642-aa5f-104f1b67e9e3\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"1d538b69-3d87-4e56-8ff8-25786fd48261\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"7ce22727-ffce-45a9-930c-ddb2e56fa131\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"98a9e526-0a60-4c1f-a33a-ae46e1f8dc0d\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"d813ab6c-bfb7-413e-9462-005b21f0ce09\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"8141843c-c51c-4c1e-a5bf-0d351594b86c\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"79e29e06-4056-41e5-a6b2-959f1f47747e\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"c27dd31e-c1e5-4ab0-93e1-a12ba34f182e\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"18363e25-ff21-4159-ae8d-7dfecb5bd001\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"1c1f11ef-abfa-4abe-a02b-226771d07fc7\"}],\"resourceTypes\":[{\"resourceType\":\"virtualNetworks\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualNetworks/taggedTrafficConsumers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"natGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"publicIPAddresses\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"customIpPrefixes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkInterfaces\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"dscpConfigurations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateEndpoints\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateEndpoints/privateLinkServiceProxies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateEndpointRedirectMaps\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"loadBalancers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkSecurityGroups\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationSecurityGroups\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2017-09-01\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"serviceEndpointPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkIntentPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"France South\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"routeTables\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"publicIPPrefixes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"ddosCustomPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/connectionMonitors\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/flowLogs\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/pingMeshes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualNetworkGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"localNetworkGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"connections\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationGatewayWebApplicationFirewallPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/operations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/operationResults\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/CheckDnsNameAvailability\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setLoadBalancerFrontendPublicIpAddresses\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/usages\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/virtualNetworkAvailableEndpointServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availableDelegations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/serviceTags\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availablePrivateEndpointTypes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availableServiceAliases\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/checkPrivateLinkServiceVisibility\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/autoApprovedPrivateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/batchValidatePrivateEndpointsForResourceMove\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/batchNotifyPrivateEndpointsForResourceMove\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/supportedVirtualMachineSizes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setAzureNetworkManagerConfiguration\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/getAzureNetworkManagerConfiguration\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/checkAcceleratedNetworkingSupport\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/validateResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/effectiveResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"operations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"dnszones\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2016-04-01\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2016-04-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2016-04-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"dnsOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnsOperationStatuses\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"getDnsResourceReference\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"internalNotify\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/A\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/AAAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/CNAME\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/PTR\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/MX\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/TXT\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/SRV\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/SOA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/NS\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/CAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/recordsets\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/all\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateDnsZones/virtualNetworkLinks\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateDnsOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsOperationStatuses\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZonesInternal\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-01-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/A\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/AAAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/CNAME\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/PTR\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/MX\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/TXT\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/SRV\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/SOA\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/all\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"virtualNetworks/privateDnsZoneLinks\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficmanagerprofiles\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\",\"2015-11-01\",\"2015-04-28-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"trafficmanagerprofiles/heatMaps\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-09-01-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"checkTrafficManagerNameAvailability\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\",\"2015-11-01\",\"2015-04-28-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficManagerUserMetricsKeys\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2017-09-01-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficManagerGeographicHierarchies\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"expressRouteCircuits\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRouteServiceProviders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableWafRuleSets\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableSslOptions\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableServerVariables\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableRequestHeaders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableResponseHeaders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"routeFilters\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"bgpServiceCommunities\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"virtualWans\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnSites\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnServerConfigurations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"South Africa North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualHubs\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"p2sVpnGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"UAE North\",\"South Africa North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRouteGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRoutePortsLocations\",\"locations\":[\"France Central\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"firewallPolicies\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"ipGroups\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"West Central US\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureWebCategories\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"defaultApiVersion\":\"2020-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/nfvOperations\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/nfvOperationResults\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"securityPartnerProviders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureFirewalls\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"France Central\",\"Australia Central\",\"Japan West\",\"Japan East\",\"Korea Central\",\"Korea South\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureFirewallFqdnTags\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"virtualNetworkTaps\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations/privateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"ddosProtectionPlans\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2018-02-01\"}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkProfiles\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"checkFrontdoorNameAvailability\",\"locations\":[\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoorWebApplicationFirewallManagedRuleSets\",\"locations\":[\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-11-01\",\"2020-04-01\",\"2019-10-01\",\"2019-03-01\"],\"defaultApiVersion\":\"2020-11-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/bareMetalTenants\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"bastionHosts\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualRouters\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkVirtualAppliances\",\"locations\":[\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"ipAllocations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations/commitInternalAzureNetworkManagerConfiguration\",\"locations\":[\"West Central US\",\"North Central US\",\"West US\",\"West Europe\",\"UAE Central\",\"Germany North\",\"East US\",\"West India\",\"East US 2\",\"Australia Central\",\"Australia Central 2\",\"South Africa West\",\"Brazil South\",\"UK West\",\"North Europe\",\"Central US\",\"UAE North\",\"Germany West Central\",\"Switzerland West\",\"East Asia\",\"Jio India West\",\"South Africa North\",\"UK South\",\"South India\",\"Australia Southeast\",\"France South\",\"West US 2\",\"Japan West\",\"Norway East\",\"France Central\",\"West US 3\",\"Central India\",\"Korea South\",\"Brazil Southeast\",\"Korea Central\",\"Southeast Asia\",\"South Central US\",\"Norway West\",\"Australia East\",\"Japan East\",\"Canada East\",\"Canada Central\",\"Switzerland North\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2021-02-01-preview\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2019-12-01\",\"2019-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/internalAzureVirtualNetworkManagerOperation\",\"locations\":[\"West Central US\",\"North Central US\",\"West US\",\"West Europe\",\"UAE Central\",\"Germany North\",\"East US\",\"West India\",\"East US 2\",\"Australia Central\",\"Australia Central 2\",\"South Africa West\",\"Brazil South\",\"UK West\",\"North Europe\",\"Central US\",\"UAE North\",\"Germany West Central\",\"Switzerland West\",\"East Asia\",\"Jio India West\",\"South Africa North\",\"UK South\",\"South India\",\"Australia Southeast\",\"France South\",\"West US 2\",\"Japan West\",\"Norway East\",\"France Central\",\"West US 3\",\"Central India\",\"Korea South\",\"Brazil Southeast\",\"Korea Central\",\"Southeast Asia\",\"South Central US\",\"Norway West\",\"Australia East\",\"Japan East\",\"Canada East\",\"Canada Central\",\"Switzerland North\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2021-02-01-preview\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"networkVirtualApplianceSkus\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/serviceTagDetails\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"networkWatchers/lenses\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"frontdoorOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-11-01\",\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-11-01\",\"2019-10-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2019-03-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoors\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"frontdoors/frontendEndpoints\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoors/frontendEndpoints/customHttpsConfiguration\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoorWebApplicationFirewallPolicies\",\"locations\":[\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-11-01\",\"2020-04-01\",\"2019-10-01\",\"2019-03-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-11-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkExperimentProfiles\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"West US 2\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2019-11-01\"],\"defaultApiVersion\":\"2019-11-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"}],\"registrationState\":\"Registered\",\"registrationPolicy\":\"RegistrationRequired\"}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026/providers/Microsoft.Network//publicIPAddresses/rs8237026?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "b363ab80-605b-4680-9570-0bee80a0f031", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "616", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1199", + "Pragma" : "no-cache", + "Azure-AsyncNotification" : "Enabled", + "StatusCode" : "201", + "x-ms-correlation-request-id" : "a78c0023-6c2e-470d-af80-226d586b8c17", + "Date" : "Thu, 30 Sep 2021 02:33:40 GMT", + "x-ms-arm-service-request-id" : "8923cc18-2ab4-439c-9061-2108eb080345", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023340Z:a78c0023-6c2e-470d-af80-226d586b8c17", + "Expires" : "-1", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/81e36293-826f-4733-bc0c-f28f72024e81?api-version=2020-03-01", + "x-ms-request-id" : "81e36293-826f-4733-bc0c-f28f72024e81", + "Body" : "{\r\n \"name\": \"rs8237026\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026\",\r\n \"etag\": \"W/\\\"59525768-52ee-456f-a475-40f489dae237\\\"\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"bb6c724c-dfc9-4e50-964d-3c0ed3394862\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}", + "x-ms-client-request-id" : "b363ab80-605b-4680-9570-0bee80a0f031", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/81e36293-826f-4733-bc0c-f28f72024e81?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "d010f6e0-8f1b-470f-88b5-ab289c2ebe38" + }, + "Response" : { + "content-length" : "29", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11998", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "d19142a8-0a1f-45ae-82c8-a116eae202d4", + "Date" : "Thu, 30 Sep 2021 02:33:40 GMT", + "x-ms-arm-service-request-id" : "8c281398-801b-405c-93a8-90c910178dcb", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023341Z:d19142a8-0a1f-45ae-82c8-a116eae202d4", + "Expires" : "-1", + "x-ms-request-id" : "2f2910e5-5065-4282-bd4f-7e48115311f0", + "Body" : "{\r\n \"status\": \"Succeeded\"\r\n}", + "x-ms-client-request-id" : "d010f6e0-8f1b-470f-88b5-ab289c2ebe38", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026/providers/Microsoft.Network//publicIPAddresses/rs8237026?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "5d8b22f7-7e84-415d-81e7-d509d9660c33" + }, + "Response" : { + "content-length" : "617", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11999", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "60b6a265-3500-4922-98ef-929ee14cb149", + "Date" : "Thu, 30 Sep 2021 02:33:41 GMT", + "x-ms-arm-service-request-id" : "fb540fc2-90ca-4eff-9355-47aa4af220ae", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "ETag" : "W/\"9a9be5bd-4c4a-4c90-aa7e-014bb3f64e5d\"", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023342Z:60b6a265-3500-4922-98ef-929ee14cb149", + "Expires" : "-1", + "x-ms-request-id" : "8c5f5fe3-5762-4245-b5da-f48a7a7cdf98", + "Body" : "{\r\n \"name\": \"rs8237026\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026\",\r\n \"etag\": \"W/\\\"9a9be5bd-4c4a-4c90-aa7e-014bb3f64e5d\\\"\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"bb6c724c-dfc9-4e50-964d-3c0ed3394862\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}", + "x-ms-client-request-id" : "5d8b22f7-7e84-415d-81e7-d509d9660c33", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgB8237026?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "fc5a5a6c-9d56-475f-863a-75d88c68c8ce", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "225", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11997", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "384d9e1a-4158-4f96-815f-50e244a13ff3", + "Date" : "Thu, 30 Sep 2021 02:33:41 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023342Z:384d9e1a-4158-4f96-815f-50e244a13ff3", + "Expires" : "-1", + "x-ms-request-id" : "384d9e1a-4158-4f96-815f-50e244a13ff3", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgB8237026\",\"name\":\"rgB8237026\",\"type\":\"Microsoft.Resources/resourceGroups\",\"location\":\"southcentralus\",\"properties\":{\"provisioningState\":\"Succeeded\"}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/validateMoveResources?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "ee024ad9-a754-4996-a398-cf6539e61232", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1199", + "Pragma" : "no-cache", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "4603df48-13b6-4199-9f5f-66f10317cec0", + "Date" : "Thu, 30 Sep 2021 02:33:47 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023347Z:4603df48-13b6-4199-9f5f-66f10317cec0", + "Expires" : "-1", + "x-ms-request-id" : "4603df48-13b6-4199-9f5f-66f10317cec0", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "a5ce90c5-8d01-48c8-9b90-c63d3fc532ba" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11996", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "6d0dcf45-9283-47d3-b455-84722e31c981", + "Date" : "Thu, 30 Sep 2021 02:34:03 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023404Z:6d0dcf45-9283-47d3-b455-84722e31c981", + "Expires" : "-1", + "x-ms-request-id" : "6d0dcf45-9283-47d3-b455-84722e31c981", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "d5b17a04-499a-4769-9195-77e5c3d3d7c5" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11998", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "a7c6946d-b933-4427-ab18-1eb9ab9f7e5f", + "Date" : "Thu, 30 Sep 2021 02:34:19 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023419Z:a7c6946d-b933-4427-ab18-1eb9ab9f7e5f", + "Expires" : "-1", + "x-ms-request-id" : "a7c6946d-b933-4427-ab18-1eb9ab9f7e5f", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "d76d8cd5-79d1-4c4e-8c7b-a370a3531adc" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11995", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "9e35fd3c-f744-4e9e-953f-1229b5e2a531", + "Date" : "Thu, 30 Sep 2021 02:34:35 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023435Z:9e35fd3c-f744-4e9e-953f-1229b5e2a531", + "Expires" : "-1", + "x-ms-request-id" : "9e35fd3c-f744-4e9e-953f-1229b5e2a531", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "52df10ef-44a3-4ad2-8724-4d069c1a97e9" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11997", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "e28f2878-6e08-46da-8c1b-2425274a558f", + "Date" : "Thu, 30 Sep 2021 02:34:50 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023450Z:e28f2878-6e08-46da-8c1b-2425274a558f", + "Expires" : "-1", + "x-ms-request-id" : "e28f2878-6e08-46da-8c1b-2425274a558f", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "b81a88e3-4f53-4577-9851-6f4e676b8418" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11994", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "8adacd47-b066-4e57-b0fd-b3b3e3b50d8a", + "Date" : "Thu, 30 Sep 2021 02:35:06 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023506Z:8adacd47-b066-4e57-b0fd-b3b3e3b50d8a", + "Expires" : "-1", + "x-ms-request-id" : "8adacd47-b066-4e57-b0fd-b3b3e3b50d8a", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "7fdbba7a-3b9f-48c7-b5db-219e03ccb284" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11996", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "6481473a-0a57-41ba-bd13-d87a1e30004f", + "Date" : "Thu, 30 Sep 2021 02:35:21 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023521Z:6481473a-0a57-41ba-bd13-d87a1e30004f", + "Expires" : "-1", + "x-ms-request-id" : "6481473a-0a57-41ba-bd13-d87a1e30004f", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "272cfd6e-c7ad-4eb3-ae63-ae902138d563" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11993", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "8a25495c-6cd7-4e85-a32b-62d38761f6a4", + "Date" : "Thu, 30 Sep 2021 02:35:37 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023537Z:8a25495c-6cd7-4e85-a32b-62d38761f6a4", + "Expires" : "-1", + "x-ms-request-id" : "8a25495c-6cd7-4e85-a32b-62d38761f6a4", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "f11361f4-083c-4a6a-904d-590acb3780df" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11995", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "c5aa2555-0edb-421e-8e80-a932dea95abb", + "Date" : "Thu, 30 Sep 2021 02:35:52 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023552Z:c5aa2555-0edb-421e-8e80-a932dea95abb", + "Expires" : "-1", + "x-ms-request-id" : "c5aa2555-0edb-421e-8e80-a932dea95abb", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "6c789de0-56a7-42a2-bf2a-500536de8487" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11992", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "0df90572-2a52-4c86-b132-b6c61e5b3974", + "Date" : "Thu, 30 Sep 2021 02:36:07 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023608Z:0df90572-2a52-4c86-b132-b6c61e5b3974", + "Expires" : "-1", + "x-ms-request-id" : "0df90572-2a52-4c86-b132-b6c61e5b3974", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "5497cbee-498d-45d5-91c5-0ce302ef8f1d" + }, + "Response" : { + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023623Z:ca5272a5-882c-4f2c-8c5a-2f3b2b53bb9c", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "Expires" : "-1", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11994", + "StatusCode" : "204", + "x-ms-request-id" : "ca5272a5-882c-4f2c-8c5a-2f3b2b53bb9c", + "x-ms-correlation-request-id" : "ca5272a5-882c-4f2c-8c5a-2f3b2b53bb9c", + "Date" : "Thu, 30 Sep 2021 02:36:22 GMT" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "b8dc3db4-2342-40dd-b00a-1df0b54ae7aa", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "119192", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11991", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "c3abf6c4-df47-4d5a-b495-b72b8505be52", + "Date" : "Thu, 30 Sep 2021 02:36:24 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023624Z:c3abf6c4-df47-4d5a-b495-b72b8505be52", + "Expires" : "-1", + "x-ms-request-id" : "c3abf6c4-df47-4d5a-b495-b72b8505be52", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network\",\"namespace\":\"Microsoft.Network\",\"authorizations\":[{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"13ba9ab4-19f0-4804-adc4-14ece36cc7a1\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"ad6261e4-fa9a-4642-aa5f-104f1b67e9e3\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"1d538b69-3d87-4e56-8ff8-25786fd48261\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"7ce22727-ffce-45a9-930c-ddb2e56fa131\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"98a9e526-0a60-4c1f-a33a-ae46e1f8dc0d\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"d813ab6c-bfb7-413e-9462-005b21f0ce09\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"8141843c-c51c-4c1e-a5bf-0d351594b86c\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"79e29e06-4056-41e5-a6b2-959f1f47747e\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"c27dd31e-c1e5-4ab0-93e1-a12ba34f182e\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"18363e25-ff21-4159-ae8d-7dfecb5bd001\"},{\"applicationId\":\"REDACTED\",\"roleDefinitionId\":\"1c1f11ef-abfa-4abe-a02b-226771d07fc7\"}],\"resourceTypes\":[{\"resourceType\":\"virtualNetworks\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualNetworks/taggedTrafficConsumers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"natGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"publicIPAddresses\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"customIpPrefixes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkInterfaces\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"dscpConfigurations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateEndpoints\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateEndpoints/privateLinkServiceProxies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateEndpointRedirectMaps\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"loadBalancers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkSecurityGroups\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationSecurityGroups\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2017-09-01\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"serviceEndpointPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkIntentPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"France South\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"routeTables\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"publicIPPrefixes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"ddosCustomPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/connectionMonitors\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/flowLogs\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkWatchers/pingMeshes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualNetworkGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"localNetworkGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"connections\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-03-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"applicationGatewayWebApplicationFirewallPolicies\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/operations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/operationResults\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/CheckDnsNameAvailability\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setLoadBalancerFrontendPublicIpAddresses\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/usages\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2015-06-15\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2017-10-01\"}],\"capabilities\":\"None\"},{\"resourceType\":\"locations/virtualNetworkAvailableEndpointServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availableDelegations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/serviceTags\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availablePrivateEndpointTypes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/availableServiceAliases\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/checkPrivateLinkServiceVisibility\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/autoApprovedPrivateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/batchValidatePrivateEndpointsForResourceMove\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/batchNotifyPrivateEndpointsForResourceMove\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/supportedVirtualMachineSizes\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setAzureNetworkManagerConfiguration\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/getAzureNetworkManagerConfiguration\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/checkAcceleratedNetworkingSupport\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/validateResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/setResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/effectiveResourceOwnership\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"operations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"dnszones\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2016-04-01\"},{\"profileVersion\":\"2018-03-01-hybrid\",\"apiVersion\":\"2016-04-01\"},{\"profileVersion\":\"2019-03-01-hybrid\",\"apiVersion\":\"2016-04-01\"}],\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"dnsOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnsOperationStatuses\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"getDnsResourceReference\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"internalNotify\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/A\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/AAAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/CNAME\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/PTR\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/MX\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/TXT\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/SRV\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/SOA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/NS\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/CAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/recordsets\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"dnszones/all\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-05-01\",\"2018-03-01-preview\",\"2017-10-01\",\"2017-09-15-preview\",\"2017-09-01\",\"2016-04-01\",\"2015-05-04-preview\"],\"defaultApiVersion\":\"2018-05-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateDnsZones/virtualNetworkLinks\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateDnsOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsOperationStatuses\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZonesInternal\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-01-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/A\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/AAAA\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/CNAME\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/PTR\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/MX\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/TXT\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/SRV\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/SOA\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"privateDnsZones/all\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\",\"2020-01-01\",\"2018-09-01\"],\"defaultApiVersion\":\"2018-09-01\",\"capabilities\":\"None\"},{\"resourceType\":\"virtualNetworks/privateDnsZoneLinks\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-06-01\"],\"defaultApiVersion\":\"2020-06-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficmanagerprofiles\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\",\"2015-11-01\",\"2015-04-28-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"trafficmanagerprofiles/heatMaps\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-09-01-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"checkTrafficManagerNameAvailability\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\",\"2015-11-01\",\"2015-04-28-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficManagerUserMetricsKeys\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2017-09-01-preview\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"trafficManagerGeographicHierarchies\",\"locations\":[\"global\"],\"apiVersions\":[\"2018-08-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2017-05-01\",\"2017-03-01\"],\"defaultApiVersion\":\"2018-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"expressRouteCircuits\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRouteServiceProviders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableWafRuleSets\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableSslOptions\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableServerVariables\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableRequestHeaders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"applicationGatewayAvailableResponseHeaders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"routeFilters\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\",\"2016-11-01\",\"2016-10-01\",\"2016-09-01\",\"2016-08-01\",\"2016-07-01\",\"2016-06-01\",\"2016-03-30\",\"2015-06-15\",\"2015-05-01-preview\",\"2014-12-01-preview\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"bgpServiceCommunities\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\",\"2017-08-01\",\"2017-06-01\",\"2017-04-01\",\"2017-03-01\",\"2016-12-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"virtualWans\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnSites\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnServerConfigurations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"South Africa North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualHubs\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"vpnGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"p2sVpnGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"UAE North\",\"South Africa North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRouteGateways\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"expressRoutePortsLocations\",\"locations\":[\"France Central\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"firewallPolicies\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"ipGroups\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"West Central US\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureWebCategories\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\"],\"defaultApiVersion\":\"2020-08-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/nfvOperations\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/nfvOperationResults\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"securityPartnerProviders\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureFirewalls\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"France Central\",\"Australia Central\",\"Japan West\",\"Japan East\",\"Korea Central\",\"Korea South\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\"],\"defaultApiVersion\":\"2020-03-01\",\"zoneMappings\":[{\"location\":\"East US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US 2 EUAP\",\"zones\":[\"2\",\"1\",\"3\"]},{\"location\":\"Central US EUAP\",\"zones\":[\"2\",\"1\"]},{\"location\":\"France Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Southeast Asia\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 2\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"North Europe\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"UK South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Japan East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Australia East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Africa North\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"South Central US\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Canada Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Germany West Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Brazil South\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Central India\",\"zones\":[]},{\"location\":\"Korea Central\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"West US 3\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"Norway East\",\"zones\":[\"3\",\"2\",\"1\"]},{\"location\":\"East Asia\",\"zones\":[]},{\"location\":\"Switzerland North\",\"zones\":[]}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"azureFirewallFqdnTags\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"virtualNetworkTaps\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"privateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations/privateLinkServices\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"ddosProtectionPlans\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\"],\"defaultApiVersion\":\"2020-03-01\",\"apiProfiles\":[{\"profileVersion\":\"2017-03-09-profile\",\"apiVersion\":\"2018-02-01\"}],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkProfiles\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"checkFrontdoorNameAvailability\",\"locations\":[\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoorWebApplicationFirewallManagedRuleSets\",\"locations\":[\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-11-01\",\"2020-04-01\",\"2019-10-01\",\"2019-03-01\"],\"defaultApiVersion\":\"2020-11-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/bareMetalTenants\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"bastionHosts\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"virtualRouters\",\"locations\":[\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkVirtualAppliances\",\"locations\":[\"Brazil Southeast\",\"West US 3\",\"Jio India West\",\"UAE North\",\"Australia Central 2\",\"UAE Central\",\"Germany North\",\"Central India\",\"Korea South\",\"Switzerland North\",\"Switzerland West\",\"Japan West\",\"France South\",\"South Africa West\",\"West India\",\"Canada East\",\"South India\",\"Germany West Central\",\"Norway East\",\"Norway West\",\"South Africa North\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Brazil South\",\"Japan East\",\"UK West\",\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"West Central US\",\"South Central US\",\"Australia East\",\"Australia Central\",\"Australia Southeast\",\"UK South\",\"East US 2\",\"West US 2\",\"North Central US\",\"Canada Central\",\"France Central\",\"Central US\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"ipAllocations\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"locations/commitInternalAzureNetworkManagerConfiguration\",\"locations\":[\"West Central US\",\"North Central US\",\"West US\",\"West Europe\",\"UAE Central\",\"Germany North\",\"East US\",\"West India\",\"East US 2\",\"Australia Central\",\"Australia Central 2\",\"South Africa West\",\"Brazil South\",\"UK West\",\"North Europe\",\"Central US\",\"UAE North\",\"Germany West Central\",\"Switzerland West\",\"East Asia\",\"Jio India West\",\"South Africa North\",\"UK South\",\"South India\",\"Australia Southeast\",\"France South\",\"West US 2\",\"Japan West\",\"Norway East\",\"France Central\",\"West US 3\",\"Central India\",\"Korea South\",\"Brazil Southeast\",\"Korea Central\",\"Southeast Asia\",\"South Central US\",\"Norway West\",\"Australia East\",\"Japan East\",\"Canada East\",\"Canada Central\",\"Switzerland North\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2021-02-01-preview\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2019-12-01\",\"2019-11-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"locations/internalAzureVirtualNetworkManagerOperation\",\"locations\":[\"West Central US\",\"North Central US\",\"West US\",\"West Europe\",\"UAE Central\",\"Germany North\",\"East US\",\"West India\",\"East US 2\",\"Australia Central\",\"Australia Central 2\",\"South Africa West\",\"Brazil South\",\"UK West\",\"North Europe\",\"Central US\",\"UAE North\",\"Germany West Central\",\"Switzerland West\",\"East Asia\",\"Jio India West\",\"South Africa North\",\"UK South\",\"South India\",\"Australia Southeast\",\"France South\",\"West US 2\",\"Japan West\",\"Norway East\",\"France Central\",\"West US 3\",\"Central India\",\"Korea South\",\"Brazil Southeast\",\"Korea Central\",\"Southeast Asia\",\"South Central US\",\"Norway West\",\"Australia East\",\"Japan East\",\"Canada East\",\"Canada Central\",\"Switzerland North\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2021-02-01-preview\",\"2020-08-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"networkVirtualApplianceSkus\",\"locations\":[],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\"],\"defaultApiVersion\":\"2020-04-01\",\"capabilities\":\"None\"},{\"resourceType\":\"locations/serviceTagDetails\",\"locations\":[\"West US\",\"East US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"North Central US\",\"South Central US\",\"Central US\",\"East US 2\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\",\"Central India\",\"South India\",\"West India\",\"Canada Central\",\"Canada East\",\"West Central US\",\"West US 2\",\"UK West\",\"UK South\",\"Korea Central\",\"Korea South\",\"France Central\",\"Australia Central\",\"South Africa North\",\"UAE North\",\"Switzerland North\",\"Germany West Central\",\"Norway East\",\"West US 3\",\"Jio India West\",\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\"],\"capabilities\":\"None\"},{\"resourceType\":\"networkWatchers/lenses\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\"],\"apiVersions\":[\"2021-05-01\",\"2021-04-01\",\"2021-03-01\",\"2021-02-01\",\"2021-01-01\",\"2020-11-01\",\"2020-08-01\",\"2020-07-01\",\"2020-06-01\",\"2020-05-01\",\"2020-04-01\",\"2020-03-01\",\"2020-01-01\",\"2019-12-01\",\"2019-11-01\",\"2019-09-01\",\"2019-08-01\",\"2019-07-01\",\"2019-06-01\",\"2019-04-01\",\"2019-02-01\",\"2018-12-01\",\"2018-11-01\",\"2018-10-01\",\"2018-08-01\",\"2018-07-01\",\"2018-06-01\",\"2018-05-01\",\"2018-04-01\",\"2018-03-01\",\"2018-02-01\",\"2018-01-01\",\"2017-11-01\",\"2017-10-01\",\"2017-09-01\"],\"defaultApiVersion\":\"2020-03-01\",\"capabilities\":\"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation\"},{\"resourceType\":\"frontdoorOperationResults\",\"locations\":[\"global\"],\"apiVersions\":[\"2020-11-01\",\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-11-01\",\"2019-10-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2019-03-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoors\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"frontdoors/frontendEndpoints\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoors/frontendEndpoints/customHttpsConfiguration\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-07-01\",\"2020-05-01\",\"2020-04-01\",\"2020-01-01\",\"2019-08-01\",\"2019-05-01\",\"2019-04-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-07-01\",\"capabilities\":\"None\"},{\"resourceType\":\"frontdoorWebApplicationFirewallPolicies\",\"locations\":[\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2020-11-01\",\"2020-04-01\",\"2019-10-01\",\"2019-03-01\",\"2018-08-01\"],\"defaultApiVersion\":\"2020-11-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"networkExperimentProfiles\",\"locations\":[\"Central US EUAP\",\"East US 2 EUAP\",\"global\",\"Central US\",\"East US\",\"East US 2\",\"North Central US\",\"South Central US\",\"West US\",\"West US 2\",\"North Europe\",\"West Europe\",\"East Asia\",\"Southeast Asia\",\"Japan East\",\"Japan West\",\"Brazil South\",\"Australia East\",\"Australia Southeast\"],\"apiVersions\":[\"2019-11-01\"],\"defaultApiVersion\":\"2019-11-01\",\"capabilities\":\"SupportsTags, SupportsLocation\"}],\"registrationState\":\"Registered\",\"registrationPolicy\":\"RegistrationRequired\"}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgB8237026/providers/Microsoft.Network//publicIPAddresses/rs8237026?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "dc2f6310-27f6-46a8-9ed5-5ea51e70b0b3", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "617", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1198", + "Pragma" : "no-cache", + "Azure-AsyncNotification" : "Enabled", + "StatusCode" : "201", + "x-ms-correlation-request-id" : "ec77198f-15e0-45fb-804c-03af4598cef0", + "Date" : "Thu, 30 Sep 2021 02:36:30 GMT", + "x-ms-arm-service-request-id" : "698b25b6-0d18-441d-8b22-ad95eb0b2c4c", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023630Z:ec77198f-15e0-45fb-804c-03af4598cef0", + "Expires" : "-1", + "Azure-AsyncOperation" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/cbab4dfb-3337-4c38-841a-e05d9c4bc271?api-version=2020-03-01", + "x-ms-request-id" : "cbab4dfb-3337-4c38-841a-e05d9c4bc271", + "Body" : "{\r\n \"name\": \"rs8237026\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgB8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026\",\r\n \"etag\": \"W/\\\"4f892ee1-07aa-4d95-949f-c70f95318684\\\"\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"f89c1f1d-967b-4d24-bd85-103df8d4254d\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}", + "x-ms-client-request-id" : "dc2f6310-27f6-46a8-9ed5-5ea51e70b0b3", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/cbab4dfb-3337-4c38-841a-e05d9c4bc271?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "128ab52b-d0ba-4b1f-9e53-47b0328e63d2" + }, + "Response" : { + "content-length" : "29", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11990", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "e0f709fe-e2ea-4983-aab9-0e26b3be49f6", + "Date" : "Thu, 30 Sep 2021 02:36:31 GMT", + "x-ms-arm-service-request-id" : "878da3ce-e78f-426f-9b46-95acddc9fac5", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023632Z:e0f709fe-e2ea-4983-aab9-0e26b3be49f6", + "Expires" : "-1", + "x-ms-request-id" : "eb6b9bef-0ce4-4721-b7ae-154779a28eee", + "Body" : "{\r\n \"status\": \"Succeeded\"\r\n}", + "x-ms-client-request-id" : "128ab52b-d0ba-4b1f-9e53-47b0328e63d2", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgB8237026/providers/Microsoft.Network//publicIPAddresses/rs8237026?api-version=2020-03-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "51b8b215-8e38-49c6-bde4-6c5886cd64aa" + }, + "Response" : { + "content-length" : "618", + "Server" : "Microsoft-HTTPAPI/2.0,Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11993", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "d42f2a03-cbf0-4452-ab05-733f47592e46", + "Date" : "Thu, 30 Sep 2021 02:36:32 GMT", + "x-ms-arm-service-request-id" : "bb9d69ef-cbe1-4348-9a3c-b8a3181b9ed6", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "ETag" : "W/\"57c67b63-544b-4c3d-a1bf-471604209ca0\"", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023632Z:d42f2a03-cbf0-4452-ab05-733f47592e46", + "Expires" : "-1", + "x-ms-request-id" : "f5f79a41-8e11-4753-8081-f17be8b81576", + "Body" : "{\r\n \"name\": \"rs8237026\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgB8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026\",\r\n \"etag\": \"W/\\\"57c67b63-544b-4c3d-a1bf-471604209ca0\\\"\",\r\n \"location\": \"eastus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"f89c1f1d-967b-4d24-bd85-103df8d4254d\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}", + "x-ms-client-request-id" : "51b8b215-8e38-49c6-bde4-6c5886cd64aa", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/validateMoveResources?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "a2c931f5-5dda-4690-adea-cc18e7f6ed92", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1199", + "Pragma" : "no-cache", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "3cce81dc-dd59-4817-b81e-63ff30367de4", + "Date" : "Thu, 30 Sep 2021 02:36:38 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023639Z:3cce81dc-dd59-4817-b81e-63ff30367de4", + "Expires" : "-1", + "x-ms-request-id" : "3cce81dc-dd59-4817-b81e-63ff30367de4", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "66f96216-7056-4baa-a688-54629abfc40e" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11992", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "46c6aa3d-da85-49c5-a928-4435841a9039", + "Date" : "Thu, 30 Sep 2021 02:36:54 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023654Z:46c6aa3d-da85-49c5-a928-4435841a9039", + "Expires" : "-1", + "x-ms-request-id" : "46c6aa3d-da85-49c5-a928-4435841a9039", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "daea4a35-8964-4721-be90-856fb0806344" + }, + "Response" : { + "content-length" : "762", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11989", + "StatusCode" : "400", + "x-ms-correlation-request-id" : "deeb1504-8161-4964-b489-3c2d665bcd8e", + "Date" : "Thu, 30 Sep 2021 02:37:09 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023710Z:deeb1504-8161-4964-b489-3c2d665bcd8e", + "Expires" : "-1", + "x-ms-request-id" : "deeb1504-8161-4964-b489-3c2d665bcd8e", + "Body" : "{\"error\":{\"code\":\"ResourceMoveValidationFailed\",\"message\":\"The resource batch move request has '1' validation errors. Diagnostic information: timestamp '20210930T023708Z', tracking Id '88f651e2-0737-4fb1-a523-fd2adce1ff3b', request correlation Id '3cce81dc-dd59-4817-b81e-63ff30367de4'.\",\"details\":[{\"code\":\"DuplicateResources\",\"target\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026\",\"message\":\"Duplicate resources with identifiers '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgB8237026/providers/Microsoft.Network/publicIPAddresses/rs8237026' were found in resource group 'rgB8237026'. The tracking Id is '3cce81dc-dd59-4817-b81e-63ff30367de4'.\"}]}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedIdentity?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "2bd463a4-0ae4-4fba-909e-33cb43c8d548", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "2400", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11991", + "StatusCode" : "200", + "x-ms-correlation-request-id" : "8844a954-bd78-4dda-b8e5-901787df37d7", + "Date" : "Thu, 30 Sep 2021 02:37:10 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023710Z:8844a954-bd78-4dda-b8e5-901787df37d7", + "Expires" : "-1", + "x-ms-request-id" : "8844a954-bd78-4dda-b8e5-901787df37d7", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedIdentity\",\"namespace\":\"Microsoft.ManagedIdentity\",\"resourceTypes\":[{\"resourceType\":\"Identities\",\"locations\":[\"Global\",\"South Africa North\",\"South Africa West\",\"UAE North\",\"Australia Central\",\"Australia East\",\"Australia Southeast\",\"Canada Central\",\"Canada East\",\"Brazil South\",\"Central India\",\"West India\",\"Jio India West\",\"South India\",\"Japan West\",\"Japan East\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Korea South\",\"North Europe\",\"West Europe\",\"UK West\",\"UK South\",\"Switzerland North\",\"Germany West Central\",\"Central US\",\"North Central US\",\"East US\",\"East US 2\",\"South Central US\",\"West US\",\"West US 2\",\"West US 3\",\"West Central US\",\"France Central\",\"Norway East\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2018-11-30\",\"2015-08-31-PREVIEW\"],\"capabilities\":\"SupportsExtension\"},{\"resourceType\":\"userAssignedIdentities\",\"locations\":[\"South Africa North\",\"South Africa West\",\"UAE North\",\"Australia Central\",\"Australia East\",\"Australia Southeast\",\"Canada Central\",\"Canada East\",\"Brazil South\",\"Central India\",\"West India\",\"Jio India West\",\"South India\",\"Japan West\",\"Japan East\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Korea South\",\"North Europe\",\"West Europe\",\"UK West\",\"UK South\",\"Switzerland North\",\"Germany West Central\",\"Central US\",\"North Central US\",\"East US\",\"East US 2\",\"South Central US\",\"West US\",\"West US 2\",\"West US 3\",\"West Central US\",\"France Central\",\"Norway East\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2018-11-30\",\"2015-08-31-PREVIEW\"],\"capabilities\":\"SupportsTags, SupportsLocation\"},{\"resourceType\":\"operations\",\"locations\":[\"South Africa North\",\"South Africa West\",\"UAE North\",\"Australia Central\",\"Australia East\",\"Australia Southeast\",\"Canada Central\",\"Canada East\",\"Brazil South\",\"Central India\",\"West India\",\"Jio India West\",\"South India\",\"Japan West\",\"Japan East\",\"East Asia\",\"Southeast Asia\",\"Korea Central\",\"Korea South\",\"North Europe\",\"West Europe\",\"UK West\",\"UK South\",\"Switzerland North\",\"Germany West Central\",\"Central US\",\"North Central US\",\"East US\",\"East US 2\",\"South Central US\",\"West US\",\"West US 2\",\"West US 3\",\"West Central US\",\"France Central\",\"Norway East\",\"East US 2 EUAP\",\"Central US EUAP\"],\"apiVersions\":[\"2018-11-30\",\"2015-08-31-PREVIEW\"],\"capabilities\":\"None\"}],\"registrationState\":\"Registered\",\"registrationPolicy\":\"RegistrationRequired\"}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026/providers/Microsoft.ManagedIdentity//userAssignedIdentities/rs28237026?api-version=2018-11-30", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "721c9d38-3f7b-4a14-8e5a-52bf2f0da6c0", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "432", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1197", + "Pragma" : "no-cache", + "retry-after" : "0", + "StatusCode" : "201", + "x-ms-correlation-request-id" : "85afb7ad-faee-4c06-9743-f73cd5bd032c", + "Date" : "Thu, 30 Sep 2021 02:37:16 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023717Z:85afb7ad-faee-4c06-9743-f73cd5bd032c", + "Expires" : "-1", + "x-ms-request-id" : "85afb7ad-faee-4c06-9743-f73cd5bd032c", + "Body" : "{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rs28237026\",\"name\":\"rs28237026\",\"type\":\"Microsoft.ManagedIdentity/userAssignedIdentities\",\"location\":\"eastus2\",\"tags\":{},\"properties\":{\"tenantId\":\"00000000-0000-0000-0000-000000000000\",\"principalId\":\"bb99fd6d-4e38-4dee-a474-8d777d518a03\",\"clientId\":\"50e559ea-d3ef-4754-9677-53f39017465b\"}}", + "Content-Type" : "application/json; charset=utf-8", + "Location" : "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rs28237026" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/validateMoveResources?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "f90fc458-0699-4c10-8fef-98e17bde97ff", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "x-ms-ratelimit-remaining-subscription-writes" : "1198", + "Pragma" : "no-cache", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "b0ecac95-214c-411c-9092-bf2639af307a", + "Date" : "Thu, 30 Sep 2021 02:37:21 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023721Z:b0ecac95-214c-411c-9092-bf2639af307a", + "Expires" : "-1", + "x-ms-request-id" : "b0ecac95-214c-411c-9092-bf2639af307a", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "28969ef3-78e3-4e76-8b19-008fa19b6ce4" + }, + "Response" : { + "content-length" : "0", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "x-ms-ratelimit-remaining-subscription-reads" : "11988", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "03223baf-d19b-4e61-92af-c7fc19b86943", + "Date" : "Thu, 30 Sep 2021 02:37:36 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023737Z:03223baf-d19b-4e61-92af-c7fc19b86943", + "Expires" : "-1", + "x-ms-request-id" : "03223baf-d19b-4e61-92af-c7fc19b86943", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFQkFUQ0hNT1ZFSk9CLVJHODIzNzAyNi1FQVNUVVMtVkFMSURBVEUiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources.fluentcore.policy/null (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "63768d01-c645-4692-bbc0-b4c8ee4cae10" + }, + "Response" : { + "content-length" : "609", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "retry-after" : "0", + "x-ms-ratelimit-remaining-subscription-reads" : "11990", + "StatusCode" : "400", + "x-ms-correlation-request-id" : "810a57b5-fc9d-4806-9dc3-1fe275a2e6d5", + "Date" : "Thu, 30 Sep 2021 02:37:52 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023752Z:810a57b5-fc9d-4806-9dc3-1fe275a2e6d5", + "Expires" : "-1", + "x-ms-request-id" : "810a57b5-fc9d-4806-9dc3-1fe275a2e6d5", + "Body" : "{\"error\":{\"code\":\"ResourceMoveValidationFailed\",\"message\":\"The resource batch move request has '1' validation errors. Diagnostic information: timestamp '20210930T023751Z', tracking Id '02830b64-3d8e-45b2-9f34-4349751de741', request correlation Id 'b0ecac95-214c-411c-9092-bf2639af307a'.\",\"details\":[{\"code\":\"ResourceMoveNotSupported\",\"target\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg8237026/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rs28237026\",\"message\":\"Resource move is not supported for resource types 'Microsoft.ManagedIdentity/userAssignedIdentities'.\"}]}}", + "Content-Type" : "application/json; charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgB8237026?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "f1dd4754-3bba-4b76-8387-e9d378a73b42", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-ms-ratelimit-remaining-subscription-deletes" : "14999", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "5b9f29e9-f188-4291-b750-db2cfd0811e2", + "Date" : "Thu, 30 Sep 2021 02:37:54 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023755Z:5b9f29e9-f188-4291-b750-db2cfd0811e2", + "Expires" : "-1", + "x-ms-request-id" : "5b9f29e9-f188-4291-b750-db2cfd0811e2", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1SR0I4MjM3MDI2LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2021-01-01" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg8237026?api-version=2021-01-01", + "Headers" : { + "User-Agent" : "azsdk-java-com.azure.resourcemanager.resources/2.9.0-beta.1 (15.0.1; Windows 10; 10.0)", + "x-ms-client-request-id" : "5185f186-8d9d-4afd-b87a-4e62af2686a0", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "0", + "x-ms-ratelimit-remaining-subscription-deletes" : "14999", + "X-Content-Type-Options" : "nosniff", + "Pragma" : "no-cache", + "StatusCode" : "202", + "x-ms-correlation-request-id" : "dd517d7b-d714-4e55-a3ae-206aeb74d62d", + "Date" : "Thu, 30 Sep 2021 02:37:57 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Cache-Control" : "no-cache", + "Retry-After" : "0", + "x-ms-routing-request-id" : "SOUTHEASTASIA:20210930T023758Z:dd517d7b-d714-4e55-a3ae-206aeb74d62d", + "Expires" : "-1", + "x-ms-request-id" : "dd517d7b-d714-4e55-a3ae-206aeb74d62d", + "Location" : "http://localhost:1234/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1SRzgyMzcwMjYtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2021-01-01" + }, + "Exception" : null + } ], + "variables" : [ "8237026" ] +} \ No newline at end of file diff --git a/sdk/resourcemanager/azure-resourcemanager-samples/pom.xml b/sdk/resourcemanager/azure-resourcemanager-samples/pom.xml index f9d538e877eb4..0720ab083f35c 100644 --- a/sdk/resourcemanager/azure-resourcemanager-samples/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-samples/pom.xml @@ -52,7 +52,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure diff --git a/sdk/resourcemanager/azure-resourcemanager-search/pom.xml b/sdk/resourcemanager/azure-resourcemanager-search/pom.xml index ed2632ca4a6d8..aaaf3f3bcb308 100644 --- a/sdk/resourcemanager/azure-resourcemanager-search/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-search/pom.xml @@ -73,7 +73,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-servicebus/pom.xml b/sdk/resourcemanager/azure-resourcemanager-servicebus/pom.xml index ba7e30aab98d7..66eb0472b75ed 100644 --- a/sdk/resourcemanager/azure-resourcemanager-servicebus/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-servicebus/pom.xml @@ -73,7 +73,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-sql/pom.xml b/sdk/resourcemanager/azure-resourcemanager-sql/pom.xml index d336bc15114fa..814be199e5a1b 100644 --- a/sdk/resourcemanager/azure-resourcemanager-sql/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-sql/pom.xml @@ -87,7 +87,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-storage/pom.xml b/sdk/resourcemanager/azure-resourcemanager-storage/pom.xml index ed546e1d44424..06b3a1fd2e764 100644 --- a/sdk/resourcemanager/azure-resourcemanager-storage/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-storage/pom.xml @@ -73,7 +73,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager-test/pom.xml b/sdk/resourcemanager/azure-resourcemanager-test/pom.xml index 339fc7dfe7c53..5a50b2590f491 100644 --- a/sdk/resourcemanager/azure-resourcemanager-test/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-test/pom.xml @@ -52,17 +52,17 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 com.azure @@ -72,7 +72,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 diff --git a/sdk/resourcemanager/azure-resourcemanager-trafficmanager/pom.xml b/sdk/resourcemanager/azure-resourcemanager-trafficmanager/pom.xml index ec9a356e6a7dd..bc7ad3b85ba15 100644 --- a/sdk/resourcemanager/azure-resourcemanager-trafficmanager/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager-trafficmanager/pom.xml @@ -73,7 +73,7 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test diff --git a/sdk/resourcemanager/azure-resourcemanager/pom.xml b/sdk/resourcemanager/azure-resourcemanager/pom.xml index 329a49ac8fac8..9855c336edd01 100644 --- a/sdk/resourcemanager/azure-resourcemanager/pom.xml +++ b/sdk/resourcemanager/azure-resourcemanager/pom.xml @@ -201,13 +201,13 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/resourcemover/azure-resourcemanager-resourcemover/pom.xml b/sdk/resourcemover/azure-resourcemanager-resourcemover/pom.xml index b52c8183d9f5b..fb87fbd5e936a 100644 --- a/sdk/resourcemover/azure-resourcemanager-resourcemover/pom.xml +++ b/sdk/resourcemover/azure-resourcemanager-resourcemover/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/schemaregistry/azure-data-schemaregistry-avro/pom.xml b/sdk/schemaregistry/azure-data-schemaregistry-avro/pom.xml index 12b64ea1948e0..c3d1c0289c7c2 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry-avro/pom.xml +++ b/sdk/schemaregistry/azure-data-schemaregistry-avro/pom.xml @@ -52,14 +52,14 @@ com.azure azure-core-serializer-avro-apache - 1.0.0-beta.14 + 1.0.0-beta.15 io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/schemaregistry/azure-data-schemaregistry/pom.xml b/sdk/schemaregistry/azure-data-schemaregistry/pom.xml index 9c29c5920fc82..59ea884594a66 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry/pom.xml +++ b/sdk/schemaregistry/azure-data-schemaregistry/pom.xml @@ -49,19 +49,19 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -97,7 +97,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClient.java b/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClient.java index 7c2225f859356..300134b8d7ae2 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClient.java +++ b/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClient.java @@ -20,11 +20,7 @@ import java.net.URI; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.util.Map; import java.util.Objects; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentSkipListMap; -import java.util.function.Function; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -53,20 +49,9 @@ public final class SchemaRegistryAsyncClient { private static final Pattern SCHEMA_PATTERN = Pattern.compile("/\\$schemagroups/(?.+)/schemas/(?.+?)/"); private final ClientLogger logger = new ClientLogger(SchemaRegistryAsyncClient.class); private final AzureSchemaRegistry restService; - private final Integer maxSchemaMapSize; - private final ConcurrentSkipListMap> typeParserMap; - private final Map idCache; - private final Map schemaStringCache; - SchemaRegistryAsyncClient( - AzureSchemaRegistry restService, - int maxSchemaMapSize, - ConcurrentSkipListMap> typeParserMap) { + SchemaRegistryAsyncClient(AzureSchemaRegistry restService) { this.restService = restService; - this.maxSchemaMapSize = maxSchemaMapSize; - this.typeParserMap = typeParserMap; - this.idCache = new ConcurrentHashMap<>(); - this.schemaStringCache = new ConcurrentHashMap<>(); } /** @@ -119,11 +104,6 @@ Mono> registerSchemaWithResponse(String groupName, St name, content.getBytes(SCHEMA_REGISTRY_SERVICE_ENCODING)); - schemaStringCache.putIfAbsent(getSchemaStringCacheKey(groupName, name, content), - registered); - idCache.putIfAbsent(schemaId.getId(), registered); - - logger.verbose("Cached schema string. Group: '{}', name: '{}'", groupName, name); SimpleResponse schemaRegistryObjectSimpleResponse = new SimpleResponse<>( response.getRequest(), response.getStatusCode(), response.getHeaders(), registered); @@ -140,10 +120,6 @@ Mono> registerSchemaWithResponse(String groupName, St */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono getSchema(String id) { - if (idCache.containsKey(id)) { - logger.verbose("Cache hit for schema id '{}'", id); - return Mono.fromCallable(() -> idCache.get(id)); - } return getSchemaWithResponse(id).map(Response::getValue); } @@ -154,7 +130,8 @@ public Mono getSchema(String id) { * * @return The {@link SchemaProperties} associated with the given {@code id} along with the HTTP response. */ - Mono> getSchemaWithResponse(String id) { + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSchemaWithResponse(String id) { return FluxUtil.withContext(context -> getSchemaWithResponse(id, context)); } @@ -174,21 +151,12 @@ Mono> getSchemaWithResponse(String id, Context contex return; } - final String schemaGroup = matcher.group("schemaGroup"); final String schemaName = matcher.group("schemaName"); final SchemaProperties schemaObject = new SchemaProperties(id, serializationType, schemaName, response.getValue()); - final String schemaCacheKey = getSchemaStringCacheKey(schemaGroup, schemaName, - new String(response.getValue(), SCHEMA_REGISTRY_SERVICE_ENCODING)); - - schemaStringCache.putIfAbsent(schemaCacheKey, schemaObject); - idCache.putIfAbsent(id, schemaObject); - - logger.verbose("Cached schema object. Path: '{}'", id); - - SimpleResponse schemaResponse = new SimpleResponse<>( + final SimpleResponse schemaResponse = new SimpleResponse<>( response.getRequest(), response.getStatusCode(), response.getHeaders(), schemaObject); @@ -210,16 +178,6 @@ Mono> getSchemaWithResponse(String id, Context contex @ServiceMethod(returns = ReturnType.SINGLE) public Mono getSchemaId(String groupName, String name, String content, SerializationType serializationType) { - - String schemaStringCacheKey = getSchemaStringCacheKey(groupName, name, content); - - if (schemaStringCache.containsKey(schemaStringCacheKey)) { - return Mono.fromCallable(() -> { - logger.verbose("Cache hit schema string. Group: '{}', name: '{}'", groupName, name); - return schemaStringCache.get(schemaStringCacheKey).getSchemaId(); - }); - } - return getSchemaIdWithResponse(groupName, name, content, serializationType) .map(response -> response.getValue()); } @@ -234,7 +192,8 @@ public Mono getSchemaId(String groupName, String name, String content, * * @return The unique identifier for this schema. */ - Mono> getSchemaIdWithResponse(String groupName, String name, String content, + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSchemaIdWithResponse(String groupName, String name, String content, SerializationType serializationType) { return FluxUtil.withContext(context -> @@ -256,27 +215,32 @@ Mono> getSchemaIdWithResponse(String groupName, String name, St SerializationType serializationType, Context context) { return this.restService.getSchemas() - .queryIdByContentWithResponseAsync(groupName, name, - com.azure.data.schemaregistry.implementation.models.SerializationType.AVRO, content) + .queryIdByContentWithResponseAsync(groupName, name, getSerialization(serializationType), content) .handle((response, sink) -> { SchemaId schemaId = response.getValue(); - SchemaProperties properties = new SchemaProperties(schemaId.getId(), serializationType, name, - content.getBytes(SCHEMA_REGISTRY_SERVICE_ENCODING)); - - schemaStringCache.putIfAbsent( - getSchemaStringCacheKey(groupName, name, content), properties); - idCache.putIfAbsent(schemaId.getId(), properties); - - logger.verbose("Cached schema string. Group: '{}', name: '{}'", groupName, name); - SimpleResponse schemaIdResponse = new SimpleResponse<>( response.getRequest(), response.getStatusCode(), response.getHeaders(), schemaId.getId()); + sink.next(schemaIdResponse); }); } - private static String getSchemaStringCacheKey(String groupName, String name, String content) { - return groupName + name + content; + /** + * Gets the matching implementation class serialization type. + * + * @param serializationType Model serialization type. + * + * @return Implementation serialization type. + * + * @throws UnsupportedOperationException if the serialization type is not supported. + */ + private static com.azure.data.schemaregistry.implementation.models.SerializationType getSerialization( + SerializationType serializationType) { + if (serializationType == SerializationType.AVRO) { + return com.azure.data.schemaregistry.implementation.models.SerializationType.AVRO; + } else { + throw new UnsupportedOperationException("Serialization type is not supported: " + serializationType); + } } } diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryClientBuilder.java b/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryClientBuilder.java index 24bd02e72cbaf..897e400eb8d91 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryClientBuilder.java +++ b/sdk/schemaregistry/azure-data-schemaregistry/src/main/java/com/azure/data/schemaregistry/SchemaRegistryClientBuilder.java @@ -37,8 +37,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.concurrent.ConcurrentSkipListMap; -import java.util.function.Function; /** * Fluent builder for interacting with the Schema Registry service via {@link SchemaRegistryAsyncClient} and @@ -54,11 +52,8 @@ *

Instantiating with custom retry policy and HTTP log options

* {@codesnippet com.azure.data.schemaregistry.schemaregistryasyncclient.retrypolicy.instantiation} */ -@ServiceClientBuilder(serviceClients = SchemaRegistryAsyncClient.class) +@ServiceClientBuilder(serviceClients = {SchemaRegistryAsyncClient.class, SchemaRegistryClient.class}) public class SchemaRegistryClientBuilder { - static final int MAX_SCHEMA_MAP_SIZE_DEFAULT = 1000; - static final int MAX_SCHEMA_MAP_SIZE_MINIMUM = 10; - private final ClientLogger logger = new ClientLogger(SchemaRegistryClientBuilder.class); private static final String DEFAULT_SCOPE = "https://eventhubs.azure.net/.default"; @@ -69,8 +64,6 @@ public class SchemaRegistryClientBuilder { private static final AddHeadersPolicy API_HEADER_POLICY = new AddHeadersPolicy(new HttpHeaders() .set("api-version", "2020-09-01-preview")); - private final ConcurrentSkipListMap> typeParserMap; - private final List perCallPolicies = new ArrayList<>(); private final List perRetryPolicies = new ArrayList<>(); @@ -80,7 +73,6 @@ public class SchemaRegistryClientBuilder { private String endpoint; private String host; private HttpClient httpClient; - private Integer maxSchemaMapSize; private TokenCredential credential; private ClientOptions clientOptions; private HttpLogOptions httpLogOptions; @@ -93,8 +85,6 @@ public class SchemaRegistryClientBuilder { */ public SchemaRegistryClientBuilder() { this.httpLogOptions = new HttpLogOptions(); - this.maxSchemaMapSize = null; - this.typeParserMap = new ConcurrentSkipListMap<>(String.CASE_INSENSITIVE_ORDER); this.httpClient = null; this.credential = null; this.retryPolicy = new RetryPolicy("retry-after-ms", ChronoUnit.MILLIS); @@ -132,24 +122,6 @@ public SchemaRegistryClientBuilder endpoint(String endpoint) { return this; } - /** - * Sets schema cache size limit. If limit is exceeded on any cache, all caches are recycled. - * - * @param maxCacheSize max size for internal schema caches in {@link SchemaRegistryAsyncClient} - * @return The updated {@link SchemaRegistryClientBuilder} object. - * @throws IllegalArgumentException on invalid maxCacheSize value - */ - SchemaRegistryClientBuilder maxCacheSize(int maxCacheSize) { - if (maxCacheSize < MAX_SCHEMA_MAP_SIZE_MINIMUM) { - throw logger.logExceptionAsError(new IllegalArgumentException( - String.format("Schema map size must be greater than %s entries", - MAX_SCHEMA_MAP_SIZE_MINIMUM))); - } - - this.maxSchemaMapSize = maxCacheSize; - return this; - } - /** * Sets the HTTP client to use for sending and receiving requests to and from the service. * @@ -333,11 +305,7 @@ public SchemaRegistryAsyncClient buildAsyncClient() { .pipeline(buildPipeline) .buildClient(); - int buildMaxSchemaMapSize = (maxSchemaMapSize == null) - ? MAX_SCHEMA_MAP_SIZE_DEFAULT - : maxSchemaMapSize; - - return new SchemaRegistryAsyncClient(restService, buildMaxSchemaMapSize, typeParserMap); + return new SchemaRegistryAsyncClient(restService); } /** diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClientTests.java b/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClientTests.java index ddb6023996cdc..09b96bf395a3d 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClientTests.java +++ b/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryAsyncClientTests.java @@ -222,35 +222,6 @@ public void registerBadRequest() { }).verify(); } - /** - * Verifies that we can register a schema and then get it by its schemaId. - */ - @Test - public void registerAndGetCachedSchema() { - // Arrange - final String schemaName = testResourceNamer.randomName("sch", RESOURCE_LENGTH); - final SchemaRegistryAsyncClient client1 = builder.buildAsyncClient(); - - final AtomicReference schemaId = new AtomicReference<>(); - - // Act & Assert - StepVerifier.create(client1.registerSchema(schemaGroup, schemaName, SCHEMA_CONTENT, SerializationType.AVRO)) - .assertNext(response -> { - assertSchemaProperties(response, null, schemaName, SCHEMA_CONTENT); - schemaId.set(response.getSchemaId()); - }).verifyComplete(); - - // Assert that we can get a schema based on its id. We registered a schema with client1 and its response is - // cached, so it won't make a network call when getting the schema. client2 will not have this information. - final String schemaIdToGet = schemaId.get(); - assertNotNull(schemaIdToGet); - - // Act & Assert - StepVerifier.create(client1.getSchema(schemaIdToGet)) - .assertNext(schema -> assertSchemaProperties(schema, schemaIdToGet, schemaName, SCHEMA_CONTENT)) - .verifyComplete(); - } - /** * Verifies that we get 404 when non-existent schema returned. */ diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryClientTests.java b/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryClientTests.java index 13f34288aa7f5..b72a023662ff4 100644 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryClientTests.java +++ b/sdk/schemaregistry/azure-data-schemaregistry/src/test/java/com/azure/data/schemaregistry/SchemaRegistryClientTests.java @@ -184,29 +184,6 @@ public void registerBadRequest() { assertEquals(400, exception.getResponse().getStatusCode()); } - /** - * Verifies that we can register a schema and then get it by its schemaId. - */ - @Test - public void registerAndGetCachedSchema() { - // Arrange - final String schemaName = testResourceNamer.randomName("sch", RESOURCE_LENGTH); - final SchemaRegistryClient client1 = builder.buildClient(); - - // Act & Assert - final SchemaProperties response = client1.registerSchema(schemaGroup, schemaName, SCHEMA_CONTENT, - SerializationType.AVRO); - assertSchemaProperties(response, null, schemaName, SCHEMA_CONTENT); - - // Assert that we can get a schema based on its id. We registered a schema with client1 and its response is - // cached, so it won't make a network call when getting the schema. - final String schemaIdToGet = response.getSchemaId(); - - // Act & Assert - final SchemaProperties response2 = client1.getSchema(schemaIdToGet); - assertSchemaProperties(response2, schemaIdToGet, schemaName, SCHEMA_CONTENT); - } - /** * Verifies that we get 404 when non-existent schema returned. */ diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryAsyncClientTests.registerAndGetCachedSchema.json b/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryAsyncClientTests.registerAndGetCachedSchema.json deleted file mode 100644 index 50e02ef10e85d..0000000000000 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryAsyncClientTests.registerAndGetCachedSchema.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "PUT", - "Uri" : "https://REDACTED.servicebus.windows.net/$schemagroups/at/schemas/sch14841d17a?api-version=2020-09-01-preview", - "Headers" : { - "User-Agent" : "azsdk-java-UnknownName/UnknownVersion (11.0.5; Windows 10; 10.0)", - "x-ms-client-request-id" : "999c8cd6-6bf8-42ab-aee1-eb8a85df2cb4", - "Content-Type" : "text/plain; charset=utf-8" - }, - "Response" : { - "Transfer-Encoding" : "chunked", - "Schema-Version" : "1", - "Server" : "Microsoft-HTTPAPI/2.0", - "retry-after" : "0", - "Schema-Id-Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/getschemabyid/8926cf463a534f02850c137cce582bd1?api-version=2020-09-01-preview", - "StatusCode" : "200", - "Date" : "Sun, 15 Aug 2021 17:51:05 GMT", - "Strict-Transport-Security" : "max-age=31536000", - "Schema-Id" : "8926cf463a534f02850c137cce582bd1", - "Serialization-Type" : "Avro", - "Body" : "{\"id\":\"8926cf463a534f02850c137cce582bd1\"}", - "Content-Type" : "application/json", - "Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/at/schemas/sch14841d17a/versions/1?api-version=2020-09-01-preview", - "Schema-Versions-Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/at/schemas/sch14841d17a/versions?api-version=2020-09-01-preview" - }, - "Exception" : null - } ], - "variables" : [ "sch14841d17a" ] -} \ No newline at end of file diff --git a/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryClientTests.registerAndGetCachedSchema.json b/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryClientTests.registerAndGetCachedSchema.json deleted file mode 100644 index 34e66a433d37b..0000000000000 --- a/sdk/schemaregistry/azure-data-schemaregistry/src/test/resources/session-records/SchemaRegistryClientTests.registerAndGetCachedSchema.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "networkCallRecords" : [ { - "Method" : "PUT", - "Uri" : "https://REDACTED.servicebus.windows.net/$schemagroups/at/schemas/sch39674576f?api-version=2020-09-01-preview", - "Headers" : { - "User-Agent" : "azsdk-java-UnknownName/UnknownVersion (11.0.5; Windows 10; 10.0)", - "x-ms-client-request-id" : "fddc65c9-4cf0-48d7-b0c6-3f31e466f127", - "Content-Type" : "text/plain; charset=utf-8" - }, - "Response" : { - "Transfer-Encoding" : "chunked", - "Schema-Version" : "1", - "Server" : "Microsoft-HTTPAPI/2.0", - "retry-after" : "0", - "Schema-Id-Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/getschemabyid/1c1a73dd90854295887aa61839cf842a?api-version=2020-09-01-preview", - "StatusCode" : "200", - "Date" : "Sun, 15 Aug 2021 17:50:27 GMT", - "Strict-Transport-Security" : "max-age=31536000", - "Schema-Id" : "1c1a73dd90854295887aa61839cf842a", - "Serialization-Type" : "Avro", - "Body" : "{\"id\":\"1c1a73dd90854295887aa61839cf842a\"}", - "Content-Type" : "application/json", - "Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/at/schemas/sch39674576f/versions/1?api-version=2020-09-01-preview", - "Schema-Versions-Location" : "https://conniey.servicebus.windows.net:443/$schemagroups/at/schemas/sch39674576f/versions?api-version=2020-09-01-preview" - }, - "Exception" : null - } ], - "variables" : [ "sch39674576f" ] -} \ No newline at end of file diff --git a/sdk/search/azure-search-documents/pom.xml b/sdk/search/azure-search-documents/pom.xml index 7e6118ba1cf38..6b0458105b529 100644 --- a/sdk/search/azure-search-documents/pom.xml +++ b/sdk/search/azure-search-documents/pom.xml @@ -46,17 +46,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 + 1.7.2 test
@@ -103,7 +103,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/security/azure-resourcemanager-security/pom.xml b/sdk/security/azure-resourcemanager-security/pom.xml index cd42a0a3f6079..c1e19f90405b8 100644 --- a/sdk/security/azure-resourcemanager-security/pom.xml +++ b/sdk/security/azure-resourcemanager-security/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/servicebus/azure-messaging-servicebus/pom.xml b/sdk/servicebus/azure-messaging-servicebus/pom.xml index b5814e61cfeb3..939d41d6fa0e8 100644 --- a/sdk/servicebus/azure-messaging-servicebus/pom.xml +++ b/sdk/servicebus/azure-messaging-servicebus/pom.xml @@ -48,7 +48,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure @@ -58,20 +58,20 @@ com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -101,7 +101,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/servicefabric/azure-resourcemanager-servicefabric/pom.xml b/sdk/servicefabric/azure-resourcemanager-servicefabric/pom.xml index 957904a2f3e7a..ed99331137726 100644 --- a/sdk/servicefabric/azure-resourcemanager-servicefabric/pom.xml +++ b/sdk/servicefabric/azure-resourcemanager-servicefabric/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/signalr/azure-resourcemanager-signalr/pom.xml b/sdk/signalr/azure-resourcemanager-signalr/pom.xml index b7e5d4b3b7aad..132172d9a8c7f 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/pom.xml +++ b/sdk/signalr/azure-resourcemanager-signalr/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/spring/azure-spring-boot-starter-active-directory-b2c/pom.xml b/sdk/spring/azure-spring-boot-starter-active-directory-b2c/pom.xml index 067b5fbb31666..9905b1c1536c1 100644 --- a/sdk/spring/azure-spring-boot-starter-active-directory-b2c/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-active-directory-b2c/pom.xml @@ -132,7 +132,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter-active-directory/pom.xml b/sdk/spring/azure-spring-boot-starter-active-directory/pom.xml index 166fa93235620..4446e49273b7d 100644 --- a/sdk/spring/azure-spring-boot-starter-active-directory/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-active-directory/pom.xml @@ -73,12 +73,12 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 io.projectreactor.netty reactor-netty - 1.0.10 + 1.0.11 @@ -92,10 +92,10 @@ - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] com.microsoft.azure:msal4j:[1.11.0] com.nimbusds:nimbus-jose-jwt:[9.10.1] - io.projectreactor.netty:reactor-netty:[1.0.10] + io.projectreactor.netty:reactor-netty:[1.0.11] org.springframework.boot:spring-boot-starter-validation:[2.5.4] org.springframework.boot:spring-boot-starter-webflux:[2.5.4] org.springframework.boot:spring-boot-starter:[2.5.4] @@ -120,7 +120,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter-cosmos/pom.xml b/sdk/spring/azure-spring-boot-starter-cosmos/pom.xml index 54cc79ba9ded0..3b68aa4853336 100644 --- a/sdk/spring/azure-spring-boot-starter-cosmos/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-cosmos/pom.xml @@ -71,7 +71,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/CHANGELOG.md b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/CHANGELOG.md index b6868f85ca826..a312beb8dd3e6 100644 --- a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/CHANGELOG.md +++ b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/CHANGELOG.md @@ -5,6 +5,7 @@ ### Features Added ### Breaking Changes +Rename `azure.keyvault.jca.certificates-refresh-interval` to `azure.keyvault.jca.certificates-refresh-interval-in-ms`. ### Bugs Fixed diff --git a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/README.md b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/README.md index 89f6d71eb5364..bdc23ec2a8d65 100644 --- a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/README.md +++ b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/README.md @@ -316,7 +316,7 @@ KeyVaultKeyStore can fetch certificates from KeyVault periodically if the follow azure: keyvault: jca: - certificates-refresh-interval: 1800000 + certificates-refresh-interval-in-ms: 1800000 ``` Its value is 0(ms) by default, and certificate will not automatically refresh when its value <= 0. diff --git a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/src/main/java/com/azure/spring/security/keyvault/certificates/starter/KeyVaultCertificatesEnvironmentPostProcessor.java b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/src/main/java/com/azure/spring/security/keyvault/certificates/starter/KeyVaultCertificatesEnvironmentPostProcessor.java index 9a88aa450f66e..a9e084112a1bb 100644 --- a/sdk/spring/azure-spring-boot-starter-keyvault-certificates/src/main/java/com/azure/spring/security/keyvault/certificates/starter/KeyVaultCertificatesEnvironmentPostProcessor.java +++ b/sdk/spring/azure-spring-boot-starter-keyvault-certificates/src/main/java/com/azure/spring/security/keyvault/certificates/starter/KeyVaultCertificatesEnvironmentPostProcessor.java @@ -33,6 +33,7 @@ public void postProcessEnvironment(ConfigurableEnvironment environment, SpringAp putEnvironmentPropertyToSystemProperty(environment, "azure.keyvault.client-secret"); putEnvironmentPropertyToSystemProperty(environment, "azure.keyvault.managed-identity"); putEnvironmentPropertyToSystemProperty(environment, "azure.keyvault.jca.certificates-refresh-interval"); + putEnvironmentPropertyToSystemProperty(environment, "azure.keyvault.jca.certificates-refresh-interval-in-ms"); putEnvironmentPropertyToSystemProperty(environment, "azure.keyvault.jca.refresh-certificates-when-have-un-trust-certificate"); putEnvironmentPropertyToSystemProperty(environment, "azure.cert-path.well-known"); putEnvironmentPropertyToSystemProperty(environment, "azure.cert-path.custom"); diff --git a/sdk/spring/azure-spring-boot-starter-keyvault-secrets/pom.xml b/sdk/spring/azure-spring-boot-starter-keyvault-secrets/pom.xml index 7352963067aae..b06e65e711304 100644 --- a/sdk/spring/azure-spring-boot-starter-keyvault-secrets/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-keyvault-secrets/pom.xml @@ -75,7 +75,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter-servicebus-jms/pom.xml b/sdk/spring/azure-spring-boot-starter-servicebus-jms/pom.xml index 44f9a22adf343..f4ccbb5fe9173 100644 --- a/sdk/spring/azure-spring-boot-starter-servicebus-jms/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-servicebus-jms/pom.xml @@ -50,37 +50,37 @@ io.netty netty-buffer - 4.1.67.Final + 4.1.68.Final io.netty netty-common - 4.1.67.Final + 4.1.68.Final io.netty netty-handler - 4.1.67.Final + 4.1.68.Final io.netty netty-transport - 4.1.67.Final + 4.1.68.Final io.netty netty-transport-native-epoll - 4.1.67.Final + 4.1.68.Final io.netty netty-transport-native-kqueue - 4.1.67.Final + 4.1.68.Final io.netty netty-codec-http - 4.1.67.Final + 4.1.68.Final @@ -96,13 +96,13 @@ com.microsoft.azure:azure-servicebus-jms:[0.0.7] org.apache.qpid:qpid-jms-client:[0.53.0] - io.netty:netty-buffer:[4.1.67.Final] - io.netty:netty-common:[4.1.67.Final] - io.netty:netty-handler:[4.1.67.Final] - io.netty:netty-transport:[4.1.67.Final] - io.netty:netty-transport-native-epoll:[4.1.67.Final] - io.netty:netty-transport-native-kqueue:[4.1.67.Final] - io.netty:netty-codec-http:[4.1.67.Final] + io.netty:netty-buffer:[4.1.68.Final] + io.netty:netty-common:[4.1.68.Final] + io.netty:netty-handler:[4.1.68.Final] + io.netty:netty-transport:[4.1.68.Final] + io.netty:netty-transport-native-epoll:[4.1.68.Final] + io.netty:netty-transport-native-kqueue:[4.1.68.Final] + io.netty:netty-codec-http:[4.1.68.Final] org.springframework:spring-jms:[5.3.9] org.springframework.boot:spring-boot-starter-validation:[2.5.4] @@ -122,7 +122,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter-storage/pom.xml b/sdk/spring/azure-spring-boot-starter-storage/pom.xml index d987f7f9840e4..2cf6db80f3ed3 100644 --- a/sdk/spring/azure-spring-boot-starter-storage/pom.xml +++ b/sdk/spring/azure-spring-boot-starter-storage/pom.xml @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-starter/pom.xml b/sdk/spring/azure-spring-boot-starter/pom.xml index d1ff84828fe5a..4d27fdfed4889 100644 --- a/sdk/spring/azure-spring-boot-starter/pom.xml +++ b/sdk/spring/azure-spring-boot-starter/pom.xml @@ -66,7 +66,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-boot-test-parent/pom.xml b/sdk/spring/azure-spring-boot-test-parent/pom.xml index e653dcfa8b8ae..1c77fdc4ccea0 100644 --- a/sdk/spring/azure-spring-boot-test-parent/pom.xml +++ b/sdk/spring/azure-spring-boot-test-parent/pom.xml @@ -33,7 +33,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 diff --git a/sdk/spring/azure-spring-boot/pom.xml b/sdk/spring/azure-spring-boot/pom.xml index 27238303d203a..debf95d4bbb4f 100644 --- a/sdk/spring/azure-spring-boot/pom.xml +++ b/sdk/spring/azure-spring-boot/pom.xml @@ -201,7 +201,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 com.github.spotbugs:spotbugs-annotations:[4.2.2] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] com.microsoft.azure:msal4j:[1.11.0] com.nimbusds:nimbus-jose-jwt:[9.10.1] javax.servlet:javax.servlet-api:[4.0.1] diff --git a/sdk/spring/azure-spring-cloud-autoconfigure/pom.xml b/sdk/spring/azure-spring-cloud-autoconfigure/pom.xml index 1eee791880320..8a1c059104c2c 100644 --- a/sdk/spring/azure-spring-cloud-autoconfigure/pom.xml +++ b/sdk/spring/azure-spring-cloud-autoconfigure/pom.xml @@ -137,7 +137,7 @@ com.fasterxml.jackson.core jackson-core - 2.12.4 + 2.12.5 @@ -175,7 +175,7 @@ - com.fasterxml.jackson.core:jackson-core:[2.12.4] + com.fasterxml.jackson.core:jackson-core:[2.12.5] com.microsoft.sqlserver:mssql-jdbc:[9.2.1.jre8] mysql:mysql-connector-java:[8.0.26] org.hibernate.validator:hibernate-validator:[6.2.0.Final] diff --git a/sdk/spring/azure-spring-cloud-starter-cache/pom.xml b/sdk/spring/azure-spring-cloud-starter-cache/pom.xml index a0a48da6bbce2..3bcfa40e2fb4d 100644 --- a/sdk/spring/azure-spring-cloud-starter-cache/pom.xml +++ b/sdk/spring/azure-spring-cloud-starter-cache/pom.xml @@ -67,7 +67,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-cloud-starter-eventhubs-kafka/pom.xml b/sdk/spring/azure-spring-cloud-starter-eventhubs-kafka/pom.xml index 2c4d531dc93ec..4e63fc3eaf304 100644 --- a/sdk/spring/azure-spring-cloud-starter-eventhubs-kafka/pom.xml +++ b/sdk/spring/azure-spring-cloud-starter-eventhubs-kafka/pom.xml @@ -61,7 +61,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-cloud-starter-eventhubs/pom.xml b/sdk/spring/azure-spring-cloud-starter-eventhubs/pom.xml index 6074f1ee1f643..807ab154bd117 100644 --- a/sdk/spring/azure-spring-cloud-starter-eventhubs/pom.xml +++ b/sdk/spring/azure-spring-cloud-starter-eventhubs/pom.xml @@ -46,7 +46,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-cloud-starter-servicebus/pom.xml b/sdk/spring/azure-spring-cloud-starter-servicebus/pom.xml index 1af487b3782e3..64b404b42efa8 100644 --- a/sdk/spring/azure-spring-cloud-starter-servicebus/pom.xml +++ b/sdk/spring/azure-spring-cloud-starter-servicebus/pom.xml @@ -46,7 +46,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-cloud-starter-storage-queue/pom.xml b/sdk/spring/azure-spring-cloud-starter-storage-queue/pom.xml index b2f869847e5fa..5f3bde2039c09 100644 --- a/sdk/spring/azure-spring-cloud-starter-storage-queue/pom.xml +++ b/sdk/spring/azure-spring-cloud-starter-storage-queue/pom.xml @@ -50,7 +50,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs diff --git a/sdk/spring/azure-spring-cloud-stream-binder-test/pom.xml b/sdk/spring/azure-spring-cloud-stream-binder-test/pom.xml index 74ea15c8d0b1e..7b8afe6a5aefa 100644 --- a/sdk/spring/azure-spring-cloud-stream-binder-test/pom.xml +++ b/sdk/spring/azure-spring-cloud-stream-binder-test/pom.xml @@ -72,7 +72,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 @@ -86,7 +86,7 @@ - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] org.hibernate.validator:hibernate-validator:[6.2.0.Final] org.junit.vintage:junit-vintage-engine:[5.7.2] org.mockito:mockito-core:[3.12.4] diff --git a/sdk/spring/azure-spring-cloud-test-eventhubs/pom.xml b/sdk/spring/azure-spring-cloud-test-eventhubs/pom.xml index 788d09f86246c..ab3afabd57318 100644 --- a/sdk/spring/azure-spring-cloud-test-eventhubs/pom.xml +++ b/sdk/spring/azure-spring-cloud-test-eventhubs/pom.xml @@ -45,7 +45,7 @@ com.google.code.gson gson - 2.8.7 + 2.8.8 com.azure.spring @@ -64,7 +64,7 @@ - com.google.code.gson:gson:[2.8.7] + com.google.code.gson:gson:[2.8.8] diff --git a/sdk/spring/azure-spring-cloud-test-parent/pom.xml b/sdk/spring/azure-spring-cloud-test-parent/pom.xml index 748affebd2965..c3abf9ba334b5 100644 --- a/sdk/spring/azure-spring-cloud-test-parent/pom.xml +++ b/sdk/spring/azure-spring-cloud-test-parent/pom.xml @@ -33,7 +33,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 diff --git a/sdk/spring/azure-spring-integration-servicebus/pom.xml b/sdk/spring/azure-spring-integration-servicebus/pom.xml index af0af1290d246..21f52efe0e35e 100644 --- a/sdk/spring/azure-spring-integration-servicebus/pom.xml +++ b/sdk/spring/azure-spring-integration-servicebus/pom.xml @@ -33,6 +33,11 @@ azure-messaging-servicebus 7.4.1 + + com.azure + azure-core + 1.21.0 + com.azure.spring azure-spring-integration-test @@ -51,7 +56,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/spring/azure-spring-integration-test/pom.xml b/sdk/spring/azure-spring-integration-test/pom.xml index 57242b2e345fb..9997cc8714fe8 100644 --- a/sdk/spring/azure-spring-integration-test/pom.xml +++ b/sdk/spring/azure-spring-integration-test/pom.xml @@ -46,7 +46,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 org.springframework.boot @@ -70,7 +70,7 @@ - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] org.hibernate.validator:hibernate-validator:[6.2.0.Final] org.junit.vintage:junit-vintage-engine:[5.7.2] org.mockito:mockito-core:[3.12.4] diff --git a/sdk/sqlvirtualmachine/azure-resourcemanager-sqlvirtualmachine/pom.xml b/sdk/sqlvirtualmachine/azure-resourcemanager-sqlvirtualmachine/pom.xml index 67e10ba010c32..5b3b104374042 100644 --- a/sdk/sqlvirtualmachine/azure-resourcemanager-sqlvirtualmachine/pom.xml +++ b/sdk/sqlvirtualmachine/azure-resourcemanager-sqlvirtualmachine/pom.xml @@ -44,7 +44,7 @@ com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/storage/azure-storage-blob-batch/README.md b/sdk/storage/azure-storage-blob-batch/README.md index a3d843afb353b..7974d8c3cc2fb 100644 --- a/sdk/storage/azure-storage-blob-batch/README.md +++ b/sdk/storage/azure-storage-blob-batch/README.md @@ -17,6 +17,39 @@ definition, such as text or binary data. ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-blob-batch + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + [//]: # ({x-version-update-start;com.azure:azure-storage-blob-batch;current}) ```xml diff --git a/sdk/storage/azure-storage-blob-batch/pom.xml b/sdk/storage/azure-storage-blob-batch/pom.xml index df3a2da3af2f8..d43dae5322965 100644 --- a/sdk/storage/azure-storage-blob-batch/pom.xml +++ b/sdk/storage/azure-storage-blob-batch/pom.xml @@ -69,12 +69,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -103,7 +103,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -115,7 +115,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -124,12 +124,6 @@ 1.6.5 test - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 - test - cglib cglib-nodep @@ -157,7 +151,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -170,40 +164,118 @@ ${basedir}/src/test/resources - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - + + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + - groovy-eclipse-compiler - - -warn:-unused - + + + ${project.basedir}/src/test + + **/*.groovy + + + - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - +
+ + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + +
+ + diff --git a/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/APISpec.groovy b/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/APISpec.groovy index cd129f260d050..fee41db07b06a 100644 --- a/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/APISpec.groovy +++ b/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/APISpec.groovy @@ -31,23 +31,23 @@ class APISpec extends StorageSpec { BlobServiceClient versionedBlobServiceClient def setup() { - primaryBlobServiceClient = getServiceClient(env.primaryAccount) - primaryBlobServiceAsyncClient = getServiceAsyncClient(env.primaryAccount) - versionedBlobServiceClient = getServiceClient(env.versionedAccount) + primaryBlobServiceClient = getServiceClient(environment.primaryAccount) + primaryBlobServiceAsyncClient = getServiceAsyncClient(environment.primaryAccount) + versionedBlobServiceClient = getServiceClient(environment.versionedAccount) } def getOAuthServiceClient() { BlobServiceClientBuilder builder = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) + .endpoint(environment.primaryAccount.blobEndpoint) instrument(builder) - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { // AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET return builder.credential(new EnvironmentCredentialBuilder().build()).buildClient() } else { // Running in playback, we don't have access to the AAD environment variables, just use SharedKeyCredential. - return builder.credential(env.primaryAccount.credential).buildClient() + return builder.credential(environment.primaryAccount.credential).buildClient() } } diff --git a/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/BatchAPITest.groovy b/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/BatchAPITest.groovy index 8e23af21acc56..f0038415dd662 100644 --- a/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/BatchAPITest.groovy +++ b/sdk/storage/azure-storage-blob-batch/src/test/java/com/azure/storage/blob/batch/BatchAPITest.groovy @@ -245,7 +245,7 @@ class BatchAPITest extends APISpec { thrown(BlobBatchStorageException) // In PLAYBACK check responses in an order invariant fashion. - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { assert (assertExpectedOrException(response1, 200) + assertExpectedOrException(response2, 200)) == 1 } else { assert response1.getStatusCode() == 200 @@ -280,7 +280,7 @@ class BatchAPITest extends APISpec { .verify(Duration.ofSeconds(30)) // In PLAYBACK check responses in an order invariant fashion. - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { assert (assertExpectedOrException(response1, 200) + assertExpectedOrException(response2, 200)) == 1 } else { assert response1.getStatusCode() == 200 @@ -313,7 +313,7 @@ class BatchAPITest extends APISpec { notThrown(BlobBatchStorageException) // In PLAYBACK check responses in an order invariant fashion. - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { assert (assertExpectedOrException(response1, 200) + assertExpectedOrException(response2, 200)) == 1 } else { assert response1.getStatusCode() == 200 @@ -435,7 +435,7 @@ class BatchAPITest extends APISpec { thrown(BlobBatchStorageException) // In PLAYBACK check responses in an order invariant fashion. - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { assert (assertExpectedOrException(response1, 202) + assertExpectedOrException(response2, 202)) == 1 } else { assert response1.getStatusCode() == 202 @@ -468,7 +468,7 @@ class BatchAPITest extends APISpec { notThrown(BlobStorageException) // In PLAYBACK check responses in an order invariant fashion. - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { assert (assertExpectedOrException(response1, 202) + assertExpectedOrException(response2, 202)) == 1 } else { assert response1.getStatusCode() == 202 diff --git a/sdk/storage/azure-storage-blob-changefeed/pom.xml b/sdk/storage/azure-storage-blob-changefeed/pom.xml index 36600950be84a..ef3946fe537cf 100644 --- a/sdk/storage/azure-storage-blob-changefeed/pom.xml +++ b/sdk/storage/azure-storage-blob-changefeed/pom.xml @@ -75,12 +75,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -109,7 +109,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -121,7 +121,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -130,12 +130,6 @@ 1.6.5 test - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 - test - cglib cglib-nodep @@ -169,7 +163,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -182,40 +176,118 @@ ${basedir}/src/test/resources - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - +
+ + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + - groovy-eclipse-compiler - - -warn:-unused - + + + ${project.basedir}/src/test + + **/*.groovy + + + - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + +
+ + diff --git a/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/APISpec.groovy b/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/APISpec.groovy index fb17e4242a963..7a8e0164665d8 100644 --- a/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/APISpec.groovy +++ b/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/APISpec.groovy @@ -41,18 +41,18 @@ class APISpec extends StorageSpec { } def setup() { - primaryBlobServiceClient = getServiceClient(env.primaryAccount) - primaryBlobServiceAsyncClient = getServiceAsyncClient(env.primaryAccount) + primaryBlobServiceClient = getServiceClient(environment.primaryAccount) + primaryBlobServiceAsyncClient = getServiceAsyncClient(environment.primaryAccount) containerName = generateContainerName() } def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupClient = new BlobServiceClientBuilder() .httpClient(getHttpClient()) - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .buildClient() def options = new ListBlobContainersOptions().setPrefix(namer.getResourcePrefix()) for (BlobContainerItem container : cleanupClient.listBlobContainers(options, Duration.ofSeconds(120))) { diff --git a/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/ChangefeedNetworkTest.groovy b/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/ChangefeedNetworkTest.groovy index faa4e10591822..6b9fa78632986 100644 --- a/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/ChangefeedNetworkTest.groovy +++ b/sdk/storage/azure-storage-blob-changefeed/src/test/java/com/azure/storage/blob/changefeed/ChangefeedNetworkTest.groovy @@ -7,7 +7,6 @@ import com.azure.storage.blob.changefeed.models.BlobChangefeedEvent import com.azure.storage.common.test.shared.extensions.PlaybackOnly import spock.lang.Ignore import reactor.test.StepVerifier -import spock.lang.Requires import java.time.OffsetDateTime import java.time.ZoneOffset @@ -92,7 +91,7 @@ class ChangefeedNetworkTest extends APISpec { /* Update and uncomment after recording. */ OffsetDateTime startTime = OffsetDateTime.of(2020, 8, 11, 23, 3, 10, 987532200, ZoneOffset.UTC) - Long pollInterval = env.testMode == TestMode.PLAYBACK ? 0 : 1000 * 60 * 3 + Long pollInterval = environment.testMode == TestMode.PLAYBACK ? 0 : 1000 * 60 * 3 Set eventIds1 = new HashSet<>() Set eventIds2 = new HashSet<>() diff --git a/sdk/storage/azure-storage-blob-cryptography/README.md b/sdk/storage/azure-storage-blob-cryptography/README.md index e08047b7215bc..d827eca052728 100644 --- a/sdk/storage/azure-storage-blob-cryptography/README.md +++ b/sdk/storage/azure-storage-blob-cryptography/README.md @@ -18,6 +18,40 @@ This package supports client side encryption for blob storage. ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-blob-cryptography + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + + [//]: # ({x-version-update-start;com.azure:azure-storage-blob-cryptography;current}) ```xml diff --git a/sdk/storage/azure-storage-blob-cryptography/pom.xml b/sdk/storage/azure-storage-blob-cryptography/pom.xml index 9e07e0ee94cef..ee9e3ef8a1379 100644 --- a/sdk/storage/azure-storage-blob-cryptography/pom.xml +++ b/sdk/storage/azure-storage-blob-cryptography/pom.xml @@ -52,12 +52,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -75,14 +75,7 @@ com.azure azure-core-test - 1.7.1 - test - - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 1.7.2 test @@ -152,7 +145,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -162,41 +155,117 @@ test - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + - groovy-eclipse-compiler - - -warn:-unused - + + + ${project.basedir}/src/test + + **/*.groovy + + + - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + +
+ + diff --git a/sdk/storage/azure-storage-blob-cryptography/src/main/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobClientBuilder.java b/sdk/storage/azure-storage-blob-cryptography/src/main/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobClientBuilder.java index 81188ab81fdf4..b0c85973f27c4 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/main/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobClientBuilder.java +++ b/sdk/storage/azure-storage-blob-cryptography/src/main/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobClientBuilder.java @@ -551,7 +551,7 @@ public EncryptedBlobClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/APISpec.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/APISpec.groovy index bc6eb5be25747..f55f037e7ab75 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/APISpec.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/APISpec.groovy @@ -403,7 +403,7 @@ class APISpec extends StorageSpec { * real key this way. */ static def getRandomKey(long seed = new Random().nextLong()) { - if (getEnv().getTestMode() == TestMode.LIVE) { + if (getEnvironment().getTestMode() == TestMode.LIVE) { def key = new byte[32] // 256 bit key new Random(seed).nextBytes(key) return key @@ -417,7 +417,7 @@ class APISpec extends StorageSpec { * and RECORD testing modes only. */ static def mockAesKey(EncryptedBlobAsyncClient encryptedClient) { - if (getEnv().getTestMode() != TestMode.LIVE) { + if (getEnvironment().getTestMode() != TestMode.LIVE) { def mockAesKey = new SecretKey() { @Override String getAlgorithm() { diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/BlobCryptographyBuilderTest.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/BlobCryptographyBuilderTest.groovy index db877cb691558..d1b5cfe09d507 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/BlobCryptographyBuilderTest.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/BlobCryptographyBuilderTest.groovy @@ -20,10 +20,10 @@ class BlobCryptographyBuilderTest extends APISpec { def setup() { keyId = "keyId" - fakeKey = new FakeKey(keyId, (getEnv().getTestMode() == TestMode.LIVE) ? getRandomByteArray(256) : mockRandomData) + fakeKey = new FakeKey(keyId, (getEnvironment().getTestMode() == TestMode.LIVE) ? getRandomByteArray(256) : mockRandomData) fakeKeyResolver = new FakeKeyResolver(fakeKey) - def sc = getServiceClientBuilder(env.primaryAccount) + def sc = getServiceClientBuilder(environment.primaryAccount) .buildClient() def containerName = generateContainerName() def blobName = generateBlobName() @@ -66,7 +66,7 @@ class BlobCryptographyBuilderTest extends APISpec { def "Http pipeline"() { when: def regularClient = cc.getBlobClient(generateBlobName()) - def encryptedClient = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def encryptedClient = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .pipeline(regularClient.getHttpPipeline()) .blobName(regularClient.getBlobName()) .buildEncryptedBlobAsyncClient())) @@ -82,7 +82,7 @@ class BlobCryptographyBuilderTest extends APISpec { setup: cc.create() CustomerProvidedKey key = new CustomerProvidedKey(getRandomKey()) - def builder = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def builder = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .customerProvidedKey(key) .blobName(generateBlobName()) def encryptedAsyncClient = mockAesKey(builder.buildEncryptedBlobAsyncClient()) @@ -106,12 +106,12 @@ class BlobCryptographyBuilderTest extends APISpec { setup: cc.create() CustomerProvidedKey key = new CustomerProvidedKey(getRandomKey()) - def encryptedClientWithCpk = mockAesKey(getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def encryptedClientWithCpk = mockAesKey(getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .customerProvidedKey(key) .blobName(generateBlobName()) .buildEncryptedBlobAsyncClient()) - def encryptedClientNoCpk = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, encryptedClientWithCpk.getBlobUrl()) + def encryptedClientNoCpk = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, encryptedClientWithCpk.getBlobUrl()) .buildEncryptedBlobAsyncClient())) when: @@ -129,7 +129,7 @@ class BlobCryptographyBuilderTest extends APISpec { setup: def scope = "testscope1" cc.create() - def builder = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def builder = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .encryptionScope(scope) .blobName(generateBlobName()) def encryptedAsyncClient = mockAesKey(builder.buildEncryptedBlobAsyncClient()) @@ -174,7 +174,7 @@ class BlobCryptographyBuilderTest extends APISpec { def "getCustomerProvidedKeyClient"() { setup: CustomerProvidedKey originalKey = new CustomerProvidedKey(getRandomKey()) - def client = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def client = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .customerProvidedKey(originalKey) .blobName(generateBlobName()) .buildEncryptedBlobClient() @@ -191,7 +191,7 @@ class BlobCryptographyBuilderTest extends APISpec { def "getEncryptionScopeClient"() { setup: def originalScope = "testscope1" - def client = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + def client = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .encryptionScope(originalScope) .blobName(generateBlobName()) .buildEncryptedBlobClient() diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobOutputStreamTest.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobOutputStreamTest.groovy index e278b256d55c5..0d39e71b232c5 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobOutputStreamTest.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncryptedBlobOutputStreamTest.groovy @@ -22,19 +22,19 @@ class EncryptedBlobOutputStreamTest extends APISpec { fakeKey = new FakeKey(keyId, getRandomByteArray(256)) fakeKeyResolver = new FakeKeyResolver(fakeKey) - cc = getServiceClientBuilder(env.primaryAccount) + cc = getServiceClientBuilder(environment.primaryAccount) .buildClient() .getBlobContainerClient(generateContainerName()) cc.create() def blobName = generateBlobName() - beac = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + beac = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobAsyncClient() - bec = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(blobName) .buildEncryptedBlobClient() diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncyptedBlockBlobAPITest.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncyptedBlockBlobAPITest.groovy index 4545e5a2d02e5..f1141f4e48a6c 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncyptedBlockBlobAPITest.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/EncyptedBlockBlobAPITest.groovy @@ -64,27 +64,27 @@ class EncyptedBlockBlobAPITest extends APISpec { def setup() { keyId = "keyId" - fakeKey = new FakeKey(keyId, (getEnv().getTestMode() == TestMode.LIVE) ? getRandomByteArray(256) : mockRandomData) + fakeKey = new FakeKey(keyId, (getEnvironment().getTestMode() == TestMode.LIVE) ? getRandomByteArray(256) : mockRandomData) fakeKeyResolver = new FakeKeyResolver(fakeKey) - cc = getServiceClientBuilder(env.primaryAccount) + cc = getServiceClientBuilder(environment.primaryAccount) .buildClient() .getBlobContainerClient(generateContainerName()) cc.create() - beac = mockAesKey(getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + beac = mockAesKey(getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(generateBlobName()) .buildEncryptedBlobAsyncClient()) - bec = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + bec = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(generateBlobName()) .buildEncryptedBlobAsyncClient())) def blobName = generateBlobName() - def builder = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + def builder = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(blobName) @@ -100,7 +100,7 @@ class EncyptedBlockBlobAPITest extends APISpec { // Key and key resolver null def "Create encryption client fails"() { when: - beac = getEncryptedClientBuilder(null, null, env.primaryAccount.credential, + beac = getEncryptedClientBuilder(null, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(generateBlobName()) .buildEncryptedBlobAsyncClient() @@ -109,7 +109,7 @@ class EncyptedBlockBlobAPITest extends APISpec { thrown(IllegalArgumentException) when: - bec = getEncryptedClientBuilder(null, null, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(null, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(generateBlobName()) .buildEncryptedBlobClient() @@ -134,7 +134,7 @@ class EncyptedBlockBlobAPITest extends APISpec { } else { keyResolver = null } - beac = getEncryptedClientBuilder(key, keyResolver, env.primaryAccount.credential, + beac = getEncryptedClientBuilder(key, keyResolver, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(generateBlobName()) .buildEncryptedBlobAsyncClient() @@ -143,7 +143,7 @@ class EncyptedBlockBlobAPITest extends APISpec { notThrown(IllegalArgumentException) when: - bec = getEncryptedClientBuilder(key, keyResolver, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(key, keyResolver, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(generateBlobName()) .buildEncryptedBlobClient() @@ -420,7 +420,7 @@ class EncyptedBlockBlobAPITest extends APISpec { def "Download unencrypted data"() { setup: // Create an async client - BlobContainerClient cac = getServiceClientBuilder(env.primaryAccount) + BlobContainerClient cac = getServiceClientBuilder(environment.primaryAccount) .buildClient() .getBlobContainerClient(generateContainerName()) @@ -431,7 +431,7 @@ class EncyptedBlockBlobAPITest extends APISpec { // Uses builder method that takes in regular blob clients EncryptedBlobClient client = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, - env.primaryAccount.credential, cac.getBlobContainerUrl()) + environment.primaryAccount.credential, cac.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobAsyncClient())) @@ -489,13 +489,13 @@ class EncyptedBlockBlobAPITest extends APISpec { def blobName = generateBlobName() EncryptedBlobAsyncClient decryptResolverClient = - mockAesKey(getEncryptedClientBuilder(null, fakeKeyResolver as AsyncKeyEncryptionKeyResolver, env.primaryAccount.credential, + mockAesKey(getEncryptedClientBuilder(null, fakeKeyResolver as AsyncKeyEncryptionKeyResolver, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobAsyncClient()) EncryptedBlobAsyncClient encryptClient = - mockAesKey(getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + mockAesKey(getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobAsyncClient()) @@ -525,7 +525,7 @@ class EncyptedBlockBlobAPITest extends APISpec { def blobName = generateBlobName() def containerName = cc.getBlobContainerName() - CloudStorageAccount v8Account = CloudStorageAccount.parse(env.primaryAccount.connectionString) + CloudStorageAccount v8Account = CloudStorageAccount.parse(environment.primaryAccount.connectionString) CloudBlobClient blobClient = v8Account.createCloudBlobClient() CloudBlobContainer container = blobClient.getContainerReference(containerName) CloudBlockBlob v8EncryptBlob = container.getBlockBlobReference(blobName) @@ -534,7 +534,7 @@ class EncyptedBlockBlobAPITest extends APISpec { uploadOptions.setEncryptionPolicy(uploadPolicy) EncryptedBlobClient decryptClient = - getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, env.primaryAccount.credential, cc.getBlobContainerUrl()) + getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobClient() @@ -561,12 +561,12 @@ class EncyptedBlockBlobAPITest extends APISpec { def containerName = cc.getBlobContainerName() EncryptedBlobAsyncClient encryptClient = - getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, env.primaryAccount.credential, + getEncryptedClientBuilder(fakeKey as AsyncKeyEncryptionKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl()) .blobName(blobName) .buildEncryptedBlobAsyncClient() - CloudStorageAccount v8Account = CloudStorageAccount.parse(env.primaryAccount.connectionString) + CloudStorageAccount v8Account = CloudStorageAccount.parse(environment.primaryAccount.connectionString) CloudBlobClient blobClient = v8Account.createCloudBlobClient() CloudBlobContainer container = blobClient.getContainerReference(containerName) container.createIfNotExists() @@ -716,7 +716,7 @@ class EncyptedBlockBlobAPITest extends APISpec { constructed in BlobClient.download(). */ setup: - def builder = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + def builder = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, ebc.getBlobUrl(), new MockRetryRangeResponsePolicy()) ebc = new EncryptedBlobClient(mockAesKey(builder.buildEncryptedBlobAsyncClient())) @@ -985,8 +985,8 @@ class EncyptedBlockBlobAPITest extends APISpec { setup: def containerName = generateContainerName() def blobServiceClient = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) - .credential(env.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) .buildClient() def encryptedBlobClient = new EncryptedBlobClientBuilder() @@ -1032,8 +1032,8 @@ class EncyptedBlockBlobAPITest extends APISpec { setup: def containerName = generateContainerName() def blobServiceAsyncClient = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) - .credential(env.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) .buildAsyncClient() def encryptedBlobAsyncClient = new EncryptedBlobClientBuilder() @@ -1242,13 +1242,14 @@ class EncyptedBlockBlobAPITest extends APISpec { def counter = new AtomicInteger() expect: - def bacUploading = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + def bacUploading = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, ebc.getBlobUrl().toString()) .buildEncryptedBlobAsyncClient() - def bacDownloading = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, - ebc.getBlobUrl().toString()) - .addPolicy({ context, next -> + def localData = data + def policy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { return next.process() .flatMap({ r -> if (counter.incrementAndGet() == 1) { @@ -1256,12 +1257,16 @@ class EncyptedBlockBlobAPITest extends APISpec { * When the download begins trigger an upload to overwrite the downloading blob * so that the download is able to get an ETag before it is changed. */ - return bacUploading.upload(data.defaultFlux, null, true) + return bacUploading.upload(localData.defaultFlux, null, true) .thenReturn(r) } return Mono.just(r) }) - }) + } + } + def bacDownloading = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, + ebc.getBlobUrl().toString()) + .addPolicy(policy) .buildEncryptedBlobAsyncClient() /* @@ -1367,14 +1372,14 @@ class EncyptedBlockBlobAPITest extends APISpec { def "Download requiresEncryption"() { setup: def blobName = bec.getBlobName() - def bc = getBlobClientBuilder(env.primaryAccount.credential, cc.getBlobContainerUrl().toString()) + def bc = getBlobClientBuilder(environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(blobName) .buildClient() bc.upload(data.defaultInputStream, data.defaultDataSize) when: "Sync min" - bec = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(blobName) .requiresEncryption(true) @@ -1391,7 +1396,7 @@ class EncyptedBlockBlobAPITest extends APISpec { thrown(IllegalStateException) when: "Async min" - beac = getEncryptedClientBuilder(fakeKey, null, env.primaryAccount.credential, + beac = getEncryptedClientBuilder(fakeKey, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(blobName) .requiresEncryption(true) @@ -1504,10 +1509,10 @@ class EncyptedBlockBlobAPITest extends APISpec { } } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { - def client = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, fakeKeyResolver, env.primaryAccount.credential, bec.getBlobUrl(), getPerCallVersionPolicy()) + def client = new EncryptedBlobClient(mockAesKey(getEncryptedClientBuilder(fakeKey, fakeKeyResolver, environment.primaryAccount.credential, bec.getBlobUrl(), getPerCallVersionPolicy()) .buildEncryptedBlobAsyncClient())) client.upload(new ByteArrayInputStream(new byte[0]), 0) diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/KeyvaultKeyTest.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/KeyvaultKeyTest.groovy index 488eb3efcaef4..efbe49cf3d61b 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/KeyvaultKeyTest.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/KeyvaultKeyTest.groovy @@ -40,7 +40,7 @@ class KeyvaultKeyTest extends APISpec { def setup() { def keyVaultUrl = "https://azstoragesdkvault.vault.azure.net/" - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { keyVaultUrl = Configuration.getGlobalConfiguration().get("KEYVAULT_URL") } @@ -64,12 +64,12 @@ class KeyvaultKeyTest extends APISpec { .buildAsyncKeyEncryptionKey(keyVaultKey.getId()) .block() - cc = getServiceClientBuilder(env.primaryAccount) + cc = getServiceClientBuilder(environment.primaryAccount) .buildClient() .getBlobContainerClient(generateContainerName()) cc.create() - bec = getEncryptedClientBuilder(akek, null, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(akek, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(generateBlobName()) .buildEncryptedBlobClient() @@ -111,7 +111,7 @@ class KeyvaultKeyTest extends APISpec { HttpPipeline getHttpPipeline(KeyServiceVersion serviceVersion) { TokenCredential credential = null - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { String clientId = System.getenv("AZURE_CLIENT_ID") String clientKey = System.getenv("AZURE_CLIENT_SECRET") String tenantId = System.getenv("AZURE_TENANT_ID") diff --git a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/LocalKeyTest.groovy b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/LocalKeyTest.groovy index 4c6c8c8d46b55..52fedebc249d8 100644 --- a/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/LocalKeyTest.groovy +++ b/sdk/storage/azure-storage-blob-cryptography/src/test/java/com/azure/storage/blob/specialized/cryptography/LocalKeyTest.groovy @@ -28,12 +28,12 @@ class LocalKeyTest extends APISpec { .buildAsyncKeyEncryptionKey(localKey) .block() - cc = getServiceClientBuilder(env.primaryAccount) + cc = getServiceClientBuilder(environment.primaryAccount) .buildClient() .getBlobContainerClient(generateContainerName()) cc.create() - bec = getEncryptedClientBuilder(akek, null, env.primaryAccount.credential, + bec = getEncryptedClientBuilder(akek, null, environment.primaryAccount.credential, cc.getBlobContainerUrl().toString()) .blobName(generateBlobName()) .buildEncryptedBlobClient() diff --git a/sdk/storage/azure-storage-blob-nio/pom.xml b/sdk/storage/azure-storage-blob-nio/pom.xml index 596572948375a..6205c3e3cd7b5 100644 --- a/sdk/storage/azure-storage-blob-nio/pom.xml +++ b/sdk/storage/azure-storage-blob-nio/pom.xml @@ -68,12 +68,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -92,19 +92,13 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test io.projectreactor reactor-test - 3.4.9 - test - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 3.4.10 test @@ -134,7 +128,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -147,40 +141,118 @@ ${basedir}/src/test/resources - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - + + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + - groovy-eclipse-compiler - - -warn:-unused - + + + ${project.basedir}/src/test + + **/*.groovy + + + - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + + diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/APISpec.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/APISpec.groovy index 2c82ca519310a..4c41d6f59aba3 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/APISpec.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/APISpec.groovy @@ -24,14 +24,12 @@ import com.azure.storage.common.test.shared.TestAccount import spock.lang.Timeout import java.nio.ByteBuffer -import java.nio.charset.StandardCharsets import java.nio.file.FileSystem import java.nio.file.Path import java.nio.file.attribute.FileAttribute import java.time.Duration import java.time.OffsetDateTime import java.util.concurrent.TimeUnit -import java.util.function.Supplier @Timeout(value = 5, unit = TimeUnit.MINUTES) class APISpec extends StorageSpec { @@ -67,9 +65,9 @@ class APISpec extends StorageSpec { } def setup() { - primaryBlobServiceClient = getServiceClient(env.primaryAccount) - primaryBlobServiceAsyncClient = getServiceAsyncClient(env.primaryAccount) - alternateBlobServiceClient = getServiceClient(env.secondaryAccount) + primaryBlobServiceClient = getServiceClient(environment.primaryAccount) + primaryBlobServiceAsyncClient = getServiceAsyncClient(environment.primaryAccount) + alternateBlobServiceClient = getServiceClient(environment.secondaryAccount) containerName = generateContainerName() cc = primaryBlobServiceClient.getBlobContainerClient(containerName) @@ -77,11 +75,11 @@ class APISpec extends StorageSpec { } def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupClient = new BlobServiceClientBuilder() .httpClient(getHttpClient()) - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .buildClient() def options = new ListBlobContainersOptions().setPrefix(namer.getResourcePrefix()) for (BlobContainerItem container : cleanupClient.listBlobContainers(options, Duration.ofSeconds(120))) { @@ -161,7 +159,7 @@ class APISpec extends StorageSpec { } def getFileSystemUri() { - return new URI("azb://?endpoint=" + env.primaryAccount.blobEndpoint) + return new URI("azb://?endpoint=" + environment.primaryAccount.blobEndpoint) } def generateContainerName() { @@ -178,9 +176,9 @@ class APISpec extends StorageSpec { def createFS(Map config) { config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() + "," + generateContainerName() - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential - return new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.blobEndpoint, config) + return new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.blobEndpoint, config) } byte[] getRandomByteArray(int size) { @@ -268,7 +266,7 @@ class APISpec extends StorageSpec { // Only sleep if test is running in live mode def sleepIfRecord(long milliseconds) { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { sleep(milliseconds) } } diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureDirectoryStreamTest.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureDirectoryStreamTest.groovy index c5370b8c8aea5..817e9d87c2314 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureDirectoryStreamTest.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureDirectoryStreamTest.groovy @@ -20,7 +20,7 @@ class AzureDirectoryStreamTest extends APISpec { @Unroll def "List files"() { setup: - if (numFiles > 50 && env.testMode != TestMode.LIVE) { + if (numFiles > 50 && environment.testMode != TestMode.LIVE) { return // Skip large data set in record and playback } def rootName = absolute ? getNonDefaultRootDir(fs) : "" diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileStoreTest.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileStoreTest.groovy index 68a755286a94e..3336eceebf277 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileStoreTest.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileStoreTest.groovy @@ -3,7 +3,7 @@ package com.azure.storage.blob.nio -import spock.lang.Shared + import spock.lang.Unroll import java.nio.file.attribute.BasicFileAttributeView @@ -16,9 +16,9 @@ class AzureFileStoreTest extends APISpec { // Just need one fs instance for creating the stores. def setup() { def config = initializeConfigMap() - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() + "," + generateContainerName() - fs = new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.blobEndpoint, config) + fs = new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.blobEndpoint, config) } // The constructor is implicitly tested by creating a file system. diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemProviderTest.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemProviderTest.groovy index 300dca8b4f734..fbbc4e6a4f06d 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemProviderTest.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemProviderTest.groovy @@ -20,7 +20,6 @@ import com.azure.storage.common.StorageSharedKeyCredential import com.azure.storage.common.test.shared.extensions.LiveOnly import reactor.core.publisher.Flux import reactor.core.publisher.Mono -import spock.lang.Requires import spock.lang.Unroll import java.nio.ByteBuffer @@ -61,7 +60,7 @@ class AzureFileSystemProviderTest extends APISpec { def "CreateFileSystem"() { setup: - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() def uri = getFileSystemUri() @@ -92,7 +91,7 @@ class AzureFileSystemProviderTest extends APISpec { def "CreateFileSystem duplicate"() { setup: config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential provider.newFileSystem(getFileSystemUri(), config) when: @@ -105,10 +104,10 @@ class AzureFileSystemProviderTest extends APISpec { def "CreateFileSystem initial check fail"() { when: config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() - def badKey = env.primaryAccount.key.getBytes() + def badKey = environment.primaryAccount.key.getBytes() badKey[0]++ config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = - new StorageSharedKeyCredential(env.primaryAccount.name, new String(badKey)) + new StorageSharedKeyCredential(environment.primaryAccount.name, new String(badKey)) provider.newFileSystem(getFileSystemUri(), config) then: diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemTest.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemTest.groovy index bdf461fdaf9b7..935e9ea607036 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemTest.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzureFileSystemTest.groovy @@ -32,7 +32,7 @@ class AzureFileSystemTest extends APISpec { .toIterable() config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = String.join(",", containerNames) if (!sasToken) { - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential } else { config[AzureFileSystem.AZURE_STORAGE_SAS_TOKEN_CREDENTIAL] = new AzureSasCredential( primaryBlobServiceClient.generateAccountSas( @@ -42,7 +42,7 @@ class AzureFileSystemTest extends APISpec { } when: - def fileSystem = new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.blobEndpoint, + def fileSystem = new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.blobEndpoint, config) then: @@ -69,11 +69,11 @@ class AzureFileSystemTest extends APISpec { config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() } if (credential) { - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.key + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.key } when: - new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.name, config) + new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.name, config) then: thrown(IllegalArgumentException) @@ -94,7 +94,7 @@ class AzureFileSystemTest extends APISpec { config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() when: - new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.blobEndpoint, config) + new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.blobEndpoint, config) then: thrown(IOException) @@ -105,7 +105,7 @@ class AzureFileSystemTest extends APISpec { def provider = new AzureFileSystemProvider() def uri = getFileSystemUri() config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = generateContainerName() - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential def fileSystem = provider.newFileSystem(uri, config) when: diff --git a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzurePathTest.groovy b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzurePathTest.groovy index 0892815653ad8..9003ece6d25d4 100644 --- a/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzurePathTest.groovy +++ b/sdk/storage/azure-storage-blob-nio/src/test/java/com/azure/storage/blob/nio/AzurePathTest.groovy @@ -15,9 +15,9 @@ class AzurePathTest extends APISpec { // Just need one fs instance for creating the paths. def setup() { def config = initializeConfigMap() - config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = env.primaryAccount.credential + config[AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL] = environment.primaryAccount.credential config[AzureFileSystem.AZURE_STORAGE_FILE_STORES] = "jtcazurepath1,jtcazurepath2" - fs = new AzureFileSystem(new AzureFileSystemProvider(), env.primaryAccount.blobEndpoint, config) + fs = new AzureFileSystem(new AzureFileSystemProvider(), environment.primaryAccount.blobEndpoint, config) } def "GetFileSystem"() { diff --git a/sdk/storage/azure-storage-blob/CHANGELOG.md b/sdk/storage/azure-storage-blob/CHANGELOG.md index b71c20b0fbe21..caa69f252b6af 100644 --- a/sdk/storage/azure-storage-blob/CHANGELOG.md +++ b/sdk/storage/azure-storage-blob/CHANGELOG.md @@ -38,11 +38,11 @@ - Updated `azure-core` to version `1.16.0` ## 12.11.0 (2021-04-29) -- Fixed a bug where large files would hang when the upload method was called. +- Fixed a bug where large files would not respond when the upload method was called. ## 12.11.0-beta.3 (2021-04-16) - Fixed a bug where BlobOutputStream would lock up if the inner uploadWithResponse call is cancelled for any reason. -- Fixed a bug where BlobOutputStream could hang when writing in a tight loop because the inner FluxSink would buffer in an unbounded manner. This would cause memory issues especially if the heap size was set to less than the size of the data being uploaded. +- Fixed a bug where BlobOutputStream could not respond when writing in a tight loop because the inner FluxSink would buffer in an unbounded manner. This would cause memory issues especially if the heap size was set to less than the size of the data being uploaded. - Fixed a bug where a null check was placed on the wrong parameter of the InputStream constructor for BlobParallelUploadOptions ## 12.11.0-beta.2 (2021-03-29) diff --git a/sdk/storage/azure-storage-blob/README.md b/sdk/storage/azure-storage-blob/README.md index f41d1a61e33fe..ea6fd8117bf3f 100644 --- a/sdk/storage/azure-storage-blob/README.md +++ b/sdk/storage/azure-storage-blob/README.md @@ -17,6 +17,39 @@ definition, such as text or binary data. ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-blob + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + [//]: # ({x-version-update-start;com.azure:azure-storage-blob;current}) ```xml diff --git a/sdk/storage/azure-storage-blob/pom.xml b/sdk/storage/azure-storage-blob/pom.xml index a0c76a529a340..f918a1a40942b 100644 --- a/sdk/storage/azure-storage-blob/pom.xml +++ b/sdk/storage/azure-storage-blob/pom.xml @@ -36,7 +36,7 @@ src/main/java src/test/java ../azure-storage-common/ci.system.properties - 6g + 8g --add-exports com.azure.core/com.azure.core.implementation.http=ALL-UNNAMED @@ -75,12 +75,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -113,7 +113,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -125,7 +125,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -134,12 +134,6 @@ 1.6.5 test - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 - test - cglib cglib-nodep @@ -167,7 +161,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -180,41 +174,6 @@ ${basedir}/src/test/resources - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - @@ -259,5 +218,116 @@ + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobClientBuilder.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobClientBuilder.java index 2f2c602e716b2..080e821a0afe6 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobClientBuilder.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobClientBuilder.java @@ -413,7 +413,7 @@ public BlobClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerClientBuilder.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerClientBuilder.java index 6290c6673f365..1c7932727ad40 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerClientBuilder.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerClientBuilder.java @@ -370,7 +370,7 @@ public BlobContainerClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java index 747fc45172762..0f6f2b77a170c 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java @@ -872,7 +872,8 @@ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureVa */ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Context context) { throwOnAnonymousAccess(); - return new AccountSasImplUtil(accountSasSignatureValues) + return new AccountSasImplUtil(accountSasSignatureValues, + this.encryptionScope == null ? null : this.encryptionScope.toString()) .generateSas(SasImplUtils.extractSharedKeyCredential(getHttpPipeline()), context); } diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceClientBuilder.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceClientBuilder.java index 4bfdcef93e7e8..76e151cf2693d 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceClientBuilder.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceClientBuilder.java @@ -343,7 +343,7 @@ public BlobServiceClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/util/BlobSasImplUtil.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/util/BlobSasImplUtil.java index 0a94b796569e6..246486ea085f1 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/util/BlobSasImplUtil.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/util/BlobSasImplUtil.java @@ -91,6 +91,8 @@ public class BlobSasImplUtil { private String correlationId; + private String encryptionScope; + /** * Creates a new {@link BlobSasImplUtil} with the specified parameters * @@ -98,7 +100,7 @@ public class BlobSasImplUtil { * @param containerName The container name */ public BlobSasImplUtil(BlobServiceSasSignatureValues sasValues, String containerName) { - this(sasValues, containerName, null, null, null); + this(sasValues, containerName, null, null, null, null); } /** @@ -109,9 +111,10 @@ public BlobSasImplUtil(BlobServiceSasSignatureValues sasValues, String container * @param blobName The blob name * @param snapshotId The snapshot id * @param versionId The version id + * @param encryptionScope The encryption scope */ public BlobSasImplUtil(BlobServiceSasSignatureValues sasValues, String containerName, String blobName, - String snapshotId, String versionId) { + String snapshotId, String versionId, String encryptionScope) { Objects.requireNonNull(sasValues); if (snapshotId != null && versionId != null) { throw LOGGER.logExceptionAsError( @@ -134,6 +137,12 @@ public BlobSasImplUtil(BlobServiceSasSignatureValues sasValues, String container this.contentType = sasValues.getContentType(); this.authorizedAadObjectId = sasValues.getPreauthorizedAgentObjectId(); this.correlationId = sasValues.getCorrelationId(); + /* + Prefer the encryption scope explicitly set on the sas values. If none present, fallback to the value on the + client. + */ + this.encryptionScope = sasValues.getEncryptionScope() == null + ? encryptionScope : sasValues.getEncryptionScope(); } /** @@ -220,6 +229,7 @@ private String encode(UserDelegationKey userDelegationKey, String signature) { tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_SIGNED_RESOURCE, this.resource); tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_SIGNED_PERMISSIONS, this.permissions); tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_SIGNATURE, signature); + tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_ENCRYPTION_SCOPE, this.encryptionScope); tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_CACHE_CONTROL, this.cacheControl); tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_CONTENT_DISPOSITION, this.contentDisposition); tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_CONTENT_ENCODING, this.contentEncoding); @@ -295,23 +305,44 @@ private String getCanonicalName(String account) { private String stringToSign(String canonicalName) { String versionSegment = this.snapshotId == null ? this.versionId : this.snapshotId; - return String.join("\n", - this.permissions == null ? "" : permissions, - this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), - this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), - canonicalName, - this.identifier == null ? "" : this.identifier, - this.sasIpRange == null ? "" : this.sasIpRange.toString(), - this.protocol == null ? "" : this.protocol.toString(), - VERSION, - resource, - versionSegment == null ? "" : versionSegment, - this.cacheControl == null ? "" : this.cacheControl, - this.contentDisposition == null ? "" : this.contentDisposition, - this.contentEncoding == null ? "" : this.contentEncoding, - this.contentLanguage == null ? "" : this.contentLanguage, - this.contentType == null ? "" : this.contentType - ); + if (VERSION.compareTo(BlobServiceVersion.V2020_10_02.getVersion()) <= 0) { + return String.join("\n", + this.permissions == null ? "" : permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + this.identifier == null ? "" : this.identifier, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + versionSegment == null ? "" : versionSegment, + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); + } else { + return String.join("\n", + this.permissions == null ? "" : permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + this.identifier == null ? "" : this.identifier, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + versionSegment == null ? "" : versionSegment, + this.encryptionScope == null ? "" : this.encryptionScope, + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); + } } private String stringToSign(final UserDelegationKey key, String canonicalName) { @@ -339,6 +370,32 @@ private String stringToSign(final UserDelegationKey key, String canonicalName) { this.contentLanguage == null ? "" : this.contentLanguage, this.contentType == null ? "" : this.contentType ); + } else if (VERSION.compareTo(BlobServiceVersion.V2020_10_02.getVersion()) <= 0) { + return String.join("\n", + this.permissions == null ? "" : this.permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + key.getSignedObjectId() == null ? "" : key.getSignedObjectId(), + key.getSignedTenantId() == null ? "" : key.getSignedTenantId(), + key.getSignedStart() == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(key.getSignedStart()), + key.getSignedExpiry() == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(key.getSignedExpiry()), + key.getSignedService() == null ? "" : key.getSignedService(), + key.getSignedVersion() == null ? "" : key.getSignedVersion(), + this.authorizedAadObjectId == null ? "" : this.authorizedAadObjectId, + "", /* suoid - empty since this applies to HNS only accounts. */ + this.correlationId == null ? "" : this.correlationId, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + versionSegment == null ? "" : versionSegment, + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); } else { return String.join("\n", this.permissions == null ? "" : this.permissions, @@ -359,6 +416,7 @@ private String stringToSign(final UserDelegationKey key, String canonicalName) { VERSION, resource, versionSegment == null ? "" : versionSegment, + this.encryptionScope == null ? "" : this.encryptionScope, this.cacheControl == null ? "" : this.cacheControl, this.contentDisposition == null ? "" : this.contentDisposition, this.contentEncoding == null ? "" : this.contentEncoding, diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/sas/BlobServiceSasSignatureValues.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/sas/BlobServiceSasSignatureValues.java index c48b4bc1aa895..f3db2be8f282f 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/sas/BlobServiceSasSignatureValues.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/sas/BlobServiceSasSignatureValues.java @@ -90,6 +90,8 @@ public final class BlobServiceSasSignatureValues { private String correlationId; + private String encryptionScope; + /** * Creates an object with empty values for all fields. * @deprecated Please use {@link #BlobServiceSasSignatureValues(String)}, @@ -546,6 +548,24 @@ public BlobServiceSasSignatureValues setCorrelationId(String correlationId) { return this; } + /** + * @return the encryption scope value for the SAS. + */ + public String getEncryptionScope() { + return encryptionScope; + } + + /** + * Sets the encryption scope value for the SAS. + * + * @param encryptionScope An encryption scope that will be applied to any write operations performed with the sas + * @return the updated BlobServiceSasSignatureValues object + */ + public BlobServiceSasSignatureValues setEncryptionScope(String encryptionScope) { + this.encryptionScope = encryptionScope; + return this; + } + /** * Uses an account's shared key credential to sign these signature values to produce the proper SAS query * parameters. diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java index 9e8da35709556..12865896c3f77 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java @@ -2083,7 +2083,7 @@ public String generateUserDelegationSas(BlobServiceSasSignatureValues blobServic public String generateUserDelegationSas(BlobServiceSasSignatureValues blobServiceSasSignatureValues, UserDelegationKey userDelegationKey, String accountName, Context context) { return new BlobSasImplUtil(blobServiceSasSignatureValues, getContainerName(), getBlobName(), - getSnapshotId(), getVersionId()) + getSnapshotId(), getVersionId(), getEncryptionScope()) .generateUserDelegationSas(userDelegationKey, accountName, context); } @@ -2120,7 +2120,7 @@ public String generateSas(BlobServiceSasSignatureValues blobServiceSasSignatureV */ public String generateSas(BlobServiceSasSignatureValues blobServiceSasSignatureValues, Context context) { return new BlobSasImplUtil(blobServiceSasSignatureValues, getContainerName(), getBlobName(), - getSnapshotId(), getVersionId()) + getSnapshotId(), getVersionId(), getEncryptionScope()) .generateSas(SasImplUtils.extractSharedKeyCredential(getHttpPipeline()), context); } diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/SpecializedBlobClientBuilder.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/SpecializedBlobClientBuilder.java index 2987fa5f218e7..56fe12388de91 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/SpecializedBlobClientBuilder.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/SpecializedBlobClientBuilder.java @@ -561,7 +561,7 @@ public SpecializedBlobClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/APISpec.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/APISpec.groovy index a7eee78d2cc7d..a355ed124c008 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/APISpec.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/APISpec.groovy @@ -96,12 +96,12 @@ class APISpec extends StorageSpec { } def setup() { - primaryBlobServiceClient = getServiceClient(env.primaryAccount) - primaryBlobServiceAsyncClient = getServiceAsyncClient(env.primaryAccount) - alternateBlobServiceClient = getServiceClient(env.secondaryAccount) - premiumBlobServiceClient = getServiceClient(env.premiumAccount) - versionedBlobServiceClient = getServiceClient(env.versionedAccount) - softDeleteServiceClient = getServiceClient(env.softDeleteAccount) + primaryBlobServiceClient = getServiceClient(environment.primaryAccount) + primaryBlobServiceAsyncClient = getServiceAsyncClient(environment.primaryAccount) + alternateBlobServiceClient = getServiceClient(environment.secondaryAccount) + premiumBlobServiceClient = getServiceClient(environment.premiumAccount) + versionedBlobServiceClient = getServiceClient(environment.versionedAccount) + softDeleteServiceClient = getServiceClient(environment.softDeleteAccount) containerName = generateContainerName() cc = primaryBlobServiceClient.getBlobContainerClient(containerName) @@ -110,11 +110,11 @@ class APISpec extends StorageSpec { } def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupClient = new BlobServiceClientBuilder() .httpClient(getHttpClient()) - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .buildClient() def options = new ListBlobContainersOptions().setPrefix(namer.getResourcePrefix()) @@ -136,7 +136,7 @@ class APISpec extends StorageSpec { def getOAuthServiceClient() { BlobServiceClientBuilder builder = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) + .endpoint(environment.primaryAccount.blobEndpoint) instrument(builder) @@ -144,12 +144,12 @@ class APISpec extends StorageSpec { } def setOauthCredentials(BlobServiceClientBuilder builder) { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { // AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET return builder.credential(new EnvironmentCredentialBuilder().build()) } else { // Running in playback, we don't have access to the AAD environment variables, just use SharedKeyCredential. - return builder.credential(env.primaryAccount.credential) + return builder.credential(environment.primaryAccount.credential) } } @@ -221,8 +221,8 @@ class APISpec extends StorageSpec { BlobServiceAsyncClient getPrimaryServiceClientForWrites(long perRequestDataSize) { int retryTimeout = Math.toIntExact((long) (perRequestDataSize / Constants.MB) * 20) retryTimeout = Math.max(60, retryTimeout) - return getServiceClientBuilder(env.primaryAccount.credential, - env.primaryAccount.blobEndpoint) + return getServiceClientBuilder(environment.primaryAccount.credential, + environment.primaryAccount.blobEndpoint) .retryOptions(new RequestRetryOptions(null, null, retryTimeout, null, null, null)) .buildAsyncClient() } @@ -667,7 +667,7 @@ class APISpec extends StorageSpec { // Only sleep if test is running in live mode def sleepIfRecord(long milliseconds) { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { sleep(milliseconds) } } @@ -718,7 +718,7 @@ class APISpec extends StorageSpec { } def getPollingDuration(long liveTestDurationInMillis) { - return (env.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(1) : Duration.ofMillis(liveTestDurationInMillis) + return (environment.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(1) : Duration.ofMillis(liveTestDurationInMillis) } def getPerCallVersionPolicy() { diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAPITest.groovy index 051bc9c32e2f5..22e3904127024 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAPITest.groovy @@ -3,8 +3,11 @@ package com.azure.storage.blob - +import com.azure.core.http.HttpPipelineCallContext +import com.azure.core.http.HttpPipelineNextPolicy +import com.azure.core.http.HttpResponse import com.azure.core.http.RequestConditions +import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.util.BinaryData import com.azure.core.util.CoreUtils import com.azure.core.util.polling.LongRunningOperationStatus @@ -240,7 +243,7 @@ class BlobAPITest extends APISpec { def "Upload successful retry"() { given: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, bc.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy()) @@ -413,7 +416,7 @@ class BlobAPITest extends APISpec { constructed in BlobClient.download(). */ setup: - def bu2 = getBlobClient(env.primaryAccount.credential, bc.getBlobUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) + def bu2 = getBlobClient(environment.primaryAccount.credential, bc.getBlobUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) when: def range = new BlobRange(2, 5L) @@ -683,7 +686,7 @@ class BlobAPITest extends APISpec { def "Download retry default"() { setup: - def failureBlobClient = getBlobClient(env.primaryAccount.credential, bc.getBlobUrl(), new MockFailureResponsePolicy(5)) + def failureBlobClient = getBlobClient(environment.primaryAccount.credential, bc.getBlobUrl(), new MockFailureResponsePolicy(5)) when: def outStream = new ByteArrayOutputStream() @@ -893,8 +896,8 @@ class BlobAPITest extends APISpec { setup: def containerName = generateContainerName() def blobServiceClient = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) - .credential(env.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) .buildClient() def blobClient = blobServiceClient.createBlobContainer(containerName) @@ -940,8 +943,8 @@ class BlobAPITest extends APISpec { setup: def containerName = generateContainerName() def blobServiceAsyncClient = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) - .credential(env.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) .buildAsyncClient() def blobAsyncClient = blobServiceAsyncClient.createBlobContainer(containerName).block() @@ -1148,12 +1151,13 @@ class BlobAPITest extends APISpec { expect: def bacUploading = instrument(new BlobClientBuilder() .endpoint(bc.getBlobUrl()) - .credential(env.primaryAccount.credential)) + .credential(environment.primaryAccount.credential)) .buildAsyncClient() .getBlockBlobAsyncClient() - - def bacDownloading = instrument(new BlobClientBuilder() - .addPolicy({ context, next -> + def dataLocal = data + def policy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { return next.process() .flatMap({ r -> if (counter.incrementAndGet() == 1) { @@ -1161,14 +1165,17 @@ class BlobAPITest extends APISpec { * When the download begins trigger an upload to overwrite the downloading blob * so that the download is able to get an ETag before it is changed. */ - return bacUploading.upload(data.defaultFlux, data.defaultDataSize, true) - .thenReturn(r) + return bacUploading.upload(dataLocal.defaultFlux, dataLocal.defaultDataSize, true) + .thenReturn(r) } return Mono.just(r) }) - }) + } + } + def bacDownloading = instrument(new BlobClientBuilder() + .addPolicy(policy) .endpoint(bc.getBlobUrl()) - .credential(env.primaryAccount.credential)) + .credential(environment.primaryAccount.credential)) .buildAsyncClient() .getBlockBlobAsyncClient() @@ -3045,7 +3052,7 @@ class BlobAPITest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() bcCopy.copyFromUrlWithResponse(bc.getBlobUrl().toString() + "?" + sas, null, tier2, null, null, null, null) @@ -3164,10 +3171,10 @@ class BlobAPITest extends APISpec { thrown(IllegalArgumentException) } - @IgnoreIf({ getEnv().serviceVersion != null }) + @IgnoreIf({ getEnvironment().serviceVersion != null }) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { - bc = getBlobClient(env.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) + bc = getBlobClient(environment.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) when: def response = bc.getPropertiesWithResponse(null, null, null) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobOutputStreamTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobOutputStreamTest.groovy index 2913f729f47c5..f4794cdfca9c1 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobOutputStreamTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobOutputStreamTest.groovy @@ -1,5 +1,8 @@ package com.azure.storage.blob +import com.azure.core.http.HttpClient +import com.azure.core.http.HttpRequest +import com.azure.core.http.HttpResponse import com.azure.storage.blob.models.BlobErrorCode import com.azure.storage.blob.models.BlobStorageException import com.azure.storage.blob.models.PageRange @@ -93,12 +96,19 @@ class BlobOutputStreamTest extends APISpec { def credentials = new StorageSharedKeyCredential("accountName", "accountKey") def endpoint = "https://account.blob.core.windows.net/" def data = getRandomByteArray(10 * Constants.MB) + def ex = (Exception) exception + def httpClient = new HttpClient() { + @Override + Mono send(HttpRequest httpRequest) { + return Mono.error(ex) + } + } def blockBlobClient = new SpecializedBlobClientBuilder() .endpoint(endpoint) .containerName("container") .blobName("blob") .credential(credentials) - .httpClient({ httpRequest -> return Mono.error(exception) }) + .httpClient(httpClient) .buildBlockBlobClient() when: diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobServiceSasModelsTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobServiceSasModelsTest.groovy index 59f1a8645c8c0..50ee1b198d439 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobServiceSasModelsTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobServiceSasModelsTest.groovy @@ -194,7 +194,7 @@ class BlobServiceSasModelsTest extends Specification { def e = OffsetDateTime.of(2017, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC) def p = new BlobSasPermission().setReadPermission(true) def v = new BlobServiceSasSignatureValues(e, p) - def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", null, null) + def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", null, null, null) when: implUtil.generateSas(null, Context.NONE) @@ -234,7 +234,7 @@ class BlobServiceSasModelsTest extends Specification { def expiryTime = OffsetDateTime.now().plusDays(1) expect: - BlobSasImplUtil implUtil = new BlobSasImplUtil(new BlobServiceSasSignatureValues(expiryTime, permission), container, blob, snapshot, versionId) + BlobSasImplUtil implUtil = new BlobSasImplUtil(new BlobServiceSasSignatureValues(expiryTime, permission), container, blob, snapshot, versionId, null) implUtil.ensureState() implUtil.resource == resource implUtil.permissions == permissionString diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKNTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKNTest.groovy index 5d8ecaac774a1..f43b6f265600f 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKNTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKNTest.groovy @@ -37,7 +37,7 @@ class CPKNTest extends APISpec { ces = new BlobContainerEncryptionScope().setDefaultEncryptionScope(scope2).setEncryptionScopeOverridePrevented(true) builder = getContainerClientBuilder(cc.getBlobContainerUrl()) - .credential(env.primaryAccount.credential) + .credential(environment.primaryAccount.credential) cpknContainer = builder.encryptionScope(es).buildClient() @@ -152,7 +152,7 @@ class CPKNTest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def response = cpknAppendBlob.appendBlockFromUrlWithResponse(sourceBlob.getBlobUrl().toString() + "?" + sas, null, null, null, null, null, null) @@ -203,7 +203,7 @@ class CPKNTest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def response = cpknPageBlob.uploadPagesFromUrlWithResponse(new PageRange().setStart(0).setEnd(PageBlobClient.PAGE_BYTES - 1), diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKTest.groovy index 0f09274be4219..a8195284ab61e 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/CPKTest.groovy @@ -29,7 +29,7 @@ class CPKTest extends APISpec { def builder = instrument(new BlobContainerClientBuilder() .endpoint(cc.getBlobContainerUrl().toString()) .customerProvidedKey(key) - .credential(env.primaryAccount.credential)) + .credential(environment.primaryAccount.credential)) cpkContainer = builder.buildClient() cpkBlockBlob = cpkContainer.getBlobClient(generateBlobName()).getBlockBlobClient() @@ -97,7 +97,7 @@ class CPKTest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def response = cpkBlockBlob.stageBlockFromUrlWithResponse(getBlockID(), sourceBlob.getBlobUrl().toString() + "?" + sas, @@ -154,7 +154,7 @@ class CPKTest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def response = cpkPageBlob.uploadPagesFromUrlWithResponse(new PageRange().setStart(0).setEnd(PageBlobClient.PAGE_BYTES - 1), @@ -208,7 +208,7 @@ class CPKTest extends APISpec { .setPermissions(new BlobSasPermission().setReadPermission(true)) .setContainerName(cc.getBlobContainerName()) .setBlobName(blobName) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def response = cpkAppendBlob.appendBlockFromUrlWithResponse(sourceBlob.getBlobUrl().toString() + "?" + sas, null, null, null, null, null, null) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAPITest.groovy index 82f09422a9599..784a7c57c8993 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAPITest.groovy @@ -1668,8 +1668,8 @@ class ContainerAPITest extends APISpec { } AppendBlobClient bc = instrument(new BlobClientBuilder() - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .blobName("rootblob")) .buildClient().getAppendBlobClient() @@ -1694,8 +1694,8 @@ class ContainerAPITest extends APISpec { when: cc = instrument(new BlobContainerClientBuilder() - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .containerName(null)) .buildClient() @@ -1798,7 +1798,7 @@ class ContainerAPITest extends APISpec { def "Per call policy"() { setup: def cc = getContainerClientBuilder(cc.getBlobContainerUrl()) - .credential(env.primaryAccount.credential) + .credential(environment.primaryAccount.credential) .addPolicy(getPerCallVersionPolicy()) .buildClient() diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ImmutableStorageWithVersioningTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ImmutableStorageWithVersioningTest.groovy index 341e7f8376b08..dd65d2e97d705 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ImmutableStorageWithVersioningTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ImmutableStorageWithVersioningTest.groovy @@ -56,11 +56,11 @@ class ImmutableStorageWithVersioningTest extends APISpec { @Shared private String vlwContainerName @Shared - private String accountName = env.versionedAccount.name + private String accountName = environment.versionedAccount.name @Shared - private String resourceGroupName = env.resourceGroupName + private String resourceGroupName = environment.resourceGroupName @Shared - private String subscriptionId = env.subscriptionId + private String subscriptionId = environment.subscriptionId @Shared private String apiVersion = "2021-04-01" @Shared @@ -72,7 +72,7 @@ class ImmutableStorageWithVersioningTest extends APISpec { private BlobClient vlwBlob def setupSpec() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { vlwContainerName = UUID.randomUUID().toString() String url = String.format("https://management.azure.com/subscriptions/%s/resourceGroups/%s/providers/" @@ -127,15 +127,15 @@ class ImmutableStorageWithVersioningTest extends APISpec { } def cleanupSpec() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { HttpPipeline httpPipeline = new HttpPipelineBuilder() .policies(credentialPolicy) .httpClient(getHttpClient()) .build() def cleanupClient = new BlobServiceClientBuilder() .httpClient(getHttpClient()) - .credential(env.versionedAccount.credential) - .endpoint(env.versionedAccount.blobEndpoint) + .credential(environment.versionedAccount.credential) + .endpoint(environment.versionedAccount.blobEndpoint) .buildClient() def containerClient = cleanupClient.getBlobContainerClient(vlwContainerName) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/OAuthCopySourceTests.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/OAuthCopySourceTests.groovy index 960b24861799b..bb90619ac4d41 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/OAuthCopySourceTests.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/OAuthCopySourceTests.groovy @@ -41,7 +41,7 @@ class OAuthCopySourceTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "Append blob append block from URL source oauth"() { setup: def sourceBlob = cc.getBlobClient(generateBlobName()) @@ -75,7 +75,7 @@ class OAuthCopySourceTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "Block blob upload from URL source oauth"() { setup: def oauthHeader = getAuthToken() @@ -107,7 +107,7 @@ class OAuthCopySourceTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "Block blob stage block from URL source oauth"() { setup: def oauthHeader = getAuthToken() @@ -142,7 +142,7 @@ class OAuthCopySourceTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "Upload pages from URL source oauth"() { setup: def pageRange = new PageRange().setStart(0).setEnd(PageBlobClient.PAGE_BYTES - 1) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ProgressReporterTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ProgressReporterTest.groovy index 457920d60ae21..8776649d6d7d9 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ProgressReporterTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ProgressReporterTest.groovy @@ -6,7 +6,6 @@ package com.azure.storage.blob import com.azure.storage.blob.specialized.BlockBlobAsyncClient import com.azure.storage.common.test.shared.extensions.LiveOnly import reactor.core.publisher.Flux -import spock.lang.Requires import java.nio.ByteBuffer import java.util.concurrent.atomic.AtomicLong @@ -45,7 +44,7 @@ class ProgressReporterTest extends APISpec { Flux data = ProgressReporter.addProgressReporting(Flux.just(buffer), mockReceiver) when: - BlockBlobAsyncClient bu = getBlobAsyncClient(env.primaryAccount.credential, cc.getBlobContainerUrl(), generateBlobName()) + BlockBlobAsyncClient bu = getBlobAsyncClient(environment.primaryAccount.credential, cc.getBlobContainerUrl(), generateBlobName()) .getBlockBlobAsyncClient() bu.upload(data, buffer.remaining()).block() diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/SasClientTests.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/SasClientTests.groovy index 5ed7ff0da1ff0..b9fc5f4eefed6 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/SasClientTests.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/SasClientTests.groovy @@ -43,7 +43,7 @@ class SasClientTests extends APISpec { def setup() { blobName = generateBlobName() - sasClient = getBlobClient(env.primaryAccount.credential, cc.getBlobContainerUrl(), blobName).getBlockBlobClient() + sasClient = getBlobClient(environment.primaryAccount.credential, cc.getBlobContainerUrl(), blobName).getBlockBlobClient() sasClient.upload(data.defaultInputStream, data.defaultDataSize) } @@ -161,7 +161,7 @@ class SasClientTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "blob sas user delegation"() { setup: def permissions = new BlobSasPermission() @@ -234,7 +234,7 @@ class SasClientTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "blob sas snapshot user delegation"() { setup: def snapshotBlob = new SpecializedBlobClientBuilder().blobClient(sasClient.createSnapshot()).buildBlockBlobClient() @@ -273,7 +273,7 @@ class SasClientTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "container sas user delegation"() { setup: def permissions = new BlobContainerSasPermission() @@ -399,7 +399,7 @@ class SasClientTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "blob user delegation saoid"() { setup: def permissions = new BlobSasPermission() @@ -431,7 +431,7 @@ class SasClientTests extends APISpec { } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "container user delegation correlation id"() { setup: def permissions = new BlobContainerSasPermission() @@ -724,7 +724,7 @@ class SasClientTests extends APISpec { notThrown(BlobStorageException) when: - def bc = getBlobClient(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl() + "/" + containerName + "/" + blobName + "?" + sas) + def bc = getBlobClient(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl() + "/" + containerName + "/" + blobName + "?" + sas) def file = getRandomFile(256) bc.uploadFromFile(file.toPath().toString(), true) @@ -912,7 +912,7 @@ class SasClientTests extends APISpec { p.setReadPermission(true) def v = new BlobServiceSasSignatureValues(e, p) - def expected = String.format(expectedStringToSign, env.primaryAccount.name) + def expected = String.format(expectedStringToSign, environment.primaryAccount.name) v.setStartTime(startTime) @@ -929,14 +929,14 @@ class SasClientTests extends APISpec { .setContentLanguage(language) .setContentType(type) - def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", snapId, versionId) + def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", snapId, versionId, null) - def sasToken = implUtil.generateSas(env.primaryAccount.credential, Context.NONE) + def sasToken = implUtil.generateSas(environment.primaryAccount.credential, Context.NONE) def token = BlobUrlParts.parse(cc.getBlobContainerUrl() + "?" + sasToken).getCommonSasQueryParameters() then: - token.getSignature() == env.primaryAccount.credential.computeHmac256(expected) + token.getSignature() == environment.primaryAccount.credential.computeHmac256(expected) /* We don't test the blob or containerName properties because canonicalized resource is always added as at least @@ -967,7 +967,7 @@ class SasClientTests extends APISpec { def p = new BlobSasPermission().setReadPermission(true) def v = new BlobServiceSasSignatureValues(e, p) - def expected = String.format(expectedStringToSign, env.primaryAccount.name) + def expected = String.format(expectedStringToSign, environment.primaryAccount.name) v.setStartTime(startTime) @@ -993,9 +993,9 @@ class SasClientTests extends APISpec { .setSignedVersion(keyVersion) .setValue(keyValue) - def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", snapId, versionId) + def implUtil = new BlobSasImplUtil(v, "containerName", "blobName", snapId, versionId, null) - def sasToken = implUtil.generateUserDelegationSas(key, env.primaryAccount.name, Context.NONE) + def sasToken = implUtil.generateUserDelegationSas(key, environment.primaryAccount.name, Context.NONE) def token = BlobUrlParts.parse(cc.getBlobContainerUrl() + "?" + sasToken).getCommonSasQueryParameters() @@ -1032,19 +1032,19 @@ class SasClientTests extends APISpec { setup: BlobServiceSasSignatureValues v = new BlobServiceSasSignatureValues(expiryTime, new BlobSasPermission()) - BlobSasImplUtil implUtil = new BlobSasImplUtil(v, containerName, blobName, snapId, null) + BlobSasImplUtil implUtil = new BlobSasImplUtil(v, containerName, blobName, snapId, null, null) expectedStringToSign = String.format(expectedStringToSign, Constants.ISO_8601_UTC_DATE_FORMATTER.format(expiryTime), - env.primaryAccount.name) + environment.primaryAccount.name) when: - String token = implUtil.generateSas(env.primaryAccount.credential, Context.NONE) + String token = implUtil.generateSas(environment.primaryAccount.credential, Context.NONE) def queryParams = new CommonSasQueryParameters(SasImplUtils.parseQueryString(token), true) then: - queryParams.getSignature() == env.primaryAccount.credential.computeHmac256(expectedStringToSign) + queryParams.getSignature() == environment.primaryAccount.credential.computeHmac256(expectedStringToSign) queryParams.getResource() == expectedResource where: @@ -1072,14 +1072,14 @@ class SasClientTests extends APISpec { } v.setProtocol(protocol) - def implUtil = new AccountSasImplUtil(v) + def implUtil = new AccountSasImplUtil(v, null) - def sasToken = implUtil.generateSas(env.primaryAccount.credential, Context.NONE) + def sasToken = implUtil.generateSas(environment.primaryAccount.credential, Context.NONE) def token = BlobUrlParts.parse(cc.getBlobContainerUrl() + "?" + sasToken).getCommonSasQueryParameters() then: - token.getSignature() == env.primaryAccount.credential.computeHmac256(String.format(expectedStringToSign, env.primaryAccount.name)) + token.getSignature() == environment.primaryAccount.credential.computeHmac256(String.format(expectedStringToSign, environment.primaryAccount.name)) where: startTime | ipRange | protocol || expectedStringToSign @@ -1100,7 +1100,7 @@ class SasClientTests extends APISpec { values.setBlobName(sasClient.blobName) when: - def deprecatedStringToSign = values.generateSasQueryParameters(env.primaryAccount.credential).encode() + def deprecatedStringToSign = values.generateSasQueryParameters(environment.primaryAccount.credential).encode() def stringToSign = client.generateSas(values) then: diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ServiceAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ServiceAPITest.groovy index ec8ab1b960c82..f6f5da81a7d3a 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ServiceAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ServiceAPITest.groovy @@ -55,7 +55,7 @@ class ServiceAPITest extends APISpec { setup: // We shouldnt be getting to the network layer anyway anonymousClient = new BlobServiceClientBuilder() - .endpoint(env.primaryAccount.blobEndpoint) + .endpoint(environment.primaryAccount.blobEndpoint) .buildClient() def disabled = new BlobRetentionPolicy().setEnabled(false) primaryBlobServiceClient.setProperties(new BlobServiceProperties() @@ -644,7 +644,7 @@ class ServiceAPITest extends APISpec { def "Set props error"() { when: - getServiceClient(env.primaryAccount.credential, "https://error.blob.core.windows.net") + getServiceClient(environment.primaryAccount.credential, "https://error.blob.core.windows.net") .setProperties(new BlobServiceProperties()) then: @@ -666,7 +666,7 @@ class ServiceAPITest extends APISpec { def "Get props error"() { when: - getServiceClient(env.primaryAccount.credential, "https://error.blob.core.windows.net") + getServiceClient(environment.primaryAccount.credential, "https://error.blob.core.windows.net") .getProperties() then: @@ -733,7 +733,7 @@ class ServiceAPITest extends APISpec { def "Get stats"() { setup: - def serviceClient = getServiceClient(env.primaryAccount.credential, env.primaryAccount.blobEndpointSecondary) + def serviceClient = getServiceClient(environment.primaryAccount.credential, environment.primaryAccount.blobEndpointSecondary) def response = serviceClient.getStatisticsWithResponse(null, null) expect: @@ -746,7 +746,7 @@ class ServiceAPITest extends APISpec { def "Get stats min"() { setup: - def serviceClient = getServiceClient(env.primaryAccount.credential, env.primaryAccount.blobEndpointSecondary) + def serviceClient = getServiceClient(environment.primaryAccount.credential, environment.primaryAccount.blobEndpointSecondary) expect: serviceClient.getStatisticsWithResponse(null, null).getStatusCode() == 200 @@ -789,7 +789,7 @@ class ServiceAPITest extends APISpec { def "Invalid account name"() { setup: def badURL = new URL("http://fake.blobfake.core.windows.net") - def client = getServiceClientBuilder(env.primaryAccount.credential, badURL.toString()) + def client = getServiceClientBuilder(environment.primaryAccount.credential, badURL.toString()) .retryOptions(new RequestRetryOptions(RetryPolicyType.FIXED, 2, 60, 100, 1000, null)) .buildClient() @@ -938,7 +938,7 @@ class ServiceAPITest extends APISpec { given: def cc1 = primaryBlobServiceAsyncClient.getBlobContainerAsyncClient(generateContainerName()) def blobName = generateBlobName() - def delay = env.testMode == TestMode.PLAYBACK ? 0L : 30000L + def delay = environment.testMode == TestMode.PLAYBACK ? 0L : 30000L def blobContainerItemMono = cc1.create() .then(cc1.getBlobAsyncClient(blobName).upload(data.defaultFlux, new ParallelTransferOptions())) @@ -969,7 +969,7 @@ class ServiceAPITest extends APISpec { given: def cc1 = primaryBlobServiceAsyncClient.getBlobContainerAsyncClient(generateContainerName()) def blobName = generateBlobName() - def delay = env.testMode == TestMode.PLAYBACK ? 0L : 30000L + def delay = environment.testMode == TestMode.PLAYBACK ? 0L : 30000L def blobContainerItemMono = cc1.create() .then(cc1.getBlobAsyncClient(blobName).upload(data.defaultFlux, new ParallelTransferOptions())) @@ -1035,7 +1035,7 @@ class ServiceAPITest extends APISpec { def "OAuth on secondary"() { setup: - def serviceClient = setOauthCredentials(getServiceClientBuilder(null, env.primaryAccount.blobEndpointSecondary)).buildClient() + def serviceClient = setOauthCredentials(getServiceClientBuilder(null, environment.primaryAccount.blobEndpointSecondary)).buildClient() when: serviceClient.getProperties() @@ -1069,10 +1069,10 @@ class ServiceAPITest extends APISpec { /* Note: the check is on the blob builder as well but I can't test it this way since we encode all blob names - so it will not be invalid. */ } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { - def sc = getServiceClientBuilder(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), getPerCallVersionPolicy()).buildClient() + def sc = getServiceClientBuilder(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), getPerCallVersionPolicy()).buildClient() when: def response = sc.getPropertiesWithResponse(null, null) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/AppendBlobAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/AppendBlobAPITest.groovy index 0f58aebada291..bf6b739b2066d 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/AppendBlobAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/AppendBlobAPITest.groovy @@ -354,7 +354,7 @@ class AppendBlobAPITest extends APISpec { def "Append block retry on transient failure"() { setup: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, bc.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ).getAppendBlobClient() @@ -696,11 +696,11 @@ class AppendBlobAPITest extends APISpec { null | null | null | null | null | 1 } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def specialBlob = getSpecializedBuilder(env.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) + def specialBlob = getSpecializedBuilder(environment.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) .buildAppendBlobClient() when: diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlobBaseAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlobBaseAPITest.groovy index 7930906ab58a5..f7420c89030d8 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlobBaseAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlobBaseAPITest.groovy @@ -10,10 +10,8 @@ import com.azure.storage.common.implementation.Constants import com.azure.storage.common.test.shared.extensions.LiveOnly import com.azure.storage.common.test.shared.extensions.RequiredServiceVersion import reactor.core.Exceptions -import spock.lang.Requires import spock.lang.Retry import spock.lang.Unroll -import spock.lang.Ignore import java.util.function.Consumer @@ -93,7 +91,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query min"() { setup: BlobQueryDelimitedSerialization ser = new BlobQueryDelimitedSerialization() @@ -140,7 +138,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query csv serialization separator"() { setup: BlobQueryDelimitedSerialization serIn = new BlobQueryDelimitedSerialization() @@ -224,7 +222,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query csv serialization escape and field quote"() { setup: BlobQueryDelimitedSerialization ser = new BlobQueryDelimitedSerialization() @@ -266,7 +264,7 @@ class BlobBaseAPITest extends APISpec { /* Note: Input delimited tested everywhere */ @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input json"() { setup: BlobQueryJsonSerialization ser = new BlobQueryJsonSerialization() @@ -309,7 +307,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2020_10_02") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input parquet"() { setup: String fileName = "parquet.parquet" @@ -345,7 +343,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input csv Output json"() { setup: BlobQueryDelimitedSerialization inSer = new BlobQueryDelimitedSerialization() @@ -386,7 +384,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input json Output csv"() { setup: BlobQueryJsonSerialization inSer = new BlobQueryJsonSerialization() @@ -427,7 +425,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input csv Output arrow"() { setup: BlobQueryDelimitedSerialization inSer = new BlobQueryDelimitedSerialization() @@ -465,7 +463,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query non fatal error"() { setup: BlobQueryDelimitedSerialization base = new BlobQueryDelimitedSerialization() @@ -505,7 +503,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query fatal error"() { setup: BlobQueryDelimitedSerialization base = new BlobQueryDelimitedSerialization() @@ -535,7 +533,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query progress receiver"() { setup: BlobQueryDelimitedSerialization base = new BlobQueryDelimitedSerialization() @@ -580,7 +578,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @LiveOnly // Large amount of data. - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query multiple records with progress receiver"() { setup: BlobQueryDelimitedSerialization ser = new BlobQueryDelimitedSerialization() @@ -632,7 +630,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query snapshot"() { setup: BlobQueryDelimitedSerialization ser = new BlobQueryDelimitedSerialization() @@ -674,7 +672,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query input output IA"() { setup: /* Mock random impl of QQ Serialization*/ @@ -705,7 +703,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query arrow input IA"() { setup: def inSer = new BlobQueryArrowSerialization() @@ -729,7 +727,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2020_10_02") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query parquet output IA"() { setup: def outSer = new BlobQueryParquetSerialization() @@ -753,7 +751,7 @@ class BlobBaseAPITest extends APISpec { } @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query error"() { setup: bc = cc.getBlobClient(generateBlobName()) @@ -773,7 +771,7 @@ class BlobBaseAPITest extends APISpec { @RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query AC"() { setup: def t = new HashMap() diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlockBlobAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlockBlobAPITest.groovy index d212d67cc725f..3b782a370797c 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlockBlobAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/BlockBlobAPITest.groovy @@ -8,6 +8,8 @@ import com.azure.core.http.HttpMethod import com.azure.core.http.HttpPipelineCallContext import com.azure.core.http.HttpPipelineNextPolicy import com.azure.core.http.HttpRequest +import com.azure.core.http.HttpResponse +import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.util.Context import com.azure.core.util.FluxUtil import com.azure.identity.DefaultAzureCredentialBuilder @@ -181,7 +183,7 @@ class BlockBlobAPITest extends APISpec { def "Stage block retry on transient failure"() { setup: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, blobClient.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ).getBlockBlobClient() @@ -1161,7 +1163,7 @@ class BlockBlobAPITest extends APISpec { def "Upload retry on transient failure"() { setup: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, blobClient.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ).getBlockBlobClient() @@ -1449,7 +1451,7 @@ class BlockBlobAPITest extends APISpec { def "Buffered upload handle pathing hot flux with transient failure"() { setup: def clientWithFailure = getBlobAsyncClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, blobAsyncClient.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -1485,7 +1487,7 @@ class BlockBlobAPITest extends APISpec { */ setup: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, blobClient.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -1792,16 +1794,20 @@ class BlockBlobAPITest extends APISpec { def mockHttpResponse = getStubResponse(500, new HttpRequest(HttpMethod.PUT, new URL("https://www.fake.com"))) // Mock a policy that will always then check that the data is still the same and return a retryable error. - def mockPolicy = { HttpPipelineCallContext context, HttpPipelineNextPolicy next -> - return collectBytesInBuffer(context.getHttpRequest().getBody()) - .map({ it == data.defaultData }) - .flatMap({ it ? Mono.just(mockHttpResponse) : Mono.error(new IllegalArgumentException()) }) + def localData = data.defaultData + def mockPolicy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + return collectBytesInBuffer(context.getHttpRequest().getBody()) + .map({ it == localData }) + .flatMap({ it ? Mono.just(mockHttpResponse) : Mono.error(new IllegalArgumentException()) }) as Mono + } } // Build the pipeline blobAsyncClient = new BlobServiceClientBuilder() - .credential(env.primaryAccount.credential) - .endpoint(env.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) .retryOptions(new RequestRetryOptions(null, 3, null, 500, 1500, null)) .addPolicy(mockPolicy).buildAsyncClient() .getBlobContainerAsyncClient(generateContainerName()).getBlobAsyncClient(generateBlobName()) @@ -1944,11 +1950,11 @@ class BlockBlobAPITest extends APISpec { thrown(IllegalArgumentException) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def specialBlob = getSpecializedBuilder(env.primaryAccount.credential, blockBlobClient.getBlobUrl(), getPerCallVersionPolicy()) + def specialBlob = getSpecializedBuilder(environment.primaryAccount.credential, blockBlobClient.getBlobUrl(), getPerCallVersionPolicy()) .buildBlockBlobClient() when: diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/DownloadResponseTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/DownloadResponseTest.groovy index 4ee065002eb1c..72c11b106cdf6 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/DownloadResponseTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/DownloadResponseTest.groovy @@ -11,9 +11,7 @@ import com.azure.core.http.HttpResponse import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.util.FluxUtil import com.azure.storage.blob.APISpec -import com.azure.storage.blob.HttpGetterInfo import com.azure.storage.blob.models.BlobRange -import com.azure.storage.blob.models.BlobRequestConditions import com.azure.storage.blob.models.BlobStorageException import com.azure.storage.blob.models.DownloadRetryOptions import reactor.core.Exceptions @@ -60,7 +58,7 @@ class DownloadResponseTest extends APISpec { }) } } - def bsc = getServiceClientBuilder(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), removeEtagPolicy).buildClient() + def bsc = getServiceClientBuilder(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), removeEtagPolicy).buildClient() def cc = bsc.getBlobContainerClient(containerName) def bu = cc.getBlobClient(bu.getBlobName()).getBlockBlobClient() @@ -77,7 +75,7 @@ class DownloadResponseTest extends APISpec { DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5) - def bsc = getServiceClientBuilder(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() + def bsc = getServiceClientBuilder(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() def cc = bsc.getBlobContainerAsyncClient(containerName) def bu = cc.getBlobAsyncClient(bu.getBlobName()).getBlockBlobAsyncClient() BlobRange range = setCount ? new BlobRange(0, flux.getScenarioData().remaining()) : new BlobRange(0); @@ -106,7 +104,7 @@ class DownloadResponseTest extends APISpec { DownloadResponseMockFlux flux = new DownloadResponseMockFlux(scenario, this) DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(5) - def bsc = getServiceClientBuilder(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() + def bsc = getServiceClientBuilder(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() def cc = bsc.getBlobContainerAsyncClient(containerName) def bu = cc.getBlobAsyncClient(bu.getBlobName()).getBlockBlobAsyncClient() @@ -136,7 +134,7 @@ class DownloadResponseTest extends APISpec { this) DownloadRetryOptions options = new DownloadRetryOptions().setMaxRetryRequests(retryCount) - def bsc = getServiceClientBuilder(env.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() + def bsc = getServiceClientBuilder(environment.primaryAccount.credential, primaryBlobServiceClient.getAccountUrl(), flux.asPolicy()).buildAsyncClient() def cc = bsc.getBlobContainerAsyncClient(containerName) def bu = cc.getBlobAsyncClient(bu.getBlobName()).getBlockBlobAsyncClient() diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/HelperTest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/HelperTest.groovy index 827d709dd9b34..66cf08925a193 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/HelperTest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/HelperTest.groovy @@ -102,8 +102,8 @@ class HelperTest extends APISpec { def p = new BlobSasPermission().setReadPermission(true) def sasValues = new BlobServiceSasSignatureValues(e, p) - def implUtil = new BlobSasImplUtil(sasValues, "containerName", "blobName", "snapshot", null) - def sas = implUtil.generateSas(env.primaryAccount.credential, Context.NONE) + def implUtil = new BlobSasImplUtil(sasValues, "containerName", "blobName", "snapshot", null, null) + def sas = implUtil.generateSas(environment.primaryAccount.credential, Context.NONE) parts.setCommonSasQueryParameters(new CommonSasQueryParameters(SasImplUtils.parseQueryString(sas), true)) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/PageBlobAPITest.groovy b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/PageBlobAPITest.groovy index fd8a838cb0d99..b53dd3a410ede 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/PageBlobAPITest.groovy +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/specialized/PageBlobAPITest.groovy @@ -362,7 +362,7 @@ class PageBlobAPITest extends APISpec { def "Upload page retry on transient failure"() { setup: def clientWithFailure = getBlobClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, bc.getBlobUrl(), new TransientFailureInjectingHttpPipelinePolicy() ).getPageBlobClient() @@ -969,7 +969,7 @@ class PageBlobAPITest extends APISpec { @Ignore def "Get page ranges diff prev snapshot url"() { setup: - BlobServiceClient managedDiskServiceClient = getServiceClient(env.managedDiskAccount) + BlobServiceClient managedDiskServiceClient = getServiceClient(environment.managedDiskAccount) BlobContainerClient managedDiskContainer = managedDiskServiceClient.getBlobContainerClient(generateContainerName()) managedDiskContainer.create() PageBlobClient managedDiskBlob = managedDiskContainer.getBlobClient(generateBlobName()).getPageBlobClient() @@ -1358,11 +1358,11 @@ class PageBlobAPITest extends APISpec { notThrown(Throwable) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def specialBlob = getSpecializedBuilder(env.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) + def specialBlob = getSpecializedBuilder(environment.primaryAccount.credential, bc.getBlobUrl(), getPerCallVersionPolicy()) .buildPageBlobClient() when: diff --git a/sdk/storage/azure-storage-common/CHANGELOG.md b/sdk/storage/azure-storage-common/CHANGELOG.md index 7fc8a10e501b4..879dae55726c0 100644 --- a/sdk/storage/azure-storage-common/CHANGELOG.md +++ b/sdk/storage/azure-storage-common/CHANGELOG.md @@ -29,7 +29,7 @@ - Updated `azure-core` to version `1.16.0` ## 12.11.0 (2021-04-29) -- Fixed concurrency issue in UploadBufferPool that caused large files to hang. +- Fixed concurrency issue in UploadBufferPool that caused large files to not respond. ## 12.11.0-beta.3 (2021-04-16) - Fixed a bug where connection strings with unencoded SAS's would result in URL exceptions. diff --git a/sdk/storage/azure-storage-common/README.md b/sdk/storage/azure-storage-common/README.md index c7868fefc95b9..172be545090d9 100644 --- a/sdk/storage/azure-storage-common/README.md +++ b/sdk/storage/azure-storage-common/README.md @@ -13,6 +13,40 @@ Azure Storage Common is a library that has common dependencies for all Azure Sto ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-common + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + + [//]: # ({x-version-update-start;com.azure:azure-storage-common;current}) ```xml diff --git a/sdk/storage/azure-storage-common/pom.xml b/sdk/storage/azure-storage-common/pom.xml index 78902aa632601..0fd9e9ea350d5 100644 --- a/sdk/storage/azure-storage-common/pom.xml +++ b/sdk/storage/azure-storage-common/pom.xml @@ -41,12 +41,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 + 1.7.2 test @@ -86,13 +86,7 @@ io.projectreactor reactor-test - 3.4.9 - test - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 3.4.10 test @@ -116,7 +110,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -173,39 +167,125 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + ${project.basedir}/src/test-shared + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + + diff --git a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/AccountSasImplUtil.java b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/AccountSasImplUtil.java index fdbd924613ece..f7b6b11633a72 100644 --- a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/AccountSasImplUtil.java +++ b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/AccountSasImplUtil.java @@ -41,12 +41,15 @@ public class AccountSasImplUtil { private String resourceTypes; + private String encryptionScope; + /** * Creates a new {@link AccountSasImplUtil} with the specified parameters * * @param sasValues {@link AccountSasSignatureValues} + * @param encryptionScope An encryption scope that will be applied to any write operations performed with the sas */ - public AccountSasImplUtil(AccountSasSignatureValues sasValues) { + public AccountSasImplUtil(AccountSasSignatureValues sasValues, String encryptionScope) { this.protocol = sasValues.getProtocol(); this.startTime = sasValues.getStartTime(); this.expiryTime = sasValues.getExpiryTime(); @@ -54,6 +57,12 @@ public AccountSasImplUtil(AccountSasSignatureValues sasValues) { this.sasIpRange = sasValues.getSasIpRange(); this.services = sasValues.getServices(); this.resourceTypes = sasValues.getResourceTypes(); + /* + Prefer the encryption scope explicitly set on the sas values. If none present, fallback to the value on the + client. + */ + this.encryptionScope = sasValues.getEncryptionScope() == null + ? encryptionScope : sasValues.getEncryptionScope(); } /** diff --git a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/Constants.java b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/Constants.java index 2b063267f0553..f3fac35f87306 100644 --- a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/Constants.java +++ b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/implementation/Constants.java @@ -88,7 +88,7 @@ public final class Constants { public static final String PROPERTY_AZURE_STORAGE_SAS_SERVICE_VERSION = "AZURE_STORAGE_SAS_SERVICE_VERSION"; public static final String SAS_SERVICE_VERSION = Configuration.getGlobalConfiguration() - .get(PROPERTY_AZURE_STORAGE_SAS_SERVICE_VERSION, "2020-10-02"); + .get(PROPERTY_AZURE_STORAGE_SAS_SERVICE_VERSION, "2020-12-06"); private Constants() { } @@ -332,6 +332,11 @@ public static final class UrlConstants { */ public static final String SAS_SIGNATURE = "sig"; + /** + * The SAS encryption scope parameter. + */ + public static final String SAS_ENCRYPTION_SCOPE = "ses"; + /** * The SAS cache control parameter. */ diff --git a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/AccountSasSignatureValues.java b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/AccountSasSignatureValues.java index 029dbf8263002..2e65ca9070599 100644 --- a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/AccountSasSignatureValues.java +++ b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/AccountSasSignatureValues.java @@ -34,6 +34,8 @@ public final class AccountSasSignatureValues { private String resourceTypes; + private String encryptionScope; + /** * Initializes a new {@link AccountSasSignatureValues} object. * @deprecated Please use {@link #AccountSasSignatureValues(OffsetDateTime, AccountSasPermission, AccountSasService, @@ -235,6 +237,24 @@ public AccountSasSignatureValues setResourceTypes(String resourceTypes) { return this; } + /** + * @return An encryption scope that will be applied to any write operations performed with the sas + */ + public String getEncryptionScope() { + return encryptionScope; + } + + /** + * Sets the encryption scope that will be applied to any write operations performed with the sas + * + * @param encryptionScope the encryption scope to set + * @return the updated AccountSasSignatureValues object. + */ + public AccountSasSignatureValues setEncryptionScope(String encryptionScope) { + this.encryptionScope = encryptionScope; + return this; + } + /** * Generates a {@link AccountSasQueryParameters} object which contains all SAS query parameters for authenticating * requests. @@ -282,17 +302,33 @@ public AccountSasQueryParameters generateSasQueryParameters( } private String stringToSign(final StorageSharedKeyCredential storageSharedKeyCredentials) { - return String.join("\n", - storageSharedKeyCredentials.getAccountName(), - AccountSasPermission.parse(this.permissions).toString(), // guarantees ordering - this.services, - resourceTypes, - this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), - Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), - this.sasIpRange == null ? "" : this.sasIpRange.toString(), - this.protocol == null ? "" : this.protocol.toString(), - VERSION, - "" // Account SAS requires an additional newline character - ); + if (VERSION.compareTo("2020-10-02") <= 0) { + return String.join("\n", + storageSharedKeyCredentials.getAccountName(), + AccountSasPermission.parse(this.permissions).toString(), // guarantees ordering + this.services, + resourceTypes, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + "" // Account SAS requires an additional newline character + ); + } else { + return String.join("\n", + storageSharedKeyCredentials.getAccountName(), + AccountSasPermission.parse(this.permissions).toString(), // guarantees ordering + this.services, + resourceTypes, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + this.encryptionScope == null ? "" : this.encryptionScope, + "" // Account SAS requires an additional newline character + ); + } } } diff --git a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/CommonSasQueryParameters.java b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/CommonSasQueryParameters.java index dbed1f5b72461..0277d63ee0b53 100644 --- a/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/CommonSasQueryParameters.java +++ b/sdk/storage/azure-storage-common/src/main/java/com/azure/storage/common/sas/CommonSasQueryParameters.java @@ -70,6 +70,8 @@ public class CommonSasQueryParameters { private final String correlationId; + private final String encryptionScope; + /** * Creates a new {@link CommonSasQueryParameters} object. * @@ -130,6 +132,8 @@ public CommonSasQueryParameters(Map queryParamsMap, boolean re removeSasParametersFromMap); this.directoryDepth = getQueryParameter(queryParamsMap, Constants.UrlConstants.SAS_DIRECTORY_DEPTH, removeSasParametersFromMap, Integer::parseInt); + this.encryptionScope = getQueryParameter(queryParamsMap, Constants.UrlConstants.SAS_ENCRYPTION_SCOPE, + removeSasParametersFromMap); } /** @@ -218,6 +222,7 @@ public String encode() { this.unauthorizedObjectId); SasImplUtils.tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_CORRELATION_ID, this.correlationId); SasImplUtils.tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_DIRECTORY_DEPTH, this.directoryDepth); + SasImplUtils.tryAppendQueryParameter(sb, Constants.UrlConstants.SAS_ENCRYPTION_SCOPE, this.encryptionScope); return sb.toString(); } @@ -413,4 +418,11 @@ public String getAgentObjectId() { public String getCorrelationId() { return correlationId; } + + /** + * @return An encryption scope that will be applied to any write operations performed with the sas. + */ + public String getEncryptionScope() { + return encryptionScope; + } } diff --git a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/StorageSpec.groovy b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/StorageSpec.groovy index 035a55a4b7424..6a91e7507657a 100644 --- a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/StorageSpec.groovy +++ b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/StorageSpec.groovy @@ -15,6 +15,7 @@ import com.azure.core.test.TestMode import com.azure.core.util.ServiceVersion import com.azure.core.util.logging.ClientLogger import com.azure.identity.EnvironmentCredentialBuilder +import com.azure.storage.common.test.shared.policy.NoOpHttpPipelinePolicy import okhttp3.ConnectionPool import spock.lang.Specification @@ -48,7 +49,7 @@ class StorageSpec extends Specification { interceptorManager.close() } - protected static TestEnvironment getEnv() { + protected static TestEnvironment getEnvironment() { return ENVIRONMENT } @@ -87,7 +88,7 @@ class StorageSpec extends Specification { if (ENVIRONMENT.testMode == TestMode.RECORD) { return interceptorManager.getRecordPolicy() } else { - return { context, next -> return next.process() } + return NoOpHttpPipelinePolicy.INSTANCE } } @@ -107,7 +108,7 @@ class StorageSpec extends Specification { } private static String getAuthToken() { - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { // we just need some string to satisfy SDK for playback mode. Recording framework handles this fine. return "recordingBearerToken" } diff --git a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/ThreadDumper.java b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/ThreadDumper.java index bc1f318e6c61c..9d320e70a9564 100644 --- a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/ThreadDumper.java +++ b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/ThreadDumper.java @@ -13,7 +13,7 @@ public class ThreadDumper { - private static final ClientLogger LOGGER = new ClientLogger(StorageSpec.class); + private static final ClientLogger LOGGER = new ClientLogger(ThreadDumper.class); private static volatile ScheduledExecutorService executorService; // Assume that after 30 minutes test job hangs. diff --git a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/extensions/LiveOnly.java b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/extensions/LiveOnly.java index fb3346ea14bca..dae024c34fb85 100644 --- a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/extensions/LiveOnly.java +++ b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/extensions/LiveOnly.java @@ -6,10 +6,12 @@ import org.spockframework.runtime.extension.ExtensionAnnotation; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +@Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) @ExtensionAnnotation(LiveOnlyExtension.class) diff --git a/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/policy/NoOpHttpPipelinePolicy.java b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/policy/NoOpHttpPipelinePolicy.java new file mode 100644 index 0000000000000..742d4d19bb1e8 --- /dev/null +++ b/sdk/storage/azure-storage-common/src/test-shared/java/com/azure/storage/common/test/shared/policy/NoOpHttpPipelinePolicy.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.storage.common.test.shared.policy; + +import com.azure.core.http.HttpPipelineCallContext; +import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.policy.HttpPipelinePolicy; +import reactor.core.publisher.Mono; + +public final class NoOpHttpPipelinePolicy implements HttpPipelinePolicy { + + public static final HttpPipelinePolicy INSTANCE = new NoOpHttpPipelinePolicy(); + + private NoOpHttpPipelinePolicy() { + } + + @Override + public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + return next.process(); + } +} diff --git a/sdk/storage/azure-storage-common/src/test/java/com/azure/storage/common/implementation/SasModelsTest.groovy b/sdk/storage/azure-storage-common/src/test/java/com/azure/storage/common/implementation/SasModelsTest.groovy index 6ad3ba35ef801..b3f3dbba19d91 100644 --- a/sdk/storage/azure-storage-common/src/test/java/com/azure/storage/common/implementation/SasModelsTest.groovy +++ b/sdk/storage/azure-storage-common/src/test/java/com/azure/storage/common/implementation/SasModelsTest.groovy @@ -248,7 +248,7 @@ class SasModelsTest extends Specification { def s = AccountSasService.parse("b") def rt = AccountSasResourceType.parse("o") def v = new AccountSasSignatureValues(e, p, s, rt) - def implUtil = new AccountSasImplUtil(v) + def implUtil = new AccountSasImplUtil(v, null) when: implUtil.generateSas(null, Context.NONE) diff --git a/sdk/storage/azure-storage-file-datalake/CHANGELOG.md b/sdk/storage/azure-storage-file-datalake/CHANGELOG.md index 45b89330edfa8..51ae827957003 100644 --- a/sdk/storage/azure-storage-file-datalake/CHANGELOG.md +++ b/sdk/storage/azure-storage-file-datalake/CHANGELOG.md @@ -36,7 +36,7 @@ - Updated `azure-core` to version `1.16.0` ## 12.5.0 (2021-04-29) -- Fixed a bug where large files would hang when the upload method was called. +- Fixed a bug where large files would not respond when the upload method was called. - DataLakeLeaseClient now remembers the Lease ID after a lease change. ## 12.5.0-beta.3 (2021-04-16) diff --git a/sdk/storage/azure-storage-file-datalake/README.md b/sdk/storage/azure-storage-file-datalake/README.md index 4f69c972f6c35..2165763986253 100644 --- a/sdk/storage/azure-storage-file-datalake/README.md +++ b/sdk/storage/azure-storage-file-datalake/README.md @@ -18,7 +18,38 @@ efficient data access. ### Include the package -Add a dependency on Azure Storage File Datalake +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-file-datalake + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. [//]: # ({x-version-update-start;com.azure:azure-storage-file-datalake;current}) ```xml diff --git a/sdk/storage/azure-storage-file-datalake/pom.xml b/sdk/storage/azure-storage-file-datalake/pom.xml index cedb1456a7ab7..73a99e25de3af 100644 --- a/sdk/storage/azure-storage-file-datalake/pom.xml +++ b/sdk/storage/azure-storage-file-datalake/pom.xml @@ -77,12 +77,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -111,7 +111,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -123,13 +123,7 @@ io.projectreactor reactor-test - 3.4.9 - test - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 3.4.10 test @@ -165,7 +159,7 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test @@ -184,41 +178,6 @@ ${basedir}/src/test/resources - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - @@ -261,5 +220,116 @@ + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + diff --git a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeFileSystemClientBuilder.java b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeFileSystemClientBuilder.java index 0d87c2184920e..4bf6c648f68f7 100644 --- a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeFileSystemClientBuilder.java +++ b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeFileSystemClientBuilder.java @@ -261,7 +261,7 @@ public DataLakeFileSystemClientBuilder httpClient(HttpClient httpClient) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClientBuilder.java b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClientBuilder.java index 42c2c12d6bb72..5428c4a1f5430 100644 --- a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClientBuilder.java +++ b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakePathClientBuilder.java @@ -365,7 +365,7 @@ public DataLakePathClientBuilder addPolicy(HttpPipelinePolicy pipelinePolicy) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeServiceClientBuilder.java b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeServiceClientBuilder.java index 33146d9aeff4a..ad943f9d776fe 100644 --- a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeServiceClientBuilder.java +++ b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/DataLakeServiceClientBuilder.java @@ -248,7 +248,7 @@ public DataLakeServiceClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/implementation/util/DataLakeSasImplUtil.java b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/implementation/util/DataLakeSasImplUtil.java index 5fa6032a2ef7e..adc555145077a 100644 --- a/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/implementation/util/DataLakeSasImplUtil.java +++ b/sdk/storage/azure-storage-file-datalake/src/main/java/com/azure/storage/file/datalake/implementation/util/DataLakeSasImplUtil.java @@ -299,23 +299,44 @@ private String getCanonicalName(String account) { } private String stringToSign(String canonicalName) { - return String.join("\n", - this.permissions == null ? "" : permissions, - this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), - this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), - canonicalName, - this.identifier == null ? "" : this.identifier, - this.sasIpRange == null ? "" : this.sasIpRange.toString(), - this.protocol == null ? "" : this.protocol.toString(), - VERSION, - resource, - "", /* Version segment. */ - this.cacheControl == null ? "" : this.cacheControl, - this.contentDisposition == null ? "" : this.contentDisposition, - this.contentEncoding == null ? "" : this.contentEncoding, - this.contentLanguage == null ? "" : this.contentLanguage, - this.contentType == null ? "" : this.contentType - ); + if (VERSION.compareTo(DataLakeServiceVersion.V2020_10_02.getVersion()) <= 0) { + return String.join("\n", + this.permissions == null ? "" : permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + this.identifier == null ? "" : this.identifier, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + "", /* Version segment. */ + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); + } else { + return String.join("\n", + this.permissions == null ? "" : permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + this.identifier == null ? "" : this.identifier, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + "", /* Version segment. */ + "", // encryptionScope + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); + } } private String stringToSign(final UserDelegationKey key, String canonicalName) { @@ -342,7 +363,34 @@ private String stringToSign(final UserDelegationKey key, String canonicalName) { this.contentLanguage == null ? "" : this.contentLanguage, this.contentType == null ? "" : this.contentType ); - } else { + } if (VERSION.compareTo(DataLakeServiceVersion.V2020_10_02.getVersion()) <= 0) { + return String.join("\n", + this.permissions == null ? "" : this.permissions, + this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), + this.expiryTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.expiryTime), + canonicalName, + key.getSignedObjectId() == null ? "" : key.getSignedObjectId(), + key.getSignedTenantId() == null ? "" : key.getSignedTenantId(), + key.getSignedStart() == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(key.getSignedStart()), + key.getSignedExpiry() == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(key.getSignedExpiry()), + key.getSignedService() == null ? "" : key.getSignedService(), + key.getSignedVersion() == null ? "" : key.getSignedVersion(), + this.authorizedAadObjectId == null ? "" : this.authorizedAadObjectId, + this.unauthorizedAadObjectId == null ? "" : this.unauthorizedAadObjectId, + this.correlationId == null ? "" : this.correlationId, + this.sasIpRange == null ? "" : this.sasIpRange.toString(), + this.protocol == null ? "" : this.protocol.toString(), + VERSION, + resource, + "", /* Version segment. */ + this.cacheControl == null ? "" : this.cacheControl, + this.contentDisposition == null ? "" : this.contentDisposition, + this.contentEncoding == null ? "" : this.contentEncoding, + this.contentLanguage == null ? "" : this.contentLanguage, + this.contentType == null ? "" : this.contentType + ); + } + else { return String.join("\n", this.permissions == null ? "" : this.permissions, this.startTime == null ? "" : Constants.ISO_8601_UTC_DATE_FORMATTER.format(this.startTime), @@ -362,6 +410,7 @@ private String stringToSign(final UserDelegationKey key, String canonicalName) { VERSION, resource, "", /* Version segment. */ + "", /* Encryption scope. */ this.cacheControl == null ? "" : this.cacheControl, this.contentDisposition == null ? "" : this.contentDisposition, this.contentEncoding == null ? "" : this.contentEncoding, diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/APISpec.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/APISpec.groovy index 59b62a4b26319..c6485af2634cc 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/APISpec.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/APISpec.groovy @@ -18,7 +18,6 @@ import com.azure.storage.common.implementation.Constants import com.azure.storage.common.policy.RequestRetryOptions import com.azure.storage.common.test.shared.StorageSpec import com.azure.storage.common.test.shared.TestAccount -import com.azure.storage.common.test.shared.policy.MockDownloadHttpResponse import com.azure.storage.file.datalake.models.LeaseStateType import com.azure.storage.file.datalake.models.ListFileSystemsOptions import com.azure.storage.file.datalake.models.PathAccessControlEntry @@ -72,8 +71,8 @@ class APISpec extends StorageSpec { def fileSystemName def setup() { - primaryDataLakeServiceClient = getServiceClient(env.dataLakeAccount) - primaryDataLakeServiceAsyncClient = getServiceAsyncClient(env.dataLakeAccount) + primaryDataLakeServiceClient = getServiceClient(environment.dataLakeAccount) + primaryDataLakeServiceAsyncClient = getServiceAsyncClient(environment.dataLakeAccount) fileSystemName = generateFileSystemName() fsc = primaryDataLakeServiceClient.getFileSystemClient(fileSystemName) @@ -82,11 +81,11 @@ class APISpec extends StorageSpec { } def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupClient = new DataLakeServiceClientBuilder() .httpClient(getHttpClient()) - .credential(env.dataLakeAccount.credential) - .endpoint(env.dataLakeAccount.dataLakeEndpoint) + .credential(environment.dataLakeAccount.credential) + .endpoint(environment.dataLakeAccount.dataLakeEndpoint) .buildClient() def options = new ListFileSystemsOptions().setPrefix(namer.getResourcePrefix()) @@ -109,16 +108,16 @@ class APISpec extends StorageSpec { def getOAuthServiceClient() { DataLakeServiceClientBuilder builder = new DataLakeServiceClientBuilder() - .endpoint(env.dataLakeAccount.dataLakeEndpoint) + .endpoint(environment.dataLakeAccount.dataLakeEndpoint) instrument(builder) - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { // AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET return builder.credential(new EnvironmentCredentialBuilder().build()).buildClient() } else { // Running in playback, we don't have access to the AAD environment variables, just use SharedKeyCredential. - return builder.credential(env.dataLakeAccount.credential).buildClient() + return builder.credential(environment.dataLakeAccount.credential).buildClient() } } @@ -168,7 +167,7 @@ class APISpec extends StorageSpec { DataLakeServiceAsyncClient getPrimaryServiceClientForWrites(long perRequestDataSize) { int retryTimeout = Math.toIntExact((long) (perRequestDataSize / Constants.MB) * 20) retryTimeout = Math.max(60, retryTimeout) - return getServiceClientBuilder(env.dataLakeAccount) + return getServiceClientBuilder(environment.dataLakeAccount) .retryOptions(new RequestRetryOptions(null, null, retryTimeout, null, null, null)) .buildAsyncClient() } @@ -495,7 +494,7 @@ class APISpec extends StorageSpec { // Only sleep if test is running in live mode def sleepIfRecord(long milliseconds) { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { sleep(milliseconds) } } @@ -526,7 +525,7 @@ class APISpec extends StorageSpec { } def sleepIfLive(long milliseconds) { - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { return } sleep(milliseconds) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/AsyncErrorMappingTest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/AsyncErrorMappingTest.groovy index 218792194a9a4..facba332cd282 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/AsyncErrorMappingTest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/AsyncErrorMappingTest.groovy @@ -12,7 +12,7 @@ class AsyncErrorMappingTest extends APISpec { def setup() { fileSystemName = generateFileSystemName() - fsac = getServiceAsyncClient(env.dataLakeAccount).createFileSystem(fileSystemName).block() + fsac = getServiceAsyncClient(environment.dataLakeAccount).createFileSystem(fileSystemName).block() } def "Read file"() { @@ -80,7 +80,7 @@ class AsyncErrorMappingTest extends APISpec { def "Create file system"() { when: - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def createVerifier = StepVerifier.create(fsac.createWithResponse(null, null)) then: createVerifier.verifyError(DataLakeStorageException) @@ -89,7 +89,7 @@ class AsyncErrorMappingTest extends APISpec { def "Get file system properties"() { when: def fileSystemName = generateFileSystemName() - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def getPropertiesVerifier = StepVerifier.create(fsac.getPropertiesWithResponse(null)) then: getPropertiesVerifier.verifyError(DataLakeStorageException) @@ -98,7 +98,7 @@ class AsyncErrorMappingTest extends APISpec { def "Set file system metadata"() { when: def fileSystemName = generateFileSystemName() - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def setMetadataVerifier = StepVerifier.create(fsac.setMetadataWithResponse(null, null)) then: setMetadataVerifier.verifyError(DataLakeStorageException) @@ -107,7 +107,7 @@ class AsyncErrorMappingTest extends APISpec { def "Delete file system"() { when: def fileSystemName = generateFileSystemName() - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def setMetadataVerifier = StepVerifier.create(fsac.deleteWithResponse(null)) then: setMetadataVerifier.verifyError(DataLakeStorageException) @@ -116,7 +116,7 @@ class AsyncErrorMappingTest extends APISpec { def "Get file system access policy"() { when: def fileSystemName = generateFileSystemName() - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def getAccessPolicyVerifier = StepVerifier.create(fsac.getAccessPolicyWithResponse(null)) then: getAccessPolicyVerifier.verifyError(DataLakeStorageException) @@ -125,7 +125,7 @@ class AsyncErrorMappingTest extends APISpec { def "Set file system access policy"() { when: def fileSystemName = generateFileSystemName() - def fsac = getServiceAsyncClient(env.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) + def fsac = getServiceAsyncClient(environment.dataLakeAccount).getFileSystemAsyncClient(fileSystemName) def setAccessPolicyVerifier = StepVerifier.create(fsac.setAccessPolicyWithResponse(null, null, null)) then: setAccessPolicyVerifier.verifyError(DataLakeStorageException) @@ -134,7 +134,7 @@ class AsyncErrorMappingTest extends APISpec { def "List file systems"() { when: - PagedFlux items = getServiceAsyncClient(env.dataLakeAccount).listFileSystems() + PagedFlux items = getServiceAsyncClient(environment.dataLakeAccount).listFileSystems() def listFileSystemsVerifier = StepVerifier.create(items.byPage("garbage continuation token").count()) then: listFileSystemsVerifier.verifyError(DataLakeStorageException) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/DirectoryAPITest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/DirectoryAPITest.groovy index 13670fcc838b4..3a50049bafbeb 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/DirectoryAPITest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/DirectoryAPITest.groovy @@ -4,6 +4,7 @@ import com.azure.core.http.HttpMethod import com.azure.core.http.HttpPipelineCallContext import com.azure.core.http.HttpPipelineNextPolicy import com.azure.core.http.HttpRequest +import com.azure.core.http.HttpResponse import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.http.rest.Response import com.azure.core.util.Context @@ -854,11 +855,15 @@ class DirectoryAPITest extends APISpec { .setBatchSize(2) // Mock a policy that will return an error on the call with the continuation token - HttpPipelinePolicy mockPolicy = { HttpPipelineCallContext context, HttpPipelineNextPolicy next -> - return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(error) : next.process() + def localError = error + HttpPipelinePolicy mockPolicy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(localError) : next.process() as Mono + } } - dc = getDirectoryClient(env.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) + dc = getDirectoryClient(environment.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) when: def result = dc.setAccessControlRecursiveWithResponse(options, null, null).getValue() @@ -1261,11 +1266,15 @@ class DirectoryAPITest extends APISpec { .setBatchSize(2) // Mock a policy that will return an error on the call with the continuation token - HttpPipelinePolicy mockPolicy = { HttpPipelineCallContext context, HttpPipelineNextPolicy next -> - return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(error) : next.process() + def localError = error + HttpPipelinePolicy mockPolicy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(localError) : next.process() as Mono + } } - dc = getDirectoryClient(env.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) + dc = getDirectoryClient(environment.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) when: def result = dc.updateAccessControlRecursiveWithResponse(options, null, null).getValue() @@ -1667,11 +1676,15 @@ class DirectoryAPITest extends APISpec { .setBatchSize(2) // Mock a policy that will return an error on the call with the continuation token - HttpPipelinePolicy mockPolicy = { HttpPipelineCallContext context, HttpPipelineNextPolicy next -> - return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(error) : next.process() + def localError = error + HttpPipelinePolicy mockPolicy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + return context.getHttpRequest().getUrl().toString().contains("continuation") ? Mono.error(localError) : next.process() as Mono + } } - dc = getDirectoryClient(env.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) + dc = getDirectoryClient(environment.dataLakeAccount.credential, dc.getDirectoryUrl(), dc.getObjectPath(), mockPolicy) when: def result = dc.removeAccessControlRecursiveWithResponse(options, null, null).getValue() @@ -2911,11 +2924,11 @@ class DirectoryAPITest extends APISpec { notThrown(DataLakeStorageException) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def directoryClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), dc.getObjectPath(), getPerCallVersionPolicy()) + def directoryClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), dc.getObjectPath(), getPerCallVersionPolicy()) when: "blob endpoint" def response = directoryClient.getPropertiesWithResponse(null, null, null) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileAPITest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileAPITest.groovy index 0364606bd58d8..4d88e1c5f79fe 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileAPITest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileAPITest.groovy @@ -1,6 +1,10 @@ package com.azure.storage.file.datalake import com.azure.core.exception.UnexpectedLengthException +import com.azure.core.http.HttpPipelineCallContext +import com.azure.core.http.HttpPipelineNextPolicy +import com.azure.core.http.HttpResponse +import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.test.TestMode import com.azure.core.util.Context import com.azure.core.util.FluxUtil @@ -978,7 +982,7 @@ class FileAPITest extends APISpec { constructed in BlobClient.download(). */ setup: - def fileClient = getFileClient(env.dataLakeAccount.credential, fc.getPathUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) + def fileClient = getFileClient(environment.dataLakeAccount.credential, fc.getPathUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) fc.append(new ByteArrayInputStream(data.defaultBytes), 0, data.defaultDataSize) fc.flush(data.defaultDataSize) @@ -1105,7 +1109,7 @@ class FileAPITest extends APISpec { setup: fc.append(new ByteArrayInputStream(data.defaultBytes), 0, data.defaultDataSize) fc.flush(data.defaultDataSize) - def failureFileClient = getFileClient(env.dataLakeAccount.credential, fc.getFileUrl(), new MockFailureResponsePolicy(5)) + def failureFileClient = getFileClient(environment.dataLakeAccount.credential, fc.getFileUrl(), new MockFailureResponsePolicy(5)) when: def outStream = new ByteArrayOutputStream() @@ -1271,8 +1275,8 @@ class FileAPITest extends APISpec { setup: def fileSystemName = generateFileSystemName() def datalakeServiceClient = new DataLakeServiceClientBuilder() - .endpoint(env.dataLakeAccount.dataLakeEndpoint) - .credential(env.dataLakeAccount.credential) + .endpoint(environment.dataLakeAccount.dataLakeEndpoint) + .credential(environment.dataLakeAccount.credential) .buildClient() def fileClient = datalakeServiceClient.createFileSystem(fileSystemName) @@ -1313,8 +1317,8 @@ class FileAPITest extends APISpec { setup: def fileSystemName = generateFileSystemName() def datalakeServiceAsyncClient = new DataLakeServiceClientBuilder() - .endpoint(env.dataLakeAccount.dataLakeEndpoint) - .credential(env.dataLakeAccount.credential) + .endpoint(environment.dataLakeAccount.dataLakeEndpoint) + .credential(environment.dataLakeAccount.credential) .buildAsyncClient() def fileAsyncClient = datalakeServiceAsyncClient.createFileSystem(fileSystemName).block() @@ -1512,11 +1516,13 @@ class FileAPITest extends APISpec { def facUploading = instrument(new DataLakePathClientBuilder() .endpoint(fc.getPathUrl()) - .credential(env.dataLakeAccount.credential)) + .credential(environment.dataLakeAccount.credential)) .buildFileAsyncClient() - def facDownloading = instrument(new DataLakePathClientBuilder() - .addPolicy({ context, next -> + def localData = data + def policy = new HttpPipelinePolicy() { + @Override + Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { return next.process() .flatMap({ r -> if (counter.incrementAndGet() == 1) { @@ -1524,14 +1530,17 @@ class FileAPITest extends APISpec { * When the download begins trigger an upload to overwrite the downloading blob * so that the download is able to get an ETag before it is changed. */ - return facUploading.upload(data.defaultFlux, null, true) + return facUploading.upload(localData.defaultFlux, null, true) .thenReturn(r) } return Mono.just(r) }) - }) + } + } + def facDownloading = instrument(new DataLakePathClientBuilder() + .addPolicy(policy) .endpoint(fc.getPathUrl()) - .credential(env.dataLakeAccount.credential)) + .credential(environment.dataLakeAccount.credential)) .buildFileAsyncClient() /* @@ -1931,7 +1940,7 @@ class FileAPITest extends APISpec { def "Append data retry on transient failure"() { setup: def clientWithFailure = getFileClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fc.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -2528,7 +2537,7 @@ class FileAPITest extends APISpec { def "Buffered upload handle pathing hot flux with transient failure"() { setup: def clientWithFailure = getFileAsyncClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fc.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -2540,7 +2549,7 @@ class FileAPITest extends APISpec { new ParallelTransferOptions().setMaxSingleUploadSizeLong(4 * Constants.MB), true) then: - def fcAsync = getFileAsyncClient(env.dataLakeAccount.credential, fc.getFileUrl()) + def fcAsync = getFileAsyncClient(environment.dataLakeAccount.credential, fc.getFileUrl()) StepVerifier.create(uploadOperation.then(collectBytesInBuffer(fcAsync.read()))) .assertNext({ assert compareListToBuffer(dataList, it) }) .verifyComplete() @@ -2561,7 +2570,7 @@ class FileAPITest extends APISpec { */ setup: def clientWithFailure = getFileClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fc.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -2658,6 +2667,8 @@ class FileAPITest extends APISpec { "foo" | "bar" | "fizz" | "buzz" } + // TODO https://github.com/cglib/cglib/issues/191 CGLib used to generate Spy doesn't work in Java 17 + @IgnoreIf( { Runtime.version().feature() > 11 } ) @Unroll @LiveOnly def "Buffered upload options"() { @@ -2949,7 +2960,7 @@ class FileAPITest extends APISpec { def "Upload successful retry"() { given: def clientWithFailure = getFileClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fc.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy()) @@ -3032,7 +3043,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query min"() { setup: FileQueryDelimitedSerialization ser = new FileQueryDelimitedSerialization() @@ -3079,7 +3090,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query csv serialization separator"() { setup: FileQueryDelimitedSerialization serIn = new FileQueryDelimitedSerialization() @@ -3163,7 +3174,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query csv serialization escape and field quote"() { setup: FileQueryDelimitedSerialization ser = new FileQueryDelimitedSerialization() @@ -3205,7 +3216,7 @@ class FileAPITest extends APISpec { /* Note: Input delimited tested everywhere else. */ @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input json"() { setup: FileQueryJsonSerialization ser = new FileQueryJsonSerialization() @@ -3248,7 +3259,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2020_10_02") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input parquet"() { setup: String fileName = "parquet.parquet" @@ -3284,7 +3295,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input csv Output json"() { setup: FileQueryDelimitedSerialization inSer = new FileQueryDelimitedSerialization() @@ -3326,7 +3337,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input json Output csv"() { setup: FileQueryJsonSerialization inSer = new FileQueryJsonSerialization() @@ -3368,7 +3379,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query Input csv Output arrow"() { setup: FileQueryDelimitedSerialization inSer = new FileQueryDelimitedSerialization() @@ -3406,7 +3417,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query non fatal error"() { setup: FileQueryDelimitedSerialization base = new FileQueryDelimitedSerialization() @@ -3446,7 +3457,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query fatal error"() { setup: FileQueryDelimitedSerialization base = new FileQueryDelimitedSerialization() @@ -3478,7 +3489,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query progress receiver"() { setup: FileQueryDelimitedSerialization base = new FileQueryDelimitedSerialization() @@ -3523,7 +3534,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @LiveOnly // Large amount of data. - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query multiple records with progress receiver"() { setup: FileQueryDelimitedSerialization ser = new FileQueryDelimitedSerialization() @@ -3576,7 +3587,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query input output IA"() { setup: /* Mock random impl of QQ Serialization*/ @@ -3611,7 +3622,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query arrow input IA"() { setup: def inSer = new FileQueryArrowSerialization() @@ -3635,7 +3646,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2020_10_02") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query parquet output IA"() { setup: def outSer = new FileQueryParquetSerialization() @@ -3659,7 +3670,7 @@ class FileAPITest extends APISpec { } @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query error"() { setup: fc = fsc.getFileClient(generatePathName()) @@ -3679,7 +3690,7 @@ class FileAPITest extends APISpec { @RequiredServiceVersion(clazz = DataLakeServiceVersion.class, min = "V2019_12_12") @Unroll - @Retry(count = 5, delay = 5, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 5, condition = { environment.testMode == TestMode.LIVE }) def "Query AC"() { setup: match = setupPathMatchCondition(fc, match) @@ -3921,6 +3932,8 @@ class FileAPITest extends APISpec { } /* Due to the inability to spy on a private method, we are just calling the async client with the input stream constructor */ + // TODO https://github.com/cglib/cglib/issues/191 CGLib used to generate Spy doesn't work in Java 17 + @IgnoreIf( { Runtime.version().feature() > 11 } ) @Unroll @LiveOnly /* Flaky in playback. */ def "Upload numAppends"() { @@ -3968,11 +3981,11 @@ class FileAPITest extends APISpec { thrown(IllegalStateException) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def fileClient = getFileClient(env.dataLakeAccount.credential, fc.getFileUrl(), getPerCallVersionPolicy()) + def fileClient = getFileClient(environment.dataLakeAccount.credential, fc.getFileUrl(), getPerCallVersionPolicy()) when: "blob endpoint" def response = fileClient.getPropertiesWithResponse(null, null, null) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileSystemAPITest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileSystemAPITest.groovy index 923dd215e4967..ce17751c2168b 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileSystemAPITest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/FileSystemAPITest.groovy @@ -13,17 +13,14 @@ import com.azure.storage.file.datalake.models.LeaseStateType import com.azure.storage.file.datalake.models.LeaseStatusType import com.azure.storage.file.datalake.models.ListPathsOptions import com.azure.storage.file.datalake.models.PathAccessControlEntry -import com.azure.storage.file.datalake.models.PathDeletedItem import com.azure.storage.file.datalake.models.PathHttpHeaders import com.azure.storage.file.datalake.models.PathItem import com.azure.storage.file.datalake.models.PublicAccessType -import spock.lang.ResourceLock import spock.lang.Unroll import java.time.OffsetDateTime import java.time.ZoneId import java.time.temporal.ChronoUnit -import java.util.stream.Collectors class FileSystemAPITest extends APISpec { @@ -1246,7 +1243,7 @@ class FileSystemAPITest extends APISpec { // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { setup: - def fsc = getFileSystemClientBuilder(fsc.getFileSystemUrl()).addPolicy(getPerCallVersionPolicy()).credential(env.dataLakeAccount.credential).buildClient() + def fsc = getFileSystemClientBuilder(fsc.getFileSystemUrl()).addPolicy(getPerCallVersionPolicy()).credential(environment.dataLakeAccount.credential).buildClient() when: "blob endpoint" def response = fsc.getPropertiesWithResponse(null, null, null) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/LargeFileTest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/LargeFileTest.groovy index 6ddc16ae2fb89..e39d527664db4 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/LargeFileTest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/LargeFileTest.groovy @@ -42,12 +42,12 @@ class LargeFileTest extends APISpec{ fileName = generatePathName() def fileClient = fsc.getFileClient(fileName) fc = getFileClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fileClient.getFileUrl(), new CountingPolicy() ) fcAsync = getFileAsyncClient( - env.dataLakeAccount.credential, + environment.dataLakeAccount.credential, fileClient.getFileUrl(), new CountingPolicy() ) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SASTest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SASTest.groovy index 8c7ba4d04dc04..7c637f029d521 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SASTest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SASTest.groovy @@ -38,7 +38,7 @@ class SASTest extends APISpec { def setup() { pathName = generatePathName() - sasClient = getFileClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + sasClient = getFileClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) sasClient.create() sasClient.append(data.defaultInputStream, 0, data.defaultDataSize) sasClient.flush(data.defaultDataSize) @@ -110,7 +110,7 @@ class SASTest extends APISpec { def "directory sas permission"() { setup: def pathName = generatePathName() - DataLakeDirectoryClient sasClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + DataLakeDirectoryClient sasClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) sasClient.create() def permissions = new PathSasPermission() .setReadPermission(true) @@ -148,7 +148,7 @@ class SASTest extends APISpec { def "directory sas permission fail"() { setup: def pathName = generatePathName() - DataLakeDirectoryClient sasClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + DataLakeDirectoryClient sasClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) sasClient.create() def permissions = new PathSasPermission() /* No read permission. */ .setWritePermission(true) @@ -251,7 +251,7 @@ class SASTest extends APISpec { def "directory user delegation"() { setup: def pathName = generatePathName() - DataLakeDirectoryClient sasClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + DataLakeDirectoryClient sasClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) sasClient.create() def permissions = new PathSasPermission() .setReadPermission(true) @@ -358,7 +358,7 @@ class SASTest extends APISpec { when: /* Grant userOID on root folder. */ - def rootClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), "") + def rootClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), "") ArrayList acl = new ArrayList<>(); PathAccessControlEntry ace = new PathAccessControlEntry() .setAccessControlType(AccessControlType.USER) @@ -382,7 +382,7 @@ class SASTest extends APISpec { sasWithPermissions.contains("saoid=" + saoid) when: - client = getFileClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + client = getFileClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) def accessControl = client.getAccessControl() then: @@ -431,7 +431,7 @@ class SASTest extends APISpec { when: "User is now authorized." /* Grant userOID on root folder. */ - def rootClient = getDirectoryClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), "") + def rootClient = getDirectoryClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), "") ArrayList acl = new ArrayList<>(); PathAccessControlEntry ace = new PathAccessControlEntry() .setAccessControlType(AccessControlType.USER) @@ -450,7 +450,7 @@ class SASTest extends APISpec { client.append(data.defaultInputStream, 0, data.defaultDataSize) client.flush(data.defaultDataSize) - client = getFileClient(env.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) + client = getFileClient(environment.dataLakeAccount.credential, fsc.getFileSystemUrl(), pathName) then: notThrown(DataLakeStorageException) @@ -657,7 +657,7 @@ class SASTest extends APISpec { def fsc = getFileSystemClientBuilder(primaryDataLakeServiceClient.getAccountUrl() + "/" + fileSystemName + "?" + sas).buildClient() fsc.listPaths() - def fc = getFileClient(env.dataLakeAccount.credential, primaryDataLakeServiceClient.getAccountUrl() + "/" + fileSystemName + "/" + pathName + "?" + sas) + def fc = getFileClient(environment.dataLakeAccount.credential, primaryDataLakeServiceClient.getAccountUrl() + "/" + fileSystemName + "/" + pathName + "?" + sas) fc.create() @@ -685,7 +685,7 @@ class SASTest extends APISpec { } else { v = new DataLakeServiceSasSignatureValues(e, p) } - def expected = String.format(expectedStringToSign, env.dataLakeAccount.name) + def expected = String.format(expectedStringToSign, environment.dataLakeAccount.name) v.setPermissions(p) @@ -707,7 +707,7 @@ class SASTest extends APISpec { def util = new DataLakeSasImplUtil(v, "fileSystemName", "pathName", false) util.ensureState() - def sasToken = util.stringToSign(util.getCanonicalName(env.dataLakeAccount.name)) + def sasToken = util.stringToSign(util.getCanonicalName(environment.dataLakeAccount.name)) then: sasToken == expected @@ -741,7 +741,7 @@ class SASTest extends APISpec { p.setReadPermission(true) def v = new DataLakeServiceSasSignatureValues(e, p) - def expected = String.format(expectedStringToSign, env.dataLakeAccount.name) + def expected = String.format(expectedStringToSign, environment.dataLakeAccount.name) p.setReadPermission(true) v.setPermissions(p) @@ -775,7 +775,7 @@ class SASTest extends APISpec { def util = new DataLakeSasImplUtil(v, "fileSystemName", "pathName", false) util.ensureState() - def sasToken = util.stringToSign(key, util.getCanonicalName(env.dataLakeAccount.name)) + def sasToken = util.stringToSign(key, util.getCanonicalName(environment.dataLakeAccount.name)) then: sasToken == expected diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/ServiceAPITest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/ServiceAPITest.groovy index a0e9978ce9594..d937436bf2fc9 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/ServiceAPITest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/ServiceAPITest.groovy @@ -191,7 +191,7 @@ class ServiceAPITest extends APISpec { @ResourceLock("ServiceProperties") def "Set props error"() { when: - getServiceClient(env.dataLakeAccount.credential, "https://error.blob.core.windows.net") + getServiceClient(environment.dataLakeAccount.credential, "https://error.blob.core.windows.net") .setProperties(new DataLakeServiceProperties()) then: @@ -207,7 +207,7 @@ class ServiceAPITest extends APISpec { @ResourceLock("ServiceProperties") def "Get props error"() { when: - getServiceClient(env.dataLakeAccount.credential, "https://error.blob.core.windows.net") + getServiceClient(environment.dataLakeAccount.credential, "https://error.blob.core.windows.net") .getProperties() then: @@ -402,10 +402,10 @@ class ServiceAPITest extends APISpec { thrown(IllegalArgumentException) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { - def serviceClient = getServiceClient(env.dataLakeAccount.credential, primaryDataLakeServiceClient.getAccountUrl(), getPerCallVersionPolicy()) + def serviceClient = getServiceClient(environment.dataLakeAccount.credential, primaryDataLakeServiceClient.getAccountUrl(), getPerCallVersionPolicy()) when: "blob endpoint" def response = serviceClient.createFileSystemWithResponse(generateFileSystemName(), null, null, null) @@ -505,7 +505,7 @@ class ServiceAPITest extends APISpec { given: def cc1 = primaryDataLakeServiceAsyncClient.getFileSystemAsyncClient(generateFileSystemName()) def blobName = generatePathName() - def delay = env.testMode == TestMode.PLAYBACK ? 0L : 30000L + def delay = environment.testMode == TestMode.PLAYBACK ? 0L : 30000L def blobContainerItemMono = cc1.create() .then(cc1.getFileAsyncClient(blobName).upload(data.defaultFlux, new ParallelTransferOptions())) @@ -536,7 +536,7 @@ class ServiceAPITest extends APISpec { given: def cc1 = primaryDataLakeServiceAsyncClient.getFileSystemAsyncClient(generateFileSystemName()) def blobName = generatePathName() - def delay = env.testMode == TestMode.PLAYBACK ? 0L : 30000L + def delay = environment.testMode == TestMode.PLAYBACK ? 0L : 30000L def blobContainerItemMono = cc1.create() .then(cc1.getFileAsyncClient(blobName).upload(data.defaultFlux, new ParallelTransferOptions())) diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SoftDeleteTest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SoftDeleteTest.groovy index f027441f8c88a..443e030304cd1 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SoftDeleteTest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/SoftDeleteTest.groovy @@ -20,11 +20,11 @@ class SoftDeleteTest extends APISpec{ DataLakeFileSystemClient fileSystemClient def setupSpec() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { // This is to enable soft delete until better way is found. No need for recording. def setupClient = new DataLakeServiceClientBuilder() - .endpoint(env.dataLakeSoftDeleteAccount.dataLakeEndpoint) - .credential(env.dataLakeSoftDeleteAccount.credential) + .endpoint(environment.dataLakeSoftDeleteAccount.dataLakeEndpoint) + .credential(environment.dataLakeSoftDeleteAccount.credential) .buildClient() setupClient.setProperties(new DataLakeServiceProperties() .setDeleteRetentionPolicy(new DataLakeRetentionPolicy().setEnabled(true).setDays(2))) @@ -34,7 +34,7 @@ class SoftDeleteTest extends APISpec{ } def setup() { - softDeleteDataLakeServiceClient = getServiceClient(env.dataLakeSoftDeleteAccount) + softDeleteDataLakeServiceClient = getServiceClient(environment.dataLakeSoftDeleteAccount) fileSystemClient = softDeleteDataLakeServiceClient.getFileSystemClient(generateFileSystemName()) fileSystemClient.create() } diff --git a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/specialized/LeaseAsyncErrorMappingTest.groovy b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/specialized/LeaseAsyncErrorMappingTest.groovy index a5cb70a4ca8eb..d2a8a29c77947 100644 --- a/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/specialized/LeaseAsyncErrorMappingTest.groovy +++ b/sdk/storage/azure-storage-file-datalake/src/test/java/com/azure/storage/file/datalake/specialized/LeaseAsyncErrorMappingTest.groovy @@ -7,7 +7,7 @@ import reactor.test.StepVerifier class LeaseAsyncErrorMappingTest extends APISpec { private DataLakeFileAsyncClient createPathAsyncClient() { - def fac = getServiceAsyncClient(env.dataLakeAccount) + def fac = getServiceAsyncClient(environment.dataLakeAccount) .createFileSystem(generateFileSystemName()).block() .getFileAsyncClient(generatePathName()) return fac diff --git a/sdk/storage/azure-storage-file-share/README.md b/sdk/storage/azure-storage-file-share/README.md index fcbe12c69aff6..79147d3520f13 100644 --- a/sdk/storage/azure-storage-file-share/README.md +++ b/sdk/storage/azure-storage-file-share/README.md @@ -20,6 +20,40 @@ Shares provide a way to organize sets of files and also can be mounted as an SMB ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-file-share + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + + [//]: # ({x-version-update-start;com.azure:azure-storage-file-share;current}) ```xml diff --git a/sdk/storage/azure-storage-file-share/pom.xml b/sdk/storage/azure-storage-file-share/pom.xml index fbd233caa36ef..c4733fb948c82 100644 --- a/sdk/storage/azure-storage-file-share/pom.xml +++ b/sdk/storage/azure-storage-file-share/pom.xml @@ -57,13 +57,13 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -92,19 +92,13 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test io.projectreactor reactor-test - 3.4.9 - test - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 3.4.10 test @@ -140,48 +134,11 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - - inject-sas-service-version @@ -222,5 +179,116 @@ + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + diff --git a/sdk/storage/azure-storage-file-share/src/main/java/com/azure/storage/file/share/ShareServiceAsyncClient.java b/sdk/storage/azure-storage-file-share/src/main/java/com/azure/storage/file/share/ShareServiceAsyncClient.java index adbb7a293a3eb..4e7cfaaf8aaf7 100644 --- a/sdk/storage/azure-storage-file-share/src/main/java/com/azure/storage/file/share/ShareServiceAsyncClient.java +++ b/sdk/storage/azure-storage-file-share/src/main/java/com/azure/storage/file/share/ShareServiceAsyncClient.java @@ -604,7 +604,7 @@ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureVa * @return A {@code String} representing the SAS query parameters. */ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Context context) { - return new AccountSasImplUtil(accountSasSignatureValues) + return new AccountSasImplUtil(accountSasSignatureValues, null) .generateSas(SasImplUtils.extractSharedKeyCredential(getHttpPipeline()), context); } diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/APISpec.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/APISpec.groovy index 88e786b5bc9b2..c685ed3ffddcc 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/APISpec.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/APISpec.groovy @@ -3,8 +3,7 @@ package com.azure.storage.file.share -import com.azure.core.credential.AccessToken -import com.azure.core.credential.TokenRequestContext + import com.azure.core.http.HttpHeaders import com.azure.core.http.HttpPipelineCallContext import com.azure.core.http.HttpPipelineNextPolicy @@ -13,11 +12,6 @@ import com.azure.core.http.HttpResponse import com.azure.core.http.policy.HttpPipelinePolicy import com.azure.core.test.TestMode import com.azure.core.util.Context -import com.azure.identity.EnvironmentCredential -import com.azure.identity.EnvironmentCredentialBuilder -import com.azure.identity.implementation.IdentityClientOptions -import com.azure.storage.blob.BlobServiceClient -import com.azure.storage.blob.BlobServiceClientBuilder import com.azure.storage.common.StorageSharedKeyCredential import com.azure.storage.common.test.shared.StorageSpec import com.azure.storage.common.test.shared.TestAccount @@ -63,20 +57,20 @@ class APISpec extends StorageSpec { * Setup the File service clients commonly used for the API tests. */ def setup() { - primaryFileServiceClient = getServiceClient(env.primaryAccount) - primaryFileServiceAsyncClient = getServiceAsyncClient(env.primaryAccount) + primaryFileServiceClient = getServiceClient(environment.primaryAccount) + primaryFileServiceAsyncClient = getServiceAsyncClient(environment.primaryAccount) - premiumFileServiceClient = getServiceClient(env.premiumFileAccount) - premiumFileServiceAsyncClient = getServiceAsyncClient(env.premiumFileAccount) + premiumFileServiceClient = getServiceClient(environment.premiumFileAccount) + premiumFileServiceAsyncClient = getServiceAsyncClient(environment.premiumFileAccount) } /** * Clean up the test shares, directories and files for the account. */ def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupFileServiceClient = new ShareServiceClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .buildClient() for (def share : cleanupFileServiceClient.listShares(new ListSharesOptions().setPrefix(namer.getResourcePrefix()), null, Context.NONE)) { def shareClient = cleanupFileServiceClient.getShareClient(share.getName()) @@ -123,7 +117,7 @@ class APISpec extends StorageSpec { def fileServiceBuilderHelper() { ShareServiceClientBuilder shareServiceClientBuilder = instrument(new ShareServiceClientBuilder()) return shareServiceClientBuilder - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) } ShareServiceClientBuilder getServiceClientBuilder(StorageSharedKeyCredential credential, String endpoint, @@ -159,14 +153,14 @@ class APISpec extends StorageSpec { def shareBuilderHelper(final String shareName, final String snapshot) { ShareClientBuilder builder = instrument(new ShareClientBuilder()) - return builder.connectionString(env.primaryAccount.connectionString) + return builder.connectionString(environment.primaryAccount.connectionString) .shareName(shareName) .snapshot(snapshot) } def directoryBuilderHelper(final String shareName, final String directoryPath) { ShareFileClientBuilder builder = instrument(new ShareFileClientBuilder()) - return builder.connectionString(env.primaryAccount.connectionString) + return builder.connectionString(environment.primaryAccount.connectionString) .shareName(shareName) .resourcePath(directoryPath) } @@ -191,7 +185,7 @@ class APISpec extends StorageSpec { def fileBuilderHelper(final String shareName, final String filePath) { ShareFileClientBuilder builder = instrument(new ShareFileClientBuilder()) return builder - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .shareName(shareName) .resourcePath(filePath) } @@ -288,7 +282,7 @@ class APISpec extends StorageSpec { } void sleepIfLive(long milliseconds) { - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { return } @@ -297,13 +291,13 @@ class APISpec extends StorageSpec { // Only sleep if test is running in live or record mode def sleepIfRecord(long milliseconds) { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { sleep(milliseconds) } } def getPollingDuration(long liveTestDurationInMillis) { - return (env.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(10) : Duration.ofMillis(liveTestDurationInMillis) + return (environment.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(10) : Duration.ofMillis(liveTestDurationInMillis) } /** diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAPITests.groovy index 390f1ae1c404a..d5926cbf85951 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAPITests.groovy @@ -42,7 +42,7 @@ class DirectoryAPITests extends APISpec { def "Get directory URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, directoryPath) when: @@ -54,7 +54,7 @@ class DirectoryAPITests extends APISpec { def "Get share snapshot URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, directoryPath) when: @@ -69,7 +69,7 @@ class DirectoryAPITests extends APISpec { when: def snapshotEndpoint = String.format("https://%s.file.core.windows.net/%s/%s?sharesnapshot=%s", accountName, shareName, directoryPath, shareSnapshotInfo.getSnapshot()) - ShareDirectoryClient client = getDirectoryClient(StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString), snapshotEndpoint) + ShareDirectoryClient client = getDirectoryClient(StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString), snapshotEndpoint) then: client.getDirectoryUrl() == snapshotEndpoint diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAsyncAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAsyncAPITests.groovy index a94918a5c4e31..5efb87c767d35 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAsyncAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/DirectoryAsyncAPITests.groovy @@ -39,7 +39,7 @@ class DirectoryAsyncAPITests extends APISpec { def "Get directory URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, directoryPath) when: def directoryURL = primaryDirectoryAsyncClient.getDirectoryUrl() diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAPITests.groovy index 4d757d6ed82fa..283e2b3832c32 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAPITests.groovy @@ -33,7 +33,6 @@ import com.azure.storage.file.share.sas.ShareServiceSasSignatureValues import spock.lang.Ignore import spock.lang.Unroll -import java.nio.ByteBuffer import java.nio.charset.StandardCharsets import java.nio.file.FileAlreadyExistsException import java.nio.file.NoSuchFileException @@ -75,7 +74,7 @@ class FileAPITests extends APISpec { def "Get file URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, filePath) when: @@ -87,7 +86,7 @@ class FileAPITests extends APISpec { def "Get share snapshot URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, filePath) when: @@ -102,7 +101,7 @@ class FileAPITests extends APISpec { when: def snapshotEndpoint = String.format("https://%s.file.core.windows.net/%s/%s?sharesnapshot=%s", accountName, shareName, filePath, shareSnapshotInfo.getSnapshot()) - ShareFileClient client = getFileClient(StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString), snapshotEndpoint) + ShareFileClient client = getFileClient(StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString), snapshotEndpoint) then: client.getFileUrl() == snapshotEndpoint @@ -339,7 +338,7 @@ class FileAPITests extends APISpec { given: primaryFileClient.create(data.defaultDataSize) def clientWithFailure = getFileClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, primaryFileClient.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy()) @@ -462,7 +461,7 @@ class FileAPITests extends APISpec { setup: primaryFileClient.create(data.defaultDataSizeLong) primaryFileClient.upload(data.defaultInputStream, data.defaultDataSizeLong) - def fc2 = getFileClient(env.primaryAccount.credential, primaryFileClient.getFileUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) + def fc2 = getFileClient(environment.primaryAccount.credential, primaryFileClient.getFileUrl(), new MockRetryRangeResponsePolicy("bytes=2-6")) when: def range = new ShareFileRange(2, 6L) @@ -482,7 +481,7 @@ class FileAPITests extends APISpec { setup: primaryFileClient.create(data.defaultDataSizeLong) primaryFileClient.upload(data.defaultInputStream, data.defaultDataSizeLong) - def failureClient = getFileClient(env.primaryAccount.credential, primaryFileClient.getFileUrl(), new MockFailureResponsePolicy(5)) + def failureClient = getFileClient(environment.primaryAccount.credential, primaryFileClient.getFileUrl(), new MockFailureResponsePolicy(5)) when: def outStream = new ByteArrayOutputStream() @@ -601,7 +600,7 @@ class FileAPITests extends APISpec { def "Upload data retry on transient failure"() { setup: def clientWithFailure = getFileClient( - env.primaryAccount.credential, + environment.primaryAccount.credential, primaryFileClient.getFileUrl(), new TransientFailureInjectingHttpPipelinePolicy() ) @@ -774,7 +773,7 @@ class FileAPITests extends APISpec { def "Download file buffer copy"() { setup: def shareServiceClient = new ShareServiceClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .buildClient() def fileClient = shareServiceClient.getShareClient(shareName) @@ -865,7 +864,7 @@ class FileAPITests extends APISpec { def destinationOffset = 0 primaryFileClient.upload(getInputStream(data.getBytes()), data.length()) - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasToken = new ShareServiceSasSignatureValues() .setExpiryTime(namer.getUtcNow().plusDays(1)) .setPermissions(new ShareFileSasPermission().setReadPermission(true)) diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAsyncAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAsyncAPITests.groovy index 133497a46ff33..32441aa3438dc 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAsyncAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileAsyncAPITests.groovy @@ -23,7 +23,6 @@ import com.azure.storage.file.share.sas.ShareServiceSasSignatureValues import reactor.core.publisher.Flux import reactor.test.StepVerifier import spock.lang.Ignore -import spock.lang.Requires import spock.lang.Unroll import java.nio.ByteBuffer @@ -61,7 +60,7 @@ class FileAsyncAPITests extends APISpec { def "Get file URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s/%s", accountName, shareName, filePath) when: @@ -178,7 +177,7 @@ class FileAsyncAPITests extends APISpec { def "Download file buffer copy"() { setup: def shareServiceAsyncClient = new ShareServiceClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .buildAsyncClient() def fileClient = shareServiceAsyncClient.getShareAsyncClient(shareName) @@ -621,7 +620,7 @@ class FileAsyncAPITests extends APISpec { def destinationOffset = 0 primaryFileAsyncClient.upload(Flux.just(ByteBuffer.wrap(data.getBytes())), data.length()).block() - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasToken = new ShareServiceSasSignatureValues() .setExpiryTime(namer.getUtcNow().plusDays(1)) .setPermissions(new ShareFileSasPermission().setReadPermission(true)) @@ -657,7 +656,7 @@ class FileAsyncAPITests extends APISpec { def destinationOffset = 0 primaryFileAsyncClient.upload(Flux.just(ByteBuffer.wrap(data.getBytes())), data.length()).block() - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasToken = new ShareServiceSasSignatureValues() .setExpiryTime(namer.getUtcNow().plusDays(1)) .setPermissions(new ShareFileSasPermission().setReadPermission(true)) @@ -689,7 +688,7 @@ class FileAsyncAPITests extends APISpec { def destinationOffset = 0 primaryFileAsyncClient.upload(Flux.just(ByteBuffer.wrap(data.getBytes())), data.length()).block() - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasToken = new ShareServiceSasSignatureValues() .setExpiryTime(namer.getUtcNow().plusDays(1)) .setPermissions(new ShareFileSasPermission().setReadPermission(true)) diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSASTests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSASTests.groovy index c1bd897a7ada0..ebf06bfc598b1 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSASTests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSASTests.groovy @@ -1,15 +1,12 @@ package com.azure.storage.file.share import com.azure.core.credential.AzureSasCredential -import com.azure.core.http.policy.HttpPipelinePolicy -import com.azure.core.test.TestMode import com.azure.storage.common.StorageSharedKeyCredential import com.azure.storage.common.implementation.Constants import com.azure.storage.common.sas.AccountSasPermission import com.azure.storage.common.sas.AccountSasResourceType import com.azure.storage.common.sas.AccountSasService import com.azure.storage.common.sas.AccountSasSignatureValues -import com.azure.storage.common.sas.SasIpRange import com.azure.storage.common.sas.SasProtocol import com.azure.storage.file.share.models.ShareAccessPolicy import com.azure.storage.file.share.models.ShareSignedIdentifier @@ -165,7 +162,7 @@ class FileSASTests extends APISpec { def contentType = "type" when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sas = new ShareServiceSasSignatureValues() .setPermissions(permissions) .setExpiryTime(expiryTime) @@ -221,7 +218,7 @@ class FileSASTests extends APISpec { def contentType = "type" when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sas = new ShareServiceSasSignatureValues() .setPermissions(permissions) .setExpiryTime(expiryTime) @@ -274,7 +271,7 @@ class FileSASTests extends APISpec { OffsetDateTime expiryTime = namer.getUtcNow().plusDays(1) when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasWithId = new ShareServiceSasSignatureValues() .setIdentifier(identifier.getId()) .setShareName(primaryShareClient.getShareName()) @@ -325,7 +322,7 @@ class FileSASTests extends APISpec { def expiryTime = namer.getUtcNow().plusDays(1) when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sas = new AccountSasSignatureValues() .setServices(service.toString()) .setResourceTypes(resourceType.toString()) @@ -368,7 +365,7 @@ class FileSASTests extends APISpec { .setResourceTypes(resourceType.toString()) .setPermissions(permissions) .setExpiryTime(expiryTime) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def shareName = namer.getRandomName(60) def pathName = namer.getRandomName(60) diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSasClientTests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSasClientTests.groovy index bfccacb64561f..548b2913eb3a0 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSasClientTests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileSasClientTests.groovy @@ -1,12 +1,11 @@ package com.azure.storage.file.share -import com.azure.storage.common.StorageSharedKeyCredential + import com.azure.storage.common.implementation.Constants import com.azure.storage.common.sas.AccountSasPermission import com.azure.storage.common.sas.AccountSasResourceType import com.azure.storage.common.sas.AccountSasService import com.azure.storage.common.sas.AccountSasSignatureValues -import com.azure.storage.common.sas.SasIpRange import com.azure.storage.common.sas.SasProtocol import com.azure.storage.file.share.models.ShareAccessPolicy import com.azure.storage.file.share.models.ShareSignedIdentifier @@ -189,12 +188,12 @@ class FileSasClientTests extends APISpec { */ def "Remember about string to sign deprecation"() { setup: - def client = shareBuilderHelper(shareName).credential(env.primaryAccount.credential).buildClient() + def client = shareBuilderHelper(shareName).credential(environment.primaryAccount.credential).buildClient() def values = new ShareServiceSasSignatureValues(namer.getUtcNow(), new ShareSasPermission()) values.setShareName(client.getShareName()) when: - def deprecatedStringToSign = values.generateSasQueryParameters(env.primaryAccount.credential).encode() + def deprecatedStringToSign = values.generateSasQueryParameters(environment.primaryAccount.credential).encode() def stringToSign = client.generateSas(values) then: diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAPITests.groovy index 70413353949ad..c3296477f1974 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAPITests.groovy @@ -23,7 +23,6 @@ import com.azure.storage.file.share.models.SmbMultichannel import com.azure.storage.file.share.options.ShareCreateOptions import com.azure.storage.file.share.options.ShareSetPropertiesOptions import spock.lang.IgnoreIf -import spock.lang.Requires import spock.lang.ResourceLock import spock.lang.Unroll @@ -55,7 +54,7 @@ class FileServiceAPITests extends APISpec { def "Get file service URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net", accountName) when: def fileServiceURL = primaryFileServiceClient.getFileServiceUrl() @@ -396,10 +395,10 @@ class FileServiceAPITests extends APISpec { thrown(ShareStorageException.class) } - @IgnoreIf( { getEnv().serviceVersion != null } ) + @IgnoreIf( { getEnvironment().serviceVersion != null } ) // This tests the policy is in the right place because if it were added per retry, it would be after the credentials and auth would fail because we changed a signed header. def "Per call policy"() { - def serviceClient = getServiceClient(env.primaryAccount.credential, primaryFileServiceClient.getFileServiceUrl(), getPerCallVersionPolicy()) + def serviceClient = getServiceClient(environment.primaryAccount.credential, primaryFileServiceClient.getFileServiceUrl(), getPerCallVersionPolicy()) when: def response = serviceClient.getPropertiesWithResponse(null, null) diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAsyncAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAsyncAPITests.groovy index 7363deeb9b8d5..fbd6e83086918 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAsyncAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/FileServiceAsyncAPITests.groovy @@ -38,7 +38,7 @@ class FileServiceAsyncAPITests extends APISpec { def "Get file service URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net", accountName) when: diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/OAuthCopySourceTests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/OAuthCopySourceTests.groovy index 0b053b172b23a..9ddd8547d6fcc 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/OAuthCopySourceTests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/OAuthCopySourceTests.groovy @@ -39,14 +39,14 @@ class OAuthCopySourceTests extends APISpec { def getBlobContainer() { instrument(new BlobServiceClientBuilder()) - .endpoint(env.primaryAccount.blobEndpoint) - .credential(env.primaryAccount.credential) + .endpoint(environment.primaryAccount.blobEndpoint) + .credential(environment.primaryAccount.credential) .buildClient() .createBlobContainer(getShareName()) } // RBAC replication lag - @Retry(count = 5, delay = 30, condition = { env.testMode == TestMode.LIVE }) + @Retry(count = 5, delay = 30, condition = { environment.testMode == TestMode.LIVE }) def "Copy from URL with oauth source"() { given: def oauthHeader = getAuthToken() diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAPITests.groovy index aebcc38d29920..5f3ae7305ba4b 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAPITests.groovy @@ -29,7 +29,6 @@ import com.azure.storage.file.share.options.ShareGetStatisticsOptions import com.azure.storage.file.share.options.ShareSetAccessPolicyOptions import com.azure.storage.file.share.options.ShareSetPropertiesOptions import com.azure.storage.file.share.options.ShareSetMetadataOptions -import spock.lang.Requires import spock.lang.Unroll import java.time.LocalDateTime @@ -55,7 +54,7 @@ class ShareAPITests extends APISpec { def "Get share URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s", accountName, shareName) when: @@ -67,7 +66,7 @@ class ShareAPITests extends APISpec { def "Get share snapshot URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s", accountName, shareName) primaryShareClient.create() when: @@ -82,7 +81,7 @@ class ShareAPITests extends APISpec { when: def snapshotEndpoint = String.format("https://%s.file.core.windows.net/%s?sharesnapshot=%s", accountName, shareName, shareSnapshotInfo.getSnapshot()) - ShareClient client = getShareClientBuilder(snapshotEndpoint).credential(StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString)).buildClient() + ShareClient client = getShareClientBuilder(snapshotEndpoint).credential(StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString)).buildClient() then: client.getShareUrl() == snapshotEndpoint @@ -173,7 +172,7 @@ class ShareAPITests extends APISpec { when: def createSnapshotResponse = primaryShareClient.createSnapshotWithResponse(null, null, null) - def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(env.primaryAccount.connectionString) + def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(environment.primaryAccount.connectionString) .snapshot(createSnapshotResponse.getValue().getSnapshot()).httpClient(new NettyAsyncHttpClientBuilder().build()) .buildClient() then: @@ -197,7 +196,7 @@ class ShareAPITests extends APISpec { when: def createSnapshotResponse = primaryShareClient.createSnapshotWithResponse(testMetadata, null, null) - def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(env.primaryAccount.connectionString) + def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(environment.primaryAccount.connectionString) .snapshot(createSnapshotResponse.getValue().getSnapshot()).httpClient(new NettyAsyncHttpClientBuilder().build()) .buildClient() then: diff --git a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAsyncAPITests.groovy b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAsyncAPITests.groovy index 58ea5a973b21a..c6d0537fd2d03 100644 --- a/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAsyncAPITests.groovy +++ b/sdk/storage/azure-storage-file-share/src/test/java/com/azure/storage/file/share/ShareAsyncAPITests.groovy @@ -18,7 +18,6 @@ import com.azure.storage.file.share.models.ShareStorageException import com.azure.storage.file.share.options.ShareCreateOptions import com.azure.storage.file.share.options.ShareSetPropertiesOptions import reactor.test.StepVerifier -import spock.lang.Requires import spock.lang.Unroll import java.time.LocalDateTime @@ -42,7 +41,7 @@ class ShareAsyncAPITests extends APISpec { def "Get share URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.file.core.windows.net/%s", accountName, shareName) when: def shareURL = primaryShareAsyncClient.getShareUrl() @@ -113,7 +112,7 @@ class ShareAsyncAPITests extends APISpec { then: createSnapshotVerifier.assertNext { assert FileTestHelper.assertResponseStatusCode(it, 201) - def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(env.primaryAccount.connectionString) + def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(environment.primaryAccount.connectionString) .snapshot(it.getValue().getSnapshot()).httpClient(new NettyAsyncHttpClientBuilder().build()).buildClient() assert Objects.equals(it.getValue().getSnapshot(), shareSnapshotClient.getSnapshotId()) @@ -139,7 +138,7 @@ class ShareAsyncAPITests extends APISpec { then: createSnapshotVerifier.assertNext { assert FileTestHelper.assertResponseStatusCode(it, 201) - def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(env.primaryAccount.connectionString) + def shareSnapshotClient = new ShareClientBuilder().shareName(shareSnapshotName).connectionString(environment.primaryAccount.connectionString) .snapshot(it.getValue().getSnapshot()).httpClient(new NettyAsyncHttpClientBuilder().build()).buildClient() assert Objects.equals(it.getValue().getSnapshot(), shareSnapshotClient.getSnapshotId()) diff --git a/sdk/storage/azure-storage-internal-avro/pom.xml b/sdk/storage/azure-storage-internal-avro/pom.xml index 1177115f925ee..b3f07fb74ab0b 100644 --- a/sdk/storage/azure-storage-internal-avro/pom.xml +++ b/sdk/storage/azure-storage-internal-avro/pom.xml @@ -47,12 +47,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -62,13 +62,7 @@ io.projectreactor reactor-test - 3.4.9 - test - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 3.4.10 test @@ -113,7 +107,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.3.1 attach-javadocs @@ -171,39 +165,119 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + + diff --git a/sdk/storage/azure-storage-queue/README.md b/sdk/storage/azure-storage-queue/README.md index 33dccf579d57d..d4634bdab9953 100644 --- a/sdk/storage/azure-storage-queue/README.md +++ b/sdk/storage/azure-storage-queue/README.md @@ -15,6 +15,39 @@ A single queue message can be up to 64 KB in size, and a queue can contain milli ### Include the package +#### Include the BOM file + +Please include the azure-sdk-bom to your project to take dependency on GA version of the library. In the following snippet, replace the {bom_version_to_target} placeholder with the version number. +To learn more about the BOM, see the [AZURE SDK BOM README](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/boms/azure-sdk-bom/README.md). + +```xml + + + + com.azure + azure-sdk-bom + {bom_version_to_target} + pom + import + + + +``` +and then include the direct dependency in the dependencies section without the version tag. + +```xml + + + com.azure + azure-storage-queue + + +``` + +#### Include direct dependency +If you want to take dependency on a particular version of the library that is not present in the BOM, +add the direct dependency to your project as follows. + [//]: # ({x-version-update-start;com.azure:azure-storage-queue;current}) ```xml diff --git a/sdk/storage/azure-storage-queue/pom.xml b/sdk/storage/azure-storage-queue/pom.xml index 27e6c0955abc2..1f39c02932f6f 100644 --- a/sdk/storage/azure-storage-queue/pom.xml +++ b/sdk/storage/azure-storage-queue/pom.xml @@ -55,12 +55,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure @@ -78,20 +78,13 @@ com.azure azure-core-test - 1.7.1 - test - - - - org.spockframework - spock-core - 2.0-M4-groovy-2.5 + 1.7.2 test io.projectreactor reactor-test - 3.4.9 + 3.4.10 test @@ -121,48 +114,11 @@ com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - default-testCompile - process-test-sources - - testCompile - - - groovy-eclipse-compiler - - -warn:-unused - - - - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - - - - inject-sas-service-version @@ -203,5 +159,116 @@ + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + groovy-eclipse-compiler + + -warn:-unused + + + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + + + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + diff --git a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueClientBuilder.java b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueClientBuilder.java index e03b0746611ee..8a456edc80323 100644 --- a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueClientBuilder.java +++ b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueClientBuilder.java @@ -345,7 +345,7 @@ public QueueClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceAsyncClient.java b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceAsyncClient.java index 0c1c420ee8b7f..c64ecae1ff584 100644 --- a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceAsyncClient.java +++ b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceAsyncClient.java @@ -576,7 +576,7 @@ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureVa * @return A {@code String} representing the SAS query parameters. */ public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Context context) { - return new AccountSasImplUtil(accountSasSignatureValues) + return new AccountSasImplUtil(accountSasSignatureValues, null) .generateSas(SasImplUtils.extractSharedKeyCredential(getHttpPipeline()), context); } diff --git a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceClientBuilder.java b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceClientBuilder.java index 76769d7cfa782..15a19160ec614 100644 --- a/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceClientBuilder.java +++ b/sdk/storage/azure-storage-queue/src/main/java/com/azure/storage/queue/QueueServiceClientBuilder.java @@ -324,7 +324,7 @@ public QueueServiceClientBuilder httpLogOptions(HttpLogOptions logOptions) { } /** - * Gets the default Storage whitelist log headers and query parameters. + * Gets the default Storage allowlist log headers and query parameters. * * @return the default http log options. */ diff --git a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/APISpec.groovy b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/APISpec.groovy index c1f0eb03be950..fe68d5503a447 100644 --- a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/APISpec.groovy +++ b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/APISpec.groovy @@ -28,9 +28,9 @@ class APISpec extends StorageSpec { * Clean up the test queues and messages for the account. */ def cleanup() { - if (env.testMode != TestMode.PLAYBACK) { + if (environment.testMode != TestMode.PLAYBACK) { def cleanupQueueServiceClient = new QueueServiceClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .buildClient() cleanupQueueServiceClient.listQueues(new QueuesSegmentOptions().setPrefix(namer.getResourcePrefix()), null, Context.NONE).each { @@ -42,14 +42,14 @@ class APISpec extends StorageSpec { def queueServiceBuilderHelper() { QueueServiceClientBuilder builder = instrument(new QueueServiceClientBuilder()) return builder - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) } def queueBuilderHelper() { def queueName = namer.getRandomName(60) QueueClientBuilder builder = instrument(new QueueClientBuilder()) return builder - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .queueName(queueName) } @@ -79,7 +79,7 @@ class APISpec extends StorageSpec { } def sleepIfLive(long milliseconds) { - if (env.testMode == TestMode.PLAYBACK) { + if (environment.testMode == TestMode.PLAYBACK) { return } @@ -87,7 +87,7 @@ class APISpec extends StorageSpec { } def getMessageUpdateDelay(long liveTestDurationInMillis) { - return (env.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(10) : Duration.ofMillis(liveTestDurationInMillis) + return (environment.testMode == TestMode.PLAYBACK) ? Duration.ofMillis(10) : Duration.ofMillis(liveTestDurationInMillis) } def getPerCallVersionPolicy() { diff --git a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAPITests.groovy b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAPITests.groovy index a7f9ae46601f5..33aadf4af8daa 100644 --- a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAPITests.groovy +++ b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAPITests.groovy @@ -37,7 +37,7 @@ class QueueAPITests extends APISpec { def "Get queue URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.queue.core.windows.net/%s", accountName, queueName) when: @@ -50,7 +50,7 @@ class QueueAPITests extends APISpec { def "IP based endpoint"() { when: def queueClient = new QueueClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .endpoint("http://127.0.0.1:10001/devstoreaccount1/myqueue") .buildClient() diff --git a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAysncAPITests.groovy b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAysncAPITests.groovy index b5ab3c1e77093..ce8c1f5513235 100644 --- a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAysncAPITests.groovy +++ b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueAysncAPITests.groovy @@ -36,7 +36,7 @@ class QueueAysncAPITests extends APISpec { def "Get queue URL"() { given: - def accountName = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString).getAccountName() + def accountName = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString).getAccountName() def expectURL = String.format("https://%s.queue.core.windows.net/%s", accountName, queueName) when: @@ -49,7 +49,7 @@ class QueueAysncAPITests extends APISpec { def "IP based endpoint"() { when: def queueAsyncClient = new QueueClientBuilder() - .connectionString(env.primaryAccount.connectionString) + .connectionString(environment.primaryAccount.connectionString) .endpoint("http://127.0.0.1:10001/devstoreaccount1/myqueue") .buildAsyncClient() diff --git a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSASTests.groovy b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSASTests.groovy index 2539d27b91bdc..5bc8712f58f0d 100644 --- a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSASTests.groovy +++ b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSASTests.groovy @@ -4,8 +4,6 @@ package com.azure.storage.queue import com.azure.core.credential.AzureSasCredential -import com.azure.core.http.policy.HttpPipelinePolicy -import com.azure.core.test.TestMode import com.azure.storage.common.sas.AccountSasPermission import com.azure.storage.common.sas.AccountSasResourceType import com.azure.storage.common.sas.AccountSasService @@ -110,7 +108,7 @@ class QueueSASTests extends APISpec { def sasProtocol = SasProtocol.HTTPS_HTTP when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasPermissions = new QueueServiceSasSignatureValues() .setPermissions(permissions) .setExpiryTime(expiryTime) @@ -155,7 +153,7 @@ class QueueSASTests extends APISpec { def sasProtocol = SasProtocol.HTTPS_HTTP when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasPermissions = new QueueServiceSasSignatureValues() .setPermissions(permissions) .setExpiryTime(expiryTime) @@ -208,7 +206,7 @@ class QueueSASTests extends APISpec { sleepIfLive(30000) when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sasIdentifier = new QueueServiceSasSignatureValues() .setIdentifier(identifier.getId()) .setQueueName(queueClient.getQueueName()) @@ -244,7 +242,7 @@ class QueueSASTests extends APISpec { def expiryTime = namer.getUtcNow().plusDays(1) when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sas = new AccountSasSignatureValues() .setServices(service.toString()) .setResourceTypes(resourceType.toString()) @@ -282,7 +280,7 @@ class QueueSASTests extends APISpec { def expiryTime = namer.getUtcNow().plusDays(1) when: - def credential = StorageSharedKeyCredential.fromConnectionString(env.primaryAccount.connectionString) + def credential = StorageSharedKeyCredential.fromConnectionString(environment.primaryAccount.connectionString) def sas = new AccountSasSignatureValues() .setServices(service.toString()) .setResourceTypes(resourceType.toString()) @@ -323,7 +321,7 @@ class QueueSASTests extends APISpec { .setResourceTypes(resourceType.toString()) .setPermissions(permissions) .setExpiryTime(expiryTime) - .generateSasQueryParameters(env.primaryAccount.credential) + .generateSasQueryParameters(environment.primaryAccount.credential) .encode() def queueName = namer.getRandomName(60) diff --git a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSasClientTests.groovy b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSasClientTests.groovy index 17e2f41b59ea5..ee7e7bc5619df 100644 --- a/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSasClientTests.groovy +++ b/sdk/storage/azure-storage-queue/src/test/java/com/azure/storage/queue/QueueSasClientTests.groovy @@ -201,12 +201,12 @@ class QueueSasClientTests extends APISpec { */ def "Remember about string to sign deprecation"() { setup: - def client = queueBuilderHelper().credential(env.primaryAccount.credential).buildClient() + def client = queueBuilderHelper().credential(environment.primaryAccount.credential).buildClient() def values = new QueueServiceSasSignatureValues(namer.getUtcNow(), new QueueSasPermission()) values.setQueueName(client.getQueueName()) when: - def deprecatedStringToSign = values.generateSasQueryParameters(env.primaryAccount.credential).encode() + def deprecatedStringToSign = values.generateSasQueryParameters(environment.primaryAccount.credential).encode() def stringToSign = client.generateSas(values) then: diff --git a/sdk/storage/ci.yml b/sdk/storage/ci.yml index fd81a12570934..3b0860985fb35 100644 --- a/sdk/storage/ci.yml +++ b/sdk/storage/ci.yml @@ -107,3 +107,9 @@ extends: AdditionalModules: - name: azure-storage-perf groupId: com.azure + MatrixConfigs: + - Name: Storage_ci + Path: sdk/storage/platform-matrix-ci.json + Selection: sparse + NonSparseParameters: Agent + GenerateVMJobs: true diff --git a/sdk/storage/microsoft-azure-storage-blob/pom.xml b/sdk/storage/microsoft-azure-storage-blob/pom.xml index 922faf324d924..c626fc245ccc1 100644 --- a/sdk/storage/microsoft-azure-storage-blob/pom.xml +++ b/sdk/storage/microsoft-azure-storage-blob/pom.xml @@ -73,13 +73,6 @@ test - - org.spockframework - spock-core - 1.3-groovy-2.5 - test - - cglib cglib-nodep @@ -94,37 +87,139 @@ test + + com.azure + azure-core-test + 1.7.2 + test + + + + com.azure + azure-storage-common + 12.14.0-beta.1 + tests + test-jar + test + + src/main/java src/test/java - + + + + java8 + + [1.8,9) + + + + org.spockframework + spock-core + 2.0-M4-groovy-2.5 + test + + + - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + - groovy-eclipse-compiler - -Xlint:unchecked - 1.8 - 1.8 - true + groovy-eclipse-compiler + + -warn:-unused + - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.4.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - 2.5.8-01 - - - + + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.4.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + 2.5.8-01 + + + - + + + + java9plus + + [9,) + + + + org.spockframework + spock-core + 2.0-groovy-3.0 + test + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.13.0 + + + + addTestSources + generateTestStubs + compileTests + removeTestStubs + + + + + + + ${project.basedir}/src/test + + **/*.groovy + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + default-testCompile + process-test-sources + + testCompile + + + false + + + + + + + + diff --git a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/APISpec.groovy b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/APISpec.groovy index dadf1b3b9247d..413196192d11b 100644 --- a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/APISpec.groovy +++ b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/APISpec.groovy @@ -3,6 +3,7 @@ package com.microsoft.azure.storage +import com.azure.storage.common.test.shared.extensions.LiveOnly import com.microsoft.aad.adal4j.AuthenticationContext import com.microsoft.aad.adal4j.ClientCredential import com.microsoft.azure.storage.blob.* @@ -15,6 +16,8 @@ import io.reactivex.Flowable import io.reactivex.Single import org.junit.Assume import org.spockframework.lang.ISpecificationContext +import org.spockframework.runtime.model.parallel.ExecutionMode +import spock.lang.Execution import spock.lang.Shared import spock.lang.Specification @@ -22,15 +25,16 @@ import java.nio.ByteBuffer import java.time.OffsetDateTime import java.util.concurrent.Executors +@Execution(ExecutionMode.SAME_THREAD) +@LiveOnly class APISpec extends Specification { static final String RECORD_MODE = "RECORD" + static final String LIVE_MODE = "LIVE" - @Shared Integer iterationNo = 0 // Used to generate stable container names for recording tests with multiple iterations. Integer entityNo = 0 // Used to generate stable container names for recording tests requiring multiple containers. - @Shared ContainerURL cu // Fields used for conveniently creating blobs with data. @@ -296,12 +300,14 @@ class APISpec extends Specification { } def cleanupSpec() { - Assume.assumeTrue("The test only runs in Live mode.", getTestMode().equalsIgnoreCase(RECORD_MODE)) + Assume.assumeTrue("The test only runs in Live mode.", + getTestMode().equalsIgnoreCase(RECORD_MODE) || getTestMode().equalsIgnoreCase(LIVE_MODE)) cleanupContainers() } def setup() { - Assume.assumeTrue("The test only runs in Live mode.", getTestMode().equalsIgnoreCase(RECORD_MODE)) + Assume.assumeTrue("The test only runs in Live mode.", + getTestMode().equalsIgnoreCase(RECORD_MODE) || getTestMode().equalsIgnoreCase(LIVE_MODE)) cu = primaryServiceURL.createContainerURL(generateContainerName()) cu.create(null, null, null).blockingGet() } diff --git a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/Samples.java b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/Samples.java index ce4b105696bbe..5d140c5f7b30c 100644 --- a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/Samples.java +++ b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/Samples.java @@ -102,7 +102,8 @@ void checkMode() { if (testMode == null) { testMode = PLAYBACK_MODE; } - Assume.assumeTrue("The test only runs in Live mode.", testMode.equalsIgnoreCase("RECORD")); + Assume.assumeTrue("The test only runs in Live mode.", + testMode.equalsIgnoreCase("RECORD") || testMode.equalsIgnoreCase("LIVE")); } public static Single createContainerIfNotExists(ContainerURL containerURL) { diff --git a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/ServiceAPITest.groovy b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/ServiceAPITest.groovy index 649c6600eddac..5f3f6f368292c 100644 --- a/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/ServiceAPITest.groovy +++ b/sdk/storage/microsoft-azure-storage-blob/src/test/java/com/microsoft/azure/storage/ServiceAPITest.groovy @@ -28,7 +28,8 @@ class ServiceAPITest extends APISpec { } def cleanup() { - Assume.assumeTrue("The test only runs in Live mode.", testMode.equalsIgnoreCase("RECORD")); + Assume.assumeTrue("The test only runs in Live mode.", + testMode.equalsIgnoreCase("RECORD") || testMode.equalsIgnoreCase("LIVE")); RetentionPolicy disabled = new RetentionPolicy().withEnabled(false) primaryServiceURL.setProperties(new StorageServiceProperties() .withStaticWebsite(new StaticWebsite().withEnabled(false)) diff --git a/sdk/storage/microsoft-azure-storage-blob/tests.yml b/sdk/storage/microsoft-azure-storage-blob/tests.yml deleted file mode 100644 index ed4223936edc4..0000000000000 --- a/sdk/storage/microsoft-azure-storage-blob/tests.yml +++ /dev/null @@ -1,18 +0,0 @@ -trigger: none - -stages: - # When migrating change path to /eng/pipelines/templates/stages/archetype-sdk-tests.yml - - template: /eng/pipelines/templates/jobs/archetype-sdk-tests-pre-sdk.yml - parameters: - # When migrating use ServiceDirectory - PomFilePath: './storage/data-plane/pom.xml' - EnvVars: - MICROSOFT_AD_TENANT_ID: $(microsoft-active-directory-tenant-id) - PRIMARY_STORAGE_ACCOUNT_NAME: $(java-storage-test-primary-account-name) - PRIMARY_STORAGE_ACCOUNT_KEY: $(java-storage-test-primary-account-key) - SECONDARY_STORAGE_ACCOUNT_NAME: $(java-storage-test-secondary-account-name) - SECONDARY_STORAGE_ACCOUNT_KEY: $(java-storage-test-secondary-account-key) - BLOB_STORAGE_ACCOUNT_NAME: $(java-storage-test-blob-account-name) - BLOB_STORAGE_ACCOUNT_KEY: $(java-storage-test-blob-account-key) - PREMIUM_STORAGE_ACCOUNT_NAME: $(java-storage-test-premium-account-name) - PREMIUM_STORAGE_ACCOUNT_KEY: $(java-storage-test-premium-account-key) diff --git a/sdk/storage/microsoft-azure-storage-perf/pom.xml b/sdk/storage/microsoft-azure-storage-perf/pom.xml index 7877076a3358e..b5a5ffb4e87a5 100644 --- a/sdk/storage/microsoft-azure-storage-perf/pom.xml +++ b/sdk/storage/microsoft-azure-storage-perf/pom.xml @@ -26,7 +26,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.4 + 2.12.5 @@ -75,7 +75,7 @@ com.microsoft.azure:azure-storage:[8.6.5] - com.fasterxml.jackson.core:jackson-databind:[2.12.4] + com.fasterxml.jackson.core:jackson-databind:[2.12.5] diff --git a/sdk/storage/platform-matrix-ci.json b/sdk/storage/platform-matrix-ci.json new file mode 100644 index 0000000000000..fbd91446aacef --- /dev/null +++ b/sdk/storage/platform-matrix-ci.json @@ -0,0 +1,14 @@ +{ + "matrix": { + "$IMPORT": "eng/pipelines/templates/stages/platform-matrix.json" + }, + "include": [ + { + "Agent": { "windows-2019": { "OSVmImage": "MMS2019", "Pool": "azsdk-pool-mms-win-2019-general" } }, + "JavaTestVersion": "1.17", + "AZURE_TEST_HTTP_CLIENTS": "netty", + "TestGoals": "surefire:test", + "TestOptions": "" + } + ] +} diff --git a/sdk/storage/platform-matrix.json b/sdk/storage/platform-matrix.json index aa3262bb6605c..ab26652d6f1d7 100644 --- a/sdk/storage/platform-matrix.json +++ b/sdk/storage/platform-matrix.json @@ -16,6 +16,11 @@ "JavaTestVersion": "1.11", "AZURE_TEST_HTTP_CLIENTS": "okhttp" }, + { + "Agent": { "windows-2019": { "OSVmImage": "MMS2019", "Pool": "azsdk-pool-mms-win-2019-general" } }, + "JavaTestVersion": "1.17", + "AZURE_TEST_HTTP_CLIENTS": "netty" + }, { "Agent": { "ubuntu-20.04": { "OSVmImage": "MMSUbuntu20.04", "Pool": "azsdk-pool-mms-ubuntu-2004-general" } diff --git a/sdk/storage/tests-template.yml b/sdk/storage/tests-template.yml new file mode 100644 index 0000000000000..31dccc49a35e6 --- /dev/null +++ b/sdk/storage/tests-template.yml @@ -0,0 +1,112 @@ +parameters: + - name: AdditionalMatrixReplace + type: object + default: [] + +stages: + - template: /eng/pipelines/templates/stages/archetype-sdk-tests.yml + parameters: + ServiceDirectory: storage + Artifacts: + - name: azure-storage-common + groupId: com.azure + safeName: azurestoragecommon + - name: azure-storage-blob + groupId: com.azure + safeName: azurestorageblob + - name: azure-storage-blob-batch + groupId: com.azure + safeName: azurestorageblobbatch + - name: azure-storage-blob-changefeed + groupId: com.azure + safeName: azurestorageblobchangefeed + - name: azure-storage-blob-cryptography + groupId: com.azure + safeName: azurestorageblobcryptography + - name: azure-storage-blob-nio + groupId: com.azure + safeName: azurestorageblobnio + - name: azure-storage-file-share + groupId: com.azure + safeName: azurestoragefileshare + - name: azure-storage-file-datalake + groupId: com.azure + safeName: azurestoragefiledatalake + - name: azure-storage-internal-avro + groupId: com.azure + safeName: azurestorageinternalavro + - name: azure-storage-queue + groupId: com.azure + safeName: azurestoragequeue + AdditionalModules: + - name: perf-test-core + groupId: com.azure + - name: azure-storage-perf + groupId: com.azure + TestMode: 'LIVE' + TimeoutInMinutes: 60 + Location: canadacentral + CloudConfig: + Preview: + SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview) + PrivatePreview: + SubscriptionConfiguration: $(sub-config-storage-test-resources) + Clouds: Preview + SupportedClouds: Preview + TestStepMavenInputs: + options: '$(DefaultTestOptions) $(AdditionalOptions) -T 1C' + mavenOptions: '$(DefaultTestMavenOptions)' + MatrixReplace: + # Use dedicated storage pool in canadacentral with higher memory capacity + - Pool=(.*)-general/$1-storage + - ${{ each additionalReplace in parameters.AdditionalMatrixReplace }}: + - ${{ additionalReplace }} + MatrixConfigs: + - ${{ if contains(variables['Build.DefinitionName'], 'tests-weekly') }}: + - Name: Storage_all_versions_live_test + Path: sdk/storage/platform-matrix-all-versions.json + Selection: sparse + GenerateVMJobs: true + - ${{ if not(contains(variables['Build.DefinitionName'], 'tests-weekly')) }}: + - Name: Storage_live_test + Path: sdk/storage/platform-matrix.json + Selection: sparse + GenerateVMJobs: true + PreSteps: + - template: /sdk/storage/tests-install-azurite.yml + PostSteps: + - task: PowerShell@2 + displayName: 'Run Stress Scenarios' + inputs: + targetType: 'filePath' + filePath: sdk/storage/azure-storage-perf/memory-stress-scenarios.ps1 + env: + ${{ if eq(variables['JavaTestVersion'], '1.11') }}: + JAVA_HOME: $(JAVA_HOME_11_X64) + ${{ if eq(variables['JavaTestVersion'], '1.8') }}: + JAVA_HOME: $(JAVA_HOME_8_X64) + condition: and(succeeded(), eq(variables['StorageRunStressScenarios'], 'true')) + - pwsh: | + New-Item $(Build.ArtifactStagingDirectory)/test-logs -ItemType directory + Copy-Item sdk/storage/azure-storage-blob/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-blob-batch/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-batch-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-blob-changefeed/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-changefeed-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-blob-cryptography/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-cryptography-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-blob-nio/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-nio-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-common/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-common-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-file-datalake/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-file-datalake-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-file-share/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-file-share-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-internal-avro/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-internal-avro-test.log -ErrorAction SilentlyContinue + Copy-Item sdk/storage/azure-storage-queue/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-queue-test.log -ErrorAction SilentlyContinue + displayName: 'Copy test logs to artifact staging' + condition: always() + - publish: $(Build.ArtifactStagingDirectory)/test-logs + displayName: 'Publish test logs' + artifact: test-log-$(System.StageName)-$(System.JobName)-$(System.JobAttempt) + condition: always() + EnvVars: + AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) + AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) + AZURE_CLIENT_SECRET: $(aad-azure-sdk-test-client-secret) + VERSIONED_STORAGE_ACCOUNT_NAME: $(java-storage-versioned-account-name) + VERSIONED_STORAGE_ACCOUNT_KEY: $(java-storage-versioned-account-key) diff --git a/sdk/storage/tests.yml b/sdk/storage/tests.yml index a8a46fbf99c96..8b6badb2cc742 100644 --- a/sdk/storage/tests.yml +++ b/sdk/storage/tests.yml @@ -1,108 +1,4 @@ trigger: none stages: - - template: /eng/pipelines/templates/stages/archetype-sdk-tests.yml - parameters: - ServiceDirectory: storage - Artifacts: - - name: azure-storage-common - groupId: com.azure - safeName: azurestoragecommon - - name: azure-storage-blob - groupId: com.azure - safeName: azurestorageblob - - name: azure-storage-blob-batch - groupId: com.azure - safeName: azurestorageblobbatch - - name: azure-storage-blob-changefeed - groupId: com.azure - safeName: azurestorageblobchangefeed - - name: azure-storage-blob-cryptography - groupId: com.azure - safeName: azurestorageblobcryptography - - name: azure-storage-blob-nio - groupId: com.azure - safeName: azurestorageblobnio - - name: azure-storage-file-share - groupId: com.azure - safeName: azurestoragefileshare - - name: azure-storage-file-datalake - groupId: com.azure - safeName: azurestoragefiledatalake - - name: azure-storage-internal-avro - groupId: com.azure - safeName: azurestorageinternalavro - - name: azure-storage-queue - groupId: com.azure - safeName: azurestoragequeue - AdditionalModules: - - name: perf-test-core - groupId: com.azure - - name: azure-storage-perf - groupId: com.azure - TestMode: 'LIVE' - TimeoutInMinutes: 60 - Location: canadacentral - CloudConfig: - Preview: - SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview) - PrivatePreview: - SubscriptionConfiguration: $(sub-config-storage-test-resources) - Clouds: Preview - SupportedClouds: Preview - TestStepMavenInputs: - options: '$(DefaultTestOptions) $(AdditionalOptions) -T 1C' - mavenOptions: '$(DefaultTestMavenOptions)' - MatrixReplace: - # Use dedicated storage pool in canadacentral with higher memory capacity - - Pool=(.*)-general/$1-storage - MatrixConfigs: - - ${{ if contains(variables['Build.DefinitionName'], 'tests-weekly') }}: - - Name: Storage_all_versions_live_test - Path: sdk/storage/platform-matrix-all-versions.json - Selection: sparse - GenerateVMJobs: true - - ${{ if not(contains(variables['Build.DefinitionName'], 'tests-weekly')) }}: - - Name: Storage_live_test - Path: sdk/storage/platform-matrix.json - Selection: sparse - GenerateVMJobs: true - PreSteps: - - template: /sdk/storage/tests-install-azurite.yml - PostSteps: - - task: PowerShell@2 - displayName: 'Run Stress Scenarios' - inputs: - targetType: 'filePath' - filePath: sdk/storage/azure-storage-perf/memory-stress-scenarios.ps1 - env: - ${{ if eq(variables['JavaTestVersion'], '1.11') }}: - JAVA_HOME: $(JAVA_HOME_11_X64) - ${{ if eq(variables['JavaTestVersion'], '1.8') }}: - JAVA_HOME: $(JAVA_HOME_8_X64) - condition: and(succeeded(), eq(variables['StorageRunStressScenarios'], 'true')) - - pwsh: | - New-Item $(Build.ArtifactStagingDirectory)/test-logs -ItemType directory - Copy-Item sdk/storage/azure-storage-blob/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-blob-batch/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-batch-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-blob-changefeed/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-changefeed-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-blob-cryptography/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-cryptography-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-blob-nio/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-blob-nio-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-common/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-common-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-file-datalake/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-file-datalake-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-file-share/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-file-share-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-internal-avro/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-internal-avro-test.log -ErrorAction SilentlyContinue - Copy-Item sdk/storage/azure-storage-queue/target/test.log $(Build.ArtifactStagingDirectory)/test-logs/azure-storage-queue-test.log -ErrorAction SilentlyContinue - displayName: 'Copy test logs to artifact staging' - condition: always() - - publish: $(Build.ArtifactStagingDirectory)/test-logs - displayName: 'Publish test logs' - artifact: test-log-$(System.StageName)-$(System.JobName)-$(System.JobAttempt) - condition: always() - EnvVars: - AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) - AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) - AZURE_CLIENT_SECRET: $(aad-azure-sdk-test-client-secret) - VERSIONED_STORAGE_ACCOUNT_NAME: $(java-storage-versioned-account-name) - VERSIONED_STORAGE_ACCOUNT_KEY: $(java-storage-versioned-account-key) - + - template: /sdk/storage/tests-template.yml diff --git a/sdk/storagecache/azure-resourcemanager-storagecache/pom.xml b/sdk/storagecache/azure-resourcemanager-storagecache/pom.xml index 8e3e9fd74b7b3..bc65ebacc29f1 100644 --- a/sdk/storagecache/azure-resourcemanager-storagecache/pom.xml +++ b/sdk/storagecache/azure-resourcemanager-storagecache/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/storageimportexport/azure-resourcemanager-storageimportexport/pom.xml b/sdk/storageimportexport/azure-resourcemanager-storageimportexport/pom.xml index 42793ebf2249d..af04086ec4f7a 100644 --- a/sdk/storageimportexport/azure-resourcemanager-storageimportexport/pom.xml +++ b/sdk/storageimportexport/azure-resourcemanager-storageimportexport/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/streamanalytics/azure-resourcemanager-streamanalytics/pom.xml b/sdk/streamanalytics/azure-resourcemanager-streamanalytics/pom.xml index 14f41bff80536..c5b3209c813dc 100644 --- a/sdk/streamanalytics/azure-resourcemanager-streamanalytics/pom.xml +++ b/sdk/streamanalytics/azure-resourcemanager-streamanalytics/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/subscription/azure-resourcemanager-subscription/pom.xml b/sdk/subscription/azure-resourcemanager-subscription/pom.xml index e8adee72d17f3..5e53135c67d77 100644 --- a/sdk/subscription/azure-resourcemanager-subscription/pom.xml +++ b/sdk/subscription/azure-resourcemanager-subscription/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/support/azure-resourcemanager-support/pom.xml b/sdk/support/azure-resourcemanager-support/pom.xml index 2328c81d94092..b10879d6e4581 100644 --- a/sdk/support/azure-resourcemanager-support/pom.xml +++ b/sdk/support/azure-resourcemanager-support/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/synapse/azure-analytics-synapse-accesscontrol/pom.xml b/sdk/synapse/azure-analytics-synapse-accesscontrol/pom.xml index ae32f1878faa4..59c0a69257c54 100644 --- a/sdk/synapse/azure-analytics-synapse-accesscontrol/pom.xml +++ b/sdk/synapse/azure-analytics-synapse-accesscontrol/pom.xml @@ -41,25 +41,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/synapse/azure-analytics-synapse-artifacts/pom.xml b/sdk/synapse/azure-analytics-synapse-artifacts/pom.xml index 6b12a01fddc94..f0927824733cf 100644 --- a/sdk/synapse/azure-analytics-synapse-artifacts/pom.xml +++ b/sdk/synapse/azure-analytics-synapse-artifacts/pom.xml @@ -41,25 +41,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/synapse/azure-analytics-synapse-managedprivateendpoints/pom.xml b/sdk/synapse/azure-analytics-synapse-managedprivateendpoints/pom.xml index f9401acad3733..1598dbfc4fffd 100644 --- a/sdk/synapse/azure-analytics-synapse-managedprivateendpoints/pom.xml +++ b/sdk/synapse/azure-analytics-synapse-managedprivateendpoints/pom.xml @@ -41,25 +41,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/synapse/azure-analytics-synapse-monitoring/pom.xml b/sdk/synapse/azure-analytics-synapse-monitoring/pom.xml index 1ad7f198c461c..07f17a551ae02 100644 --- a/sdk/synapse/azure-analytics-synapse-monitoring/pom.xml +++ b/sdk/synapse/azure-analytics-synapse-monitoring/pom.xml @@ -41,25 +41,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/synapse/azure-analytics-synapse-spark/pom.xml b/sdk/synapse/azure-analytics-synapse-spark/pom.xml index 9f95806c5ef4c..9e409379f5307 100644 --- a/sdk/synapse/azure-analytics-synapse-spark/pom.xml +++ b/sdk/synapse/azure-analytics-synapse-spark/pom.xml @@ -41,25 +41,25 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.azure azure-core-test - 1.7.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/synapse/azure-resourcemanager-synapse/pom.xml b/sdk/synapse/azure-resourcemanager-synapse/pom.xml index a288352318b67..52394cee93f9c 100644 --- a/sdk/synapse/azure-resourcemanager-synapse/pom.xml +++ b/sdk/synapse/azure-resourcemanager-synapse/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/tables/azure-data-tables-perf/pom.xml b/sdk/tables/azure-data-tables-perf/pom.xml index 703501fb92b5f..36840d0abf3ce 100644 --- a/sdk/tables/azure-data-tables-perf/pom.xml +++ b/sdk/tables/azure-data-tables-perf/pom.xml @@ -32,7 +32,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 com.azure diff --git a/sdk/tables/azure-data-tables/pom.xml b/sdk/tables/azure-data-tables/pom.xml index 93e15b23f2610..b635561459be2 100644 --- a/sdk/tables/azure-data-tables/pom.xml +++ b/sdk/tables/azure-data-tables/pom.xml @@ -46,12 +46,12 @@ Licensed under the MIT License. com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 org.junit.jupiter @@ -74,13 +74,13 @@ Licensed under the MIT License. io.projectreactor reactor-test - 3.4.9 + 3.4.10 test com.azure azure-core-test - 1.7.1 + 1.7.2 test diff --git a/sdk/template/azure-sdk-template/pom.xml b/sdk/template/azure-sdk-template/pom.xml index de38461c8d06c..7d542b727bb7e 100644 --- a/sdk/template/azure-sdk-template/pom.xml +++ b/sdk/template/azure-sdk-template/pom.xml @@ -41,7 +41,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 org.junit.jupiter diff --git a/sdk/textanalytics/azure-ai-textanalytics/pom.xml b/sdk/textanalytics/azure-ai-textanalytics/pom.xml index 4efc47eb7b870..430b13c3b9084 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/pom.xml +++ b/sdk/textanalytics/azure-ai-textanalytics/pom.xml @@ -45,12 +45,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 + 1.7.2 test com.azure azure-core-http-okhttp - 1.7.3 + 1.7.4 test diff --git a/sdk/timeseriesinsights/azure-resourcemanager-timeseriesinsights/pom.xml b/sdk/timeseriesinsights/azure-resourcemanager-timeseriesinsights/pom.xml index ee0defa0fa48d..b491af76f013b 100644 --- a/sdk/timeseriesinsights/azure-resourcemanager-timeseriesinsights/pom.xml +++ b/sdk/timeseriesinsights/azure-resourcemanager-timeseriesinsights/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/translation/azure-ai-documenttranslator/pom.xml b/sdk/translation/azure-ai-documenttranslator/pom.xml index c76ba51285d24..3e772c49cfffe 100644 --- a/sdk/translation/azure-ai-documenttranslator/pom.xml +++ b/sdk/translation/azure-ai-documenttranslator/pom.xml @@ -41,17 +41,17 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-experimental - 1.0.0-beta.18 + 1.0.0-beta.19 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 @@ -76,7 +76,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -100,7 +100,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/videoanalyzer/azure-media-videoanalyzer-edge/pom.xml b/sdk/videoanalyzer/azure-media-videoanalyzer-edge/pom.xml index 5368e3253c718..65753911288c2 100644 --- a/sdk/videoanalyzer/azure-media-videoanalyzer-edge/pom.xml +++ b/sdk/videoanalyzer/azure-media-videoanalyzer-edge/pom.xml @@ -35,7 +35,7 @@ com.azure azure-core - 1.20.0 + 1.21.0 org.junit.jupiter @@ -58,7 +58,7 @@ com.azure azure-core-serializer-json-jackson - 1.2.7 + 1.2.8 test diff --git a/sdk/videoanalyzer/azure-resourcemanager-videoanalyzer/pom.xml b/sdk/videoanalyzer/azure-resourcemanager-videoanalyzer/pom.xml index 89ae3eff419f2..b4ac2991b1911 100644 --- a/sdk/videoanalyzer/azure-resourcemanager-videoanalyzer/pom.xml +++ b/sdk/videoanalyzer/azure-resourcemanager-videoanalyzer/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/vmwarecloudsimple/azure-resourcemanager-vmwarecloudsimple/pom.xml b/sdk/vmwarecloudsimple/azure-resourcemanager-vmwarecloudsimple/pom.xml index f334463a0005e..5bbf8c9bd3c2b 100644 --- a/sdk/vmwarecloudsimple/azure-resourcemanager-vmwarecloudsimple/pom.xml +++ b/sdk/vmwarecloudsimple/azure-resourcemanager-vmwarecloudsimple/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2 diff --git a/sdk/webpubsub/azure-messaging-webpubsub/pom.xml b/sdk/webpubsub/azure-messaging-webpubsub/pom.xml index c4fae2e4059eb..9d87c2481ea52 100644 --- a/sdk/webpubsub/azure-messaging-webpubsub/pom.xml +++ b/sdk/webpubsub/azure-messaging-webpubsub/pom.xml @@ -46,12 +46,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-http-netty - 1.11.0 + 1.11.1 com.nimbusds @@ -63,7 +63,7 @@ com.azure azure-core-test - 1.7.1 + 1.7.2 test @@ -93,7 +93,7 @@ io.projectreactor reactor-test - 3.4.9 + 3.4.10 test diff --git a/sdk/webpubsub/azure-resourcemanager-webpubsub/pom.xml b/sdk/webpubsub/azure-resourcemanager-webpubsub/pom.xml index 503a83307cd56..878809b568be6 100644 --- a/sdk/webpubsub/azure-resourcemanager-webpubsub/pom.xml +++ b/sdk/webpubsub/azure-resourcemanager-webpubsub/pom.xml @@ -44,12 +44,12 @@ com.azure azure-core - 1.20.0 + 1.21.0 com.azure azure-core-management - 1.4.1 + 1.4.2